Package: perl
Version: 5.10.0-3
Severity: serious
Tags: patch
X-Debbugs-Cc: [EMAIL PROTECTED]
Given the recent announcement of the Lenny release schedule [1] with a
"very soft freeze" in a few weeks from now, I propose that the infamous
"installs an empty /usr/{share,lib}/perl5 directory" bug is reintroduced
until Lenny is released.
For the sake of completeness, the story is that a bug in Extutils::Install
used to create empty /usr/lib/perl5 or /usr/share/perl5 directories,
and dh-make-perl templates included for a long time a debian/rules line
that unconditionally rmdir'd it.
This bug was fixed upstream in ExtUtils::Install 1.41_04, and the fix
is included in Perl 5.10.0. As a result, hundreds of Debian packages
fail to build with perl 5.10.0-3 from experimental because they try to
remove a non-existent directory.
I run a few greps on debian/rules of the source packages of all the
binary packages matching '-perl' in unstable. Results: at least 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.
The arch:any packages are particularly important because they will
be uninstallable when perl 5.10 hits unstable and must be rebuilt
first. Most of the bugs for the 38 packages have already been filed,
using the '[EMAIL PROTECTED]' / 'perl-5.10-transition' usertag
[2]. The arch:all packages will "only" start to FTBFS, creating 400 new
RC bugs in one go.
Out of the 436 packages I found, 196 are maintained by the pkg-perl group.
These are already listed on the pkg-perl website [3]. I'm attaching the
dd-list output for the remaining 240 packages.
Given these depressing numbers, I think we should postpone breaking
these packages until after Lenny. The attached patch reverts this
particular change in Extutils::Install; I have only done some cursory
testing but it seems to do the right thing.
This doesn't mean that the packages are OK, of course. Maybe a lintian
check for the buggy rmdir invocations would be a good start at fixing
them...
[1] http://lists.debian.org/debian-devel-announce/2008/02/msg00002.html
[2] http://bugs.debian.org/cgi-bin/[EMAIL PROTECTED]
[3] http://pkg-perl.alioth.debian.org/perl5.10-FTBFS.txt
Cheers,
--
Niko Tyni [EMAIL PROTECTED]
diff --git a/lib/ExtUtils/Install.pm b/lib/ExtUtils/Install.pm
index 1782d34..f0edb30 100644
--- a/lib/ExtUtils/Install.pm
+++ b/lib/ExtUtils/Install.pm
@@ -563,6 +563,19 @@ sub install { #XXX OS-SPECIFIC
$pack{$_}=$from_to{$_};
delete $from_to{$_};
}
+ my($source_dir_or_file);
+ my (%fs_type);
+ foreach $source_dir_or_file (sort keys %from_to) {
+ #Check if there are files, and if yes, look if the corresponding
+ #target directory is writable for us
+ opendir DIR, $source_dir_or_file or next;
+ for (readdir DIR) {
+ next if $_ eq $Curdir || $_ eq $Updir || $_ eq ".exists";
+ my $targetdir = install_rooted_dir($from_to{$source_dir_or_file});
+ _mkpath( $targetdir, 0, 0755, $verbose, $nonono );
+ }
+ closedir DIR;
+ }
my $tmpfile = install_rooted_file($pack{"read"});
$packlist->read($tmpfile) if (-f $tmpfile);
my $cwd = cwd();
Krzysztof Krzyzaniak (eloy) <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
libaudio-scrobbler-perl
libmp4-info-perl
Pierre-Matthieu Alamy <[EMAIL PROTECTED]>
libcrypt-des-ede3-perl
libdata-buffer-perl
Russ Allbery <[EMAIL PROTECTED]>
libpgp-sign-perl
Nacho Barrientos Arias <[EMAIL PROTECTED]>
libtest-cmd-perl
Don Armstrong <[EMAIL PROTECTED]>
libhtml-calendarmonth-perl
libhtml-element-extended-perl
libpoe-component-client-ident-perl
Jack Bates <[EMAIL PROTECTED]>
libnet-dbus-perl
Romain Beauxis <[EMAIL PROTECTED]>
libfuse-perl
Ian Beckwith <[EMAIL PROTECTED]>
libmp3-tag-perl
libwww-opensearch-perl
Hilko Bengen <[EMAIL PROTECTED]>
liblwpx-paranoidagent-perl
libmail-milter-perl
Bastian Blank <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
libthread-pool-simple-perl
Michael Bramer <[EMAIL PROTECTED]>
liblinux-inotify2-perl
Marc 'HE' Brockschmidt <[EMAIL PROTECTED]>
libexporter-tidy-perl
libextutils-pkgconfig-perl
libgtk2-ex-podviewer-perl
libx11-freedesktop-desktopentry-perl
James Bromberger <[EMAIL PROTECTED]>
libmodule-depends-perl
libwww-indexparser-perl
Itamar Almeida de Carvalho <[EMAIL PROTECTED]>
libxml-dt-perl
Francesco Cecconi <[EMAIL PROTECTED]>
libconfig-general-perl
libemail-find-perl
libhtml-fromtext-perl
Tzafrir Cohen <[EMAIL PROTECTED]>
libasterisk-agi-perl (U)
Marco d'Itri <[EMAIL PROTECTED]>
libberkeleydb-perl
libnet-whois-ripe-perl
Debian Catalyst Maintainers <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
libasterisk-agi-perl
Sebastien Delafond <[EMAIL PROTECTED]>
libnet-socks-perl
Ludovic Drolez <[EMAIL PROTECTED]>
libfile-rsyncp-perl
Florian Ernst <[EMAIL PROTECTED]>
libhtml-tableextract-perl
Laurent Fousse <[EMAIL PROTECTED]>
libmath-bigint-gmp-perl
Hendrik Frenzel <[EMAIL PROTECTED]>
libapache2-authenntlm-perl
Gerfried Fuchs <[EMAIL PROTECTED]>
libdbix-abstract-perl
David Moreno Garza <[EMAIL PROTECTED]>
libperl6-say-perl
libxml-treepp-perl
Jonas Genannt <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
libsnmp-multi-perl
Stephen Gran <[EMAIL PROTECTED]>
libdate-convert-perl
Debian QA Group <[EMAIL PROTECTED]>
libcvs-perl
libdb-file-lock-perl
Christoph Haas <[EMAIL PROTECTED]>
libtime-format-perl
libweather-com-perl
Dominic Hargreaves <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
libwww-mediawiki-client-perl
Florian Hinzmann <[EMAIL PROTECTED]>
libnet-dns-perl
Ivan Kohler <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
libasterisk-agi-perl (U)
Eugene Krivdyuk <[EMAIL PROTECTED]>
liblogfile-rotate-perl
Joshua Kwan <[EMAIL PROTECTED]>
libmail-mboxparser-perl
John Lightsey <[EMAIL PROTECTED]>
libparallel-forkmanager-perl
libyaml-tiny-perl
Bart Martens <[EMAIL PROTECTED]>
libclass-dbi-sqlite-perl
libgetopt-declare-perl
libnet-ipv6addr-perl
Christoph Martin <[EMAIL PROTECTED]>
libfile-readbackwards-perl
Roland Mas <[EMAIL PROTECTED]>
libparse-mediawikidump-perl
Rene Mayorga <[EMAIL PROTECTED]>
libasterisk-agi-perl (U)
Alejandro Garrido Mota <[EMAIL PROTECTED]>
libcss-perl
libpod-webserver-perl
libui-dialog-perl
Al Nikolov <[EMAIL PROTECTED]>
libdbix-class-htmlwidget-perl
Jose Parrella <[EMAIL PROTECTED]>
libbiblio-isis-perl
libdebian-package-html-perl
Tim Peeler <[EMAIL PROTECTED]>
liblwp-authen-wsse-perl
Víctor Pérez Pereira <[EMAIL PROTECTED]>
libapache-asp-perl
libterm-prompt-perl
libtest-reporter-perl
Dirk Proesdorf <[EMAIL PROTECTED]>
libdevice-modem-perl
Stephen Quinney <[EMAIL PROTECTED]>
libstring-format-perl
Florian Ragwitz <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
libimage-exiftool-perl (U)
Roland Rosenfeld <[EMAIL PROTECTED]>
libfile-tail-perl
Timo Schneider <[EMAIL PROTECTED]>
libaudio-flac-decoder-perl
libcompress-bzip2-perl
libdata-compare-perl
libscalar-properties-perl
Amit Shah <[EMAIL PROTECTED]>
libogg-vorbis-header-perl
Christian Sánchez <[EMAIL PROTECTED]>
libhtml-table-perl
libtangram-perl
Sandro Tosi <[EMAIL PROTECTED]>
libcrypt-simple-perl
Deepak Tripathi <[EMAIL PROTECTED]>
libtie-cache-perl
Matthias Urlichs <[EMAIL PROTECTED]>
libarray-refelem-perl
libdata-dumpxml-perl
Matej Vela <[EMAIL PROTECTED]>
libhttp-daemon-ssl-perl
libnet-ldap-server-perl
Jaldhar H. Vyas <[EMAIL PROTECTED]>
libdatetime-calendar-discordian-perl
Lucas Wall <[EMAIL PROTECTED]>
libcddb-get-perl
C. Chad Wallace <[EMAIL PROTECTED]>
liblingua-en-namecase-perl
Mari Wang <[EMAIL PROTECTED]>
libimage-exiftool-perl
Rene Weber <[EMAIL PROTECTED]>
libimage-metadata-jpeg-perl
Florian Weimer <[EMAIL PROTECTED]>
libwant-perl
Alexander Wirt <[EMAIL PROTECTED]>
libdata-validate-domain-perl
libmail-verify-perl
Alexander Zangerl <[EMAIL PROTECTED]>
libtm-perl
Martin Zobel-Helas <[EMAIL PROTECTED]>
libhash-merge-perl
libmail-checkuser-perl
libstruct-compare-perl
Bas Zoetekouw <[EMAIL PROTECTED]>
libimdb-film-perl
libsubtitles-perl