Bug#774068: ExtUtils-MakeMaker and NO_PERLLOCAL

Niko Tyni ntyni at debian.org
Tue Dec 30 12:17:51 UTC 2014


On Tue, Dec 30, 2014 at 10:27:44AM +0000, Andrew Beverley wrote:
> On Tue, 2014-12-30 at 11:47 +0200, Niko Tyni wrote:

> > Packages not using the short form dh rules would need to be modified
> > before the patch could be removed. The required steps would be something
> > like
> >  1) change the Perl policy to recommend NO_PACKLIST + NO_PERLLOCAL
> >  2) change debhelper v9 to use them
> >  3) add a lintian check and/or do a mass bug filing for the other packages
> >  4) wait for (most of) the packages to be fixed
> 
> Just to clarify, is this needed because some packages don't use
> debhelper? Presumably once debhelper is changed, there is no need to fix
> packages that are built using it?

The "old" way to use debhelper was to call the dh_* commands
explicitly from debian/rules, and such packages invoked Makefile.PL
directly. This common logic was refactorized into debhelper itself
with version 9, which introduced the 'dh' command.

So there are a lot of packages in Debian still using the old style,
and probably quite a few maintainers that prefer it to the new one
and aren't planning to change at all.

Some Perl package examples that I happen to have around would be
 libapt-pkg-perl
 libberkeleydb-perl
 libpoe-component-server-http-perl

Also, cdbs would need changing too. It has the same logic somewhere
around /usr/share/cdbs/1/class/perl-makemaker-vars.mk .

Then there are some non-CPAN projects that ship things like Perl bindings
as part of the source, and use EU::MM to manage those. The Debian
packaging of those usually either invokes Makefile.PL from debian/rules
or lets the upstream build system do that, possibly patching it slightly.
Some examples would be
 collectd
 ftpmirror
 icheck
 wml

> Incidentally, I have just found this, which could be closed as well if
> the above are completed.
> 
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683533

Right, that's the same issue. Thanks for spotting.
 
> > A champion for this (and also for finishing the PREFIX transition)
> > would be very welcome.
> 
> Happy to volunteer, but I'm quite new to all of this, so may need a
> little assistance.

Thanks! Let's wait a bit for other opinions before starting out.

I see NO_PERLLOCAL and NO_PACKLIST were added in EU::MM quite recently,
in 2013 (6.75_01, first bundled with Perl 5.19.4.)  It clearly makes
sense to make dh and cdbs use those. Whether it's feasible to get the
perl patch removed depends on how many other packages would need changing,
so we'd need an estimate on that.

A straightforward, if a bit laborious, way to get such an estimate would
be to test rebuild the archive with the perl patch removed, and with
"fixed" dh and cdbs packages, and just diffing the package contents.
-- 
Niko Tyni   ntyni at debian.org



More information about the pkg-perl-maintainers mailing list