[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#930980: libcrypt-openssl-dsa-perl FTCBFS: configures and builds for the wrong architecture



On Mon, 24 Jun 2019 22:37:49 +0200, Helmut Grohne wrote:

> > While I like to support improving crossbuildability, I have the
> > impression that the issue you address in these 2 patches affects
> > hundreds of packages, and that adding boilerplate code to all
> > debian/rules files is the wrong approach (and doesn't scale). I guess
> > this needs to be tackled at a deeper level, probably the two perl
> > buildsystems in debhelper.
> I fully agree. I've spared lib*-perl packages thus far, because I think
> that they should be fixed at the tooling layer, 

Great.

> > | implement debhelper support for cross building XS module packages?
> > | 	effectively make debhelper run 'perl -I /usr/lib/<arch>/perl/cross-config-5.28.1 Makefile.PL' when it detects a cross build
> > 
> > which points in the same direction. And I'm sure Niko can add more on
> > this topic than I :)
> 
> This is quite precisely the information I was missing thus far. I think
> the major question now is: Who wants to turn this into a debhelper
> patch? The second question is: Why do we need the perl version in that
> part? (Can it be renamed to something without the version?) If there is
> a reason: How do we compute the correct version?

I guess the version is there because:
    % dpkg -S /usr/lib/x86_64-linux-gnu/perl/cross-config-5.28.1
    libperl5.28:amd64: /usr/lib/x86_64-linux-gnu/perl/cross-config-5.28.1
and libperl5.xx are meant to be co-installable.

If we only need the version of the currently running perl then that's
easy: Luckily debhelper is written in perl so we can just ask it,
e.g. with

#v+
#!/usr/bin/perl

use strict;
use warnings;
use Config;

my $perlversion = $Config{'version'};
print "$perlversion\n";
#v-
 
> Can I use this opportunity to ask the Debian Perl Group for a favour? If
> you want to help with cross building, please annotate any Build-Depends
> that are only used for testing (i.e. droppable when
> DEB_BUILD_OPTIONS=nocheck) with "<!nocheck>". 

Yup, I've seen your bug reports, and they are on my TODO list for
post-buster.

And during the Sprint I worked on teaching dh-make-perl to
automatically add "<!nocheck>" to test dependencies. This is not
finished yet (i.e. it seems to work for new packages but only
partially for updating existing ones) but I guess we'll sort it out
:)

> As maintainers, you'll
> have a good intuition for which dependencies are candidates. 

For well-curated CPAN distributions that's actually simple, as the
META specification distinguishes between build requirements, test
requirements and runtime requirements.

> For
> reproducible packages, you can build once with DEB_BUILD_OPTIONS=nocheck
> DEB_BUILD_PROFILES=nocheck, then without these vars, and compare the
> binary packages to verify correctness of the annotations. Thank you for
> your support.

Thanks for these hints (I always tend to forget or confuse all those
variables).
 


Cheers,
gregor

-- 
 .''`.  https://info.comodo.priv.at -- Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
   `-   NP: Arlo Guthrie: Gypsy Davy

Attachment: signature.asc
Description: Digital Signature


Reply to: