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

Re: Bug#946655: dh_perl: why is ${perl:Depends} substituted as perl:any for programs only?



On Thu, Dec 12, 2019 at 10:17:32PM +0100, Helmut Grohne wrote:
> Package: debhelper
> Version: 12.7.2
> Severity: wishlist
> Control: affects -1 + apache2-dev

> https://salsa.debian.org/debian/debhelper/commit/9bfbef9e66409cf29221f9fdc811c2b796e70d0a
> | dh_perl: Emit perl:any dependencies for program-only pkgs
> 
> That's the commit that adds :any only if the package contains
> exclusively programs. The commit fixes #824696, which was originally
> filed by Javier Serrano Polo and later commented by Niko Tyni:
> 
> | AFAICS wine*-tools depend on perl for running #!/usr/bin/perl scripts. In
> | that use case perl:any probably makes sense. However, ${perl:Depends} is
> | also used (and, as I suspect, much more widely) for Perl module package
> | (lib*-perl) dependencies, where things quickly get much more complicated.
> |
> | It seems to me that it might be safe for dh_perl to add the :any modifier
> | if the package only has #!/usr/bin/perl scripts?
> 
> Niko didn't give further reasons here, so Niels implemented it that way
> in debhelper.

Hi, you're right to question this. As I recall, Niels probably asked
me to check on that bug so I felt like a gatekeeper and wanted to stay
on the obviously safe side. Reading your reasoning now, "things quickly
get much more complicated" still seems spot on :)

> I outlined above that it is useful to ask this question, because it
> affects the installability of apache2-dev. Let me argue in favour of
> using perl:any for modules as well.

FWIW your mail was initially somewhat confusing to me because of
small terminology differences.  I think you're using 'perl modules'
for architecture independent, perl-only modules, and 'extensions' for
architecture dependent plugins, usually compiled from C or C++. I'd
call both of these 'perl modules', and my more specific names would
be something like 'pure perl modules' and 'extension perl modules'
(or 'XS perl modules').

Of course there's no right or wrong here, just wanted to make sure we're
talking about the same thing.

As for the actual question: your reasoning looks good to me as far as
I could follow it, and I don't object to changing dh_perl so that it
generates perl:any dependencies for pure perl module packages as well.
-- 
Niko


Reply to: