Package: dh-make-perl Version: 0.20 Severity: normal Tags: patch
Some modules get descriptions with linefeeds in them - this fools dh-make-perl into making invalid debian/control-files (the Description field is not indented correctly). Please consider applying the attached patch or some other remedy. Thanks! An example is UNIVERSAL::isa: == = [EMAIL PROTECTED]:/usr/src/perl-modules$ dh-make-perl --build --cpan UNIVERSAL::isa CPAN: Storable loaded ok Going to read /home/asjo/.cpan/Metadata Database was generated on Tue, 31 Jan 2006 03:13:48 GMT CPAN: Digest::MD5 loaded ok CPAN: Compress::Zlib loaded ok Checksum for /home/asjo/.cpan/source/authors/id/N/NU/NUFFIN/UNIVERSAL-isa-0.05.tar.gz ok Scanning cache /home/asjo/.cpan/build for sizes UNIVERSAL-isa-0.05/ UNIVERSAL-isa-0.05/Build.PL UNIVERSAL-isa-0.05/lib/ UNIVERSAL-isa-0.05/lib/UNIVERSAL/ UNIVERSAL-isa-0.05/lib/UNIVERSAL/isa.pm UNIVERSAL-isa-0.05/Makefile.PL UNIVERSAL-isa-0.05/MANIFEST UNIVERSAL-isa-0.05/META.yml UNIVERSAL-isa-0.05/SIGNATURE UNIVERSAL-isa-0.05/t/ UNIVERSAL-isa-0.05/t/basic.t UNIVERSAL-isa-0.05/t/bugs.t Found: UNIVERSAL-isa 0.05 (libuniversal-isa-perl arch=all) Package does not provide a long description - Please fill it in manually. Using maintainer: Adam Sjøgren <[EMAIL PROTECTED]> Found docs: t/bugs.t Using rules: /usr/share/dh-make-perl/rules.Module-Build.noxs make: Entering directory `/usr/src/perl-modules/UNIVERSAL-isa-0.05' dh_testdir dh_testroot # Add commands to clean up after the build process here [ ! -f Build ] || /usr/bin/perl Build distclean dh_clean build-stamp install-stamp make: Leaving directory `/usr/src/perl-modules/UNIVERSAL-isa-0.05' make: Entering directory `/usr/src/perl-modules/UNIVERSAL-isa-0.05' dh_testdir # Add commands to compile the package here /usr/bin/perl Build.PL installdirs=vendor Checking whether your kit is complete... Looks good Creating new 'Build' script for 'UNIVERSAL-isa' version '0.05' OPTIMIZE="-Wall -O2 -g" /usr/bin/perl Build lib/UNIVERSAL/isa.pm -> blib/lib/UNIVERSAL/isa.pm Manifying blib/lib/UNIVERSAL/isa.pm -> blib/libdoc/UNIVERSAL::isa.3pm touch build-stamp dh_testdir dh_testroot dh_clean -k # Add commands to install the package into debian/ACKAGE_NAME here /usr/bin/perl Build test t/basic....ok t/bugs.....ok All tests successful. Files=2, Tests=19, 0 wallclock secs ( 0.13 cusr + 0.02 csys = 0.15 CPU) /usr/bin/perl Build install destdir=/usr/src/perl-modules/UNIVERSAL-isa-0.05/debian/libuniversal-isa-perl Installing /usr/src/perl-modules/UNIVERSAL-isa-0.05/debian/libuniversal-isa-perl/usr/share/perl5/UNIVERSAL/isa.pm Installing /usr/src/perl-modules/UNIVERSAL-isa-0.05/debian/libuniversal-isa-perl/usr/share/man/man3/UNIVERSAL::isa.3pm touch install-stamp dh_testdir dh_testroot dh_installdocs t/bugs.t dh_installchangelogs dh_perl dh_link dh_strip dh_compress dh_fixperms dh_installdeb dh_gencontrol dpkg-gencontrol: error: syntax error in control file debian/control at line 13: line with unknown format (not field-colon-value) dh_gencontrol: command returned error code 2304 make: *** [binary-indep] Error 1 make: Leaving directory `/usr/src/perl-modules/UNIVERSAL-isa-0.05' Cannot create deb package [EMAIL PROTECTED]:/usr/src/perl-modules$ cat UNIVERSAL-isa-0.05/debian/control Source: libuniversal-isa-perl Section: perl Priority: optional Build-Depends: debhelper (>= 4.0.2), libmodule-build-perl Build-Depends-Indep: perl (>= 5.8.0-7) Maintainer: Adam Sjøgren <[EMAIL PROTECTED]> Standards-Version: 3.6.1 Package: libuniversal-isa-perl Architecture: all Depends: ${perl:Depends}, ${misc:Depends}, Description: Hack around stupid module authors using UNIVERSAL::isa as a function when they shouldn't. Whenever you use UNIVERSAL/isa as a function, a kitten using Test::MockObject dies. Normally, the kittens would be helpless, but if they use UNIVERSAL::isa (the module whose docs you are reading), the kittens can live long and prosper. . This module replaces UNIVERSAL::isa with a version that makes sure that if it's called as a function on objects which override isa, isa will be called on those objects as a method. . In all other cases the real UNIVERSAL::isa is just called directly. . This description was automagically extracted from the module by dh-make-perl. [EMAIL PROTECTED]:/usr/src/perl-modules$ == = -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.14-asjo-p4 Locale: LANG=C, LC_CTYPE=da_DK (charmap=ISO-8859-1) Versions of packages dh-make-perl depends on: ii debhelper 5.0.22 helper programs for debian/rules ii dpkg-dev 1.13.13 package building tools for Debian ii fakeroot 1.5.6 Gives a fake root environment ii libmodule-depends-perl 0.10-1 identify the dependencies of a dis ii libyaml-perl 0.39-1 YAML Ain't Markup Language (tm) ii make 3.80+3.81.b4-1 The GNU version of the "make" util ii perl 5.8.7-10 Larry Wall's Practical Extraction ii perl-modules [libpod-pars 5.8.7-10 Core Perl modules Versions of packages dh-make-perl recommends: pn apt-file <none> (no description available) ii libmodule-build-perl 0.26-1 Subclassable and make-independant -- no debconf information
--- dh-make-perl.orig 2006-01-31 13:45:23.133438005 +0100 +++ dh-make-perl 2006-01-31 13:46:04.413068655 +0100 @@ -506,6 +506,8 @@ $my_desc =~ s/\n.*$//s; $desc = $my_desc; } + # Replace linefeeds (not followed by a space) in $desc with spaces: + $desc=~s/\n\S/ /gs; unless ($longdesc) { $longdesc = $parser->get('DESCRIPTION')