Bug#450642: dh-make-perl: Do not create a -1 Debian revision by default.

Hilko Bengen bengen at debian.org
Thu Nov 8 18:44:10 UTC 2007


Package: dh-make-perl
Version: 0.34
Severity: wishlist
Tags: patch

	$ dh-make-perl --cpan Acme::Drunk

prepares for me a changelog entry beginning with:

	libacme-drunk-perl (0.03-1) unstable; urgency=low

which is technically okay but lets users easily shoot themselves in
the foot when combining --cpan with --build or --install for
spontaneously building local packages: If a properly packaged
libacme-drunk-perl 0.03-1 makes its way into the Debian distribution,
it will not be installed over that locally-geneerated package. This
may lead to confusion due to unreproducable bugs if the official
packages differs substantially from the local one-shot package that
may have been forgotten about.

I know that the manpage comes with a warning:

	Using this program is no excuse for not reading the debian
	developer documentation, including the Debian policy, the
	perl policy, the packaging manual and so on.

... but many users don't. And many users won't actually look at
manpages when they have been given the simple "recipe" by someone such
as

	"You'd like to install Acme::Drunk? Just do 
        dh-make-perl --install --build Acme::Drunk and install the
        resulting .deb."

which certainly gets the job done, but not without the undesirable
side-effects mentioned above.

I propose to add something like -0local1 instead of -1 as the default
Debian revision (which of course can still be overridden using the
--version parameter). Using "experimental" as the default distribution
might be an additional sensible measure.

Cheers,
-Hilko

--- dh-make-perl-0.34.orig/dh-make-perl	2007-10-17 21:33:14.000000000 +0200
+++ dh-make-perl-0.34/dh-make-perl	2007-11-08 18:55:26.000000000 +0100
@@ -109,7 +109,7 @@
     # $version is the version from the perl module itself
     $version, 
     # $pkgversion is the resulting version of the package: User's
-    # --version=s or "$version-1"
+    # --version=s or "$version-0local1"
     $pkgversion, 
     $desc, $longdesc, $copyright, $author, $upsurl);
 my ($extrasfields, $extrapfields);
@@ -163,7 +163,7 @@
   $pkgname = $opts{packagename};
 }
 unless (defined $opts{version}) {
-	$pkgversion = $version . "-1";
+	$pkgversion = $version . "-0local1";
 } else {
 	$pkgversion = $opts{version};
 }
@@ -350,7 +350,7 @@
 		$archspec = $arch;
 	    }
 
-	$debname = "${pkgname}_$version-1_$archspec.deb";
+	$debname = "${pkgname}_$version-0local1_$archspec.deb";
 
 	system("dpkg -i $startdir/$debname") == 0
 		|| die "Cannot install package $startdir/$debname\n";


-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.22-2-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages dh-make-perl depends on:
ii  debhelper                     5.0.60     helper programs for debian/rules
ii  dpkg-dev                      1.14.7     package building tools for Debian
ii  fakeroot                      1.8.4      Gives a fake root environment
ii  libmodule-depends-perl        0.10-1     identify the dependencies of a dis
ii  libwww-mechanize-perl         1.30-2     Automate interaction with websites
ii  libyaml-perl                  0.62-1     YAML Ain't Markup Language (tm)
ii  make                          3.81-3     The GNU version of the "make" util
ii  perl                          5.8.8-11.1 Larry Wall's Practical Extraction 
ii  perl-modules [libpod-parser-p 5.8.8-11.1 Core Perl modules

Versions of packages dh-make-perl recommends:
ii  apt-file                      2.0.8.2    APT package searching utility -- c
ii  libmodule-build-perl          0.2808-0.2 Subclassable and make-independant 

-- no debconf information





More information about the pkg-perl-maintainers mailing list