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

Possible MBF: perl 5.10 and the "remove empty /usr/lib/perl5 dir" bug



[crossposted to debian-{devel,perl}@lists.d.o;
 Mail-Followup-To: debian-perl@lists.d.o ]

Summary: around 400 *-perl packages have a debian/rules bug that
makes them FTBFS with perl 5.10, currently in experimental.

Until recently, the most common build system in Perl CPAN modules,
ExtUtils::MakeMaker, had a long-standing bug that created an empty
/usr/lib/perl5 or /usr/share/perl5 directory when 'make install' was
run.

As shipping empty directories in Debian packages is considered untidy,
dh-make-perl debian/rules templates have included the following line
since at least 2004:

	rmdir --ignore-fail-on-non-empty --parents $(TMP)/usr/lib/perl5

This is fine as long as the directory exists. However, it makes
the whole build fail when the directory doesn't exist, ie. when the
ExtUtils::MakeMaker (or ExtUtils::Install, to be precise) bug is fixed.

This is now the case with Perl 5.10.0, currently in experimental. The
error has crept in hundreds of packages, and they are all going to start
to FTBFS when 5.10 enters unstable.

The suggested fix is simple: use a conditional like

	[ ! -d $(TMP)/usr/lib/perl5 ] || rmdir --ignore-fail-on-non-empty --parents --verbose $(TMP)/usr/lib/perl5

which is what the current dh-make-perl templates recommend.

Bug #465783 discusses whether the ExtUtils::Install behaviour should be
reverted for Lenny or not, but these are definitely bugs in any case.

I ran a few greps on debian/rules of the source packages of all the
binary packages matching '-perl' in unstable as of Feb 14th. Results: 398
arch:all and 38 arch:any packages apparently do an unconditional rmdir
for the empty directory. I have tried my best to avoid false positives,
but I'd be delighted if there's a mistake here.

It would be nice to verify these results with a real mass rebuild with
Perl 5.10 from experimental. I'll work on that, but there are going to
be a few bootstrapping problems, so I'm attaching the dd-list now based
on the grep results.

Out of the 436 packages I found, 196 are maintained by the pkg-perl group.
These are already listed on the pkg-perl website [1]. I'm attaching the
dd-list output for the remaining 240 packages. Note that the bugs for the
(relatively few) arch:any packages are filed already, because those are
somewhat of a special case (they will be uninstallable without a rebuild
due to their perlapi-5.8.x dependencies).

I propose a mass bug filing at severity:important and an appropriate
usertag (user:debian-perl@lists.debian.org) when the bugs have been
verified with a real rebuild. Depending on the outcome of #465783, these
may become 'serious' when Perl 5.10 enters unstable, but it's possible
that there will be an NMU campaign even before that.

A lintian check would probably be handy too, I'll see if I can come up
with a patch.

[1] http://pkg-perl.alioth.debian.org/perl5.10-FTBFS.txt

Cheers,
-- 
Niko Tyni   ntyni@debian.org
Krzysztof Krzyzaniak (eloy) <eloy@debian.org>
   libcatalyst-model-cdbi-perl (U)
   libcatalyst-plugin-session-fastmmap-perl (U)
   libcatalyst-view-tt-perl (U)
   libclass-c3-componentised-perl (U)
   libclass-dbi-fromform-perl (U)
   libemail-valid-loose-perl
   libfile-copy-recursive-perl (U)
   libfile-modified-perl (U)
   libhttp-body-perl (U)
   libhttp-request-ascgi-perl (U)
   liburi-query-perl (U)

Michael Ablassmeier <abi@debian.org>
   libaudio-scrobbler-perl
   libmp4-info-perl

Pierre-Matthieu Alamy <pm.alamy@habitat-humanisme.org>
   libcrypt-des-ede3-perl
   libdata-buffer-perl

Russ Allbery <rra@debian.org>
   libpgp-sign-perl

Nacho Barrientos Arias <chipi@criptonita.com>
   libtest-cmd-perl

Don Armstrong <don@debian.org>
   libhtml-calendarmonth-perl
   libhtml-element-extended-perl
   libpoe-component-client-ident-perl

Jack Bates <ms419@freezone.co.uk>
   libnet-dbus-perl

Romain Beauxis <toots@rastageeks.org>
   libfuse-perl

Ian Beckwith <ianb@erislabs.net>
   libmp3-tag-perl
   libwww-opensearch-perl

Hilko Bengen <bengen@debian.org>
   liblwpx-paranoidagent-perl
   libmail-milter-perl

Bastian Blank <waldi@debian.org>
   libalgorithm-annotate-perl
   libclone-perl
   libdata-hierarchy-perl
   libextutils-autoinstall-perl
   libfile-temp-perl
   libfile-type-perl
   libio-digest-perl
   liblocale-maketext-simple-perl
   libperlio-eol-perl
   libperlio-via-dynamic-perl
   libperlio-via-symlink-perl
   libregexp-shellish-perl
   libsvn-mirror-perl
   libsvn-simple-perl
   libvcp-perl

Gonéri Le Bouder <goneri@rulezlan.org>
   libthread-pool-simple-perl

Michael Bramer <grisu@debian.org>
   liblinux-inotify2-perl

Marc 'HE' Brockschmidt <he@debian.org>
   libexporter-tidy-perl
   libextutils-pkgconfig-perl
   libgtk2-ex-podviewer-perl
   libx11-freedesktop-desktopentry-perl

James Bromberger <jeb@debian.org>
   libmodule-depends-perl
   libwww-indexparser-perl

Itamar Almeida de Carvalho <itamar@oktiva.com.br>
   libxml-dt-perl

Francesco Cecconi <francesco.cecconi@gmail.com>
   libconfig-general-perl
   libemail-find-perl
   libhtml-fromtext-perl

Tzafrir Cohen <tzafrir.cohen@xorcom.com>
   libasterisk-agi-perl (U)

Marco d'Itri <md@linux.it>
   libberkeleydb-perl
   libnet-whois-ripe-perl

Debian Catalyst Maintainers <pkg-catalyst-maintainers@lists.alioth.debian.org>
   libcatalyst-model-cdbi-perl
   libcatalyst-plugin-session-fastmmap-perl
   libcatalyst-view-tt-perl
   libclass-c3-componentised-perl
   libclass-dbi-fromform-perl
   libfile-copy-recursive-perl
   libfile-modified-perl
   libhttp-body-perl
   libhttp-request-ascgi-perl
   liburi-query-perl

Debian VoIP Team <pkg-voip-maintainers@lists.alioth.debian.org>
   libasterisk-agi-perl

Sebastien Delafond <seb@debian.org>
   libnet-socks-perl

Ludovic Drolez <ldrolez@debian.org>
   libfile-rsyncp-perl

Florian Ernst <florian@debian.org>
   libhtml-tableextract-perl

Laurent Fousse <laurent@komite.net>
   libmath-bigint-gmp-perl

Hendrik Frenzel <hfrenzel@scunc.net>
   libapache2-authenntlm-perl

Gerfried Fuchs <alfie@debian.org>
   libdbix-abstract-perl

David Moreno Garza <damog@debian.org>
   libperl6-say-perl
   libxml-treepp-perl

Jonas Genannt <jonas.genannt@capi2name.de>
   libcrypt-hcesha-perl
   libfile-flat-perl
   libfile-homedir-perl
   libjavascript-rpc-perl
   libparams-util-perl
   libpod-tests-perl
   libprefork-perl
   libtest-classapi-perl
   libtest-inline-perl

Arne Goetje <arne@linux.org.tw>
   libsnmp-multi-perl

Stephen Gran <sgran@debian.org>
   libdate-convert-perl

Debian QA Group <packages@qa.debian.org>
   libcvs-perl
   libdb-file-lock-perl

Christoph Haas <haas@debian.org>
   libtime-format-perl
   libweather-com-perl

Dominic Hargreaves <dom@earth.li>
   libcache-perl
   libchart-strip-perl
   libclass-virtual-perl
   libconfig-tiny-perl
   libcrypt-dh-perl
   libdbix-fulltextsearch-perl
   libfile-nfslock-perl
   libgeo-coordinates-utm-perl
   libgeo-helmerttransform-perl
   libgeo-postcode-perl
   libgeography-nationalgrid-perl
   libgraphviz-perl
   liblingua-pt-stemmer-perl
   liblingua-stem-perl
   liblingua-stem-snowball-da-perl
   libmail-field-received-perl
   libnet-openid-consumer-perl
   libnet-openid-server-perl
   liboxford-calendar-perl
   libplucene-perl
   libquantum-entanglement-perl
   libsnowball-norwegian-perl
   libsnowball-swedish-perl
   libtemplate-plugin-gd-perl
   libtemplate-plugin-xml-perl
   libtest-html-content-perl
   libtext-german-perl
   libtext-unidecode-perl
   liburi-find-delimited-perl
   liburi-find-perl
   libvcs-lite-perl
   libwiki-toolkit-formatter-usemod-perl
   libwiki-toolkit-perl
   libwiki-toolkit-plugin-categoriser-perl
   libwiki-toolkit-plugin-diff-perl
   libwiki-toolkit-plugin-locator-grid-perl
   libwiki-toolkit-plugin-ping-perl

Benjamin Mako Hill <mako@debian.org>
   libwww-mediawiki-client-perl

Florian Hinzmann <fh@debian.org>
   libnet-dns-perl

Ivan Kohler <ivan-debian@420.am>
   libauthen-passphrase-perl
   libbusiness-onlinepayment-openecho-perl
   libbusiness-onlinepayment-perl
   libbusiness-onlinepayment-transactioncentral-perl
   libclass-data-inheritable-perl
   libcolor-scheme-perl
   libcrypt-ecb-perl
   libdata-entropy-perl
   libdata-faker-perl
   libdata-float-perl
   libfax-hylafax-client-perl
   libjson-perl
   libmodule-runtime-perl
   libnet-server-mail-perl
   libpod-simple-wiki-perl
   libxsloader-perl

Kilian Krause <kilian@debian.org>
   libasterisk-agi-perl (U)

Eugene Krivdyuk <ekrivdyuk@gmail.com>
   liblogfile-rotate-perl

Joshua Kwan <joshk@triplehelix.org>
   libmail-mboxparser-perl

John Lightsey <lightsey@debian.org>
   libparallel-forkmanager-perl
   libyaml-tiny-perl

Bart Martens <bartm@knars.be>
   libclass-dbi-sqlite-perl
   libgetopt-declare-perl
   libnet-ipv6addr-perl

Christoph Martin <christoph.martin@uni-mainz.de>
   libfile-readbackwards-perl

Roland Mas <lolando@debian.org>
   libparse-mediawikidump-perl

Rene Mayorga <rmayorga@debian.org.sv>
   libasterisk-agi-perl (U)

Alejandro Garrido Mota <garridomota@gmail.com>
   libcss-perl
   libpod-webserver-perl
   libui-dialog-perl

Al Nikolov <clown@debian.org>
   libdbix-class-htmlwidget-perl

Jose Parrella <joseparrella@cantv.net>
   libbiblio-isis-perl
   libdebian-package-html-perl

Tim Peeler <thp@linuxforce.net>
   liblwp-authen-wsse-perl

Víctor Pérez Pereira <vperez@debianvenezuela.org>
   libapache-asp-perl
   libterm-prompt-perl
   libtest-reporter-perl

Dirk Proesdorf <dirk@proesdorf.de>
   libdevice-modem-perl

Stephen Quinney <sjq@debian.org>
   libstring-format-perl

Florian Ragwitz <rafl@debianforum.de>
   libauthen-pam-perl
   libcatalyst-plugin-session-fastmmap-perl (U)
   libclass-dbi-fromform-perl (U)
   libfcgi-perl
   libperldoc-search-perl
   libshell-posix-select-perl
   libswish-api-common-perl
   libsysadm-install-perl
   libxml-sax-expat-incremental-perl

Florian Ragwitz <florian@mookooh.org>
   libaudio-moosic-perl
   libcatalyst-plugin-formvalidator-perl
   libdevel-ptkdb-perl
   libgtk2-ex-volumebutton-perl
   liblwp-protocol-http-socketunix-perl
   libogg-vorbis-header-pureperl-perl
   libquantum-superpositions-perl

Florian Ragwitz <rafl@debian.org>
   libarchive-ar-perl
   libaudio-file-perl
   libauthen-sasl-perl
   libcatalyst-model-cdbi-perl (U)
   libcatalyst-view-tt-perl (U)
   libclass-spiffy-perl
   libconvert-asn1-perl
   libcpan-mini-perl
   libcrypt-des-ede3-perl (U)
   libcss-tiny-perl
   libdata-buffer-perl (U)
   libdevel-cover-perl
   libdigest-bubblebabble-perl
   libfile-scan-perl
   libgssapi-perl
   libgtk2-ex-simple-list-perl
   libgtk2-gladexml-simple-perl
   libio-all-perl
   libio-socket-ssl-perl
   libkwiki-cache-perl
   libkwiki-perl
   libmath-gmp-perl
   libmodule-pluggable-fast-perl
   libnet-jabber-loudmouth-perl
   libnet-jabber-perl
   libnet-ldap-perl
   libnet-ssleay-perl
   libnet-xmpp-perl
   libpadwalker-perl
   libpetal-perl
   libpod-index-perl
   libppi-html-perl
   libppi-xs-perl
   libspiffy-perl
   libspoon-perl
   libspork-perl
   libtemplate-timer-perl
   libterm-visual-perl
   libtest-base-perl
   libtest-nowarnings-perl
   libtest-simple-perl
   libtest-tester-perl
   libtree-simple-visitorfactory-perl
   libxml-filter-xslt-perl
   libxml-libxslt-perl
   libxml-sax-writer-perl
   libyaml-perl

Petter Reinholdtsen <pere@debian.org>
   libimage-exiftool-perl (U)

Roland Rosenfeld <roland@debian.org>
   libfile-tail-perl

Timo Schneider <timo.schneider@s2004.tu-chemnitz.de>
   libaudio-flac-decoder-perl
   libcompress-bzip2-perl
   libdata-compare-perl
   libscalar-properties-perl

Amit Shah <amitshah@gmx.net>
   libogg-vorbis-header-perl

Christian Sánchez <csanchez@unplug.org.ve>
   libhtml-table-perl
   libtangram-perl

Sandro Tosi <matrixhasu@gmail.com>
   libcrypt-simple-perl

Deepak Tripathi <apenguinlinux@gmail.com>
   libtie-cache-perl

Matthias Urlichs <smurf@debian.org>
   libarray-refelem-perl
   libdata-dumpxml-perl

Matej Vela <vela@debian.org>
   libhttp-daemon-ssl-perl
   libnet-ldap-server-perl

Jaldhar H. Vyas <jaldhar@debian.org>
   libdatetime-calendar-discordian-perl

Lucas Wall <lwall@debian.org>
   libcddb-get-perl

C. Chad Wallace <cwallace@thelodgingco.com>
   liblingua-en-namecase-perl

Mari Wang <mariwan@ifi.uio.no>
   libimage-exiftool-perl

Rene Weber <rene_debmaint@public.e-mail.elvenlord.com>
   libimage-metadata-jpeg-perl

Florian Weimer <fw@deneb.enyo.de>
   libwant-perl

Alexander Wirt <formorer@debian.org>
   libdata-validate-domain-perl
   libmail-verify-perl

Alexander Zangerl <az@debian.org>
   libtm-perl

Martin Zobel-Helas <zobel@debian.org>
   libhash-merge-perl
   libmail-checkuser-perl
   libstruct-compare-perl

Bas Zoetekouw <bas@debian.org>
   libimdb-film-perl
   libsubtitles-perl

Attachment: signature.asc
Description: Digital signature


Reply to: