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

Reply via email to