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

Bug#579461: debian-policy: perl: ExtUtils::MakeMaker and PREFIX



Package: debian-policy
Version: 3.8.4.0
Severity: wishlist

The Perl policy currently recommends that packaged modules should use 
     $(MAKE) install PREFIX=$(CURDIR)/debian/<tmp>/usr
to install the files into a temporary tree.

However, as seen in #545904, overriding PREFIX is only working because
of a Debian-specific patch to ExtUtils::MakeMaker that has been obsolete
since 2002 when upstream added support for DESTDIR.

I would like to see all the packages use DESTDIR so that the patch
could be removed. As a first step, lintian was recently changed to warn
about overriding PREFIX. See #568748 and 
  http://lintian.debian.org/tags/debian-rules-makemaker-prefix-is-deprecated.html

Since nobody apparently remembered the Perl policy recommendation
(I know I didn't), we now have lintian contradicting the policy.

Proposed wording change:

diff --git a/perl-policy.sgml b/perl-policy.sgml
index 1d26df7..b43b7ad 100644
--- a/perl-policy.sgml
+++ b/perl-policy.sgml
@@ -313,7 +313,7 @@ $(MAKE) OPTIMIZE="-O2 -g -Wall"
 	  </example>
 	  and this one to install the results into the temporary tree:
 	  <example>
-$(MAKE) install PREFIX=$(CURDIR)/debian/&lt;tmp&gt;/usr
+$(MAKE) install DESTDIR=$(CURDIR)/debian/&lt;tmp&gt;
 	  </example><footnote>
 	    <p>Replace &lt;tmp&gt; with the appropriate directory
 	    (nominally just tmp)</p>

For reference, dh_auto_install in debhelper currently does something like
     $(MAKE) install DESTDIR=$(CURDIR)/debian/<tmp> PREFIX=/usr
but PREFIX=/usr is the default anyway with INSTALLDIRS=vendor.
-- 
Niko Tyni   ntyni@debian.org



Reply to: