[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?



Helmut Grohne:
> Hi Niko,
> 
> On Sun, Dec 15, 2019 at 08:34:47PM +0200, Niko Tyni wrote:
>> I don't understand. AFAICS if the interpreter needing the modules is
>> /usr/bin/perl, the perl:any dependency will pull in compatible standard
>> library extension modules: the perl -> perl-base dependency guarantees
>> perl will be the same arch as /usr/bin/perl, and the perl -> libperl5.30
>> dependency pulls in the modules for that architecture.
>>
>> If it's an embedded interpreter, a compatible set of those is already
>> shipped with the interpreter (in libperl5.30).
>>
>> So where's the problem here?
> 
> There is no problem. Thank you for the explanation.
> 
> Does that mean we can move forward with using perl:any for modules?
> 

Hi,

If you are in agreement over this, then I am happy to implement the change.

> I think the check in dh_perl line 142 should be changed from
> 
>     perlarch .= ':any' if $deps == PROGRAM and not $dh{V_FLAG_SET};
> 
> to
> 
>     perlarch .= ':any' if $deps & (PROGRAM|PM_MODULE) != 0 and not $dh{V_FLAG_SET};
> 
> Helmut
> 

Wouldn't that be:

    perlarch .= ':any' if ($deps & (~(PROGRAM|PM_MODULE))) == $deps \
        and not $dh{V_FLAG_SET};


If $deps contains any of XS_MODULE or ARCHDEP_MODULE, then I presume we
should use "perl" rather than "perl:any" - even if there is a perl
script/perl module.

Thanks,
~Niels


Reply to: