--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: p...@packages.debian.org
Hi,
as announced in https://lists.debian.org/debian-devel/2014/11/msg00216.html
I'd like to move File::Temp and its dependencies into perl-base.
The init-system-helpers package currently depends on perl, see #757891.
This is not desirable: an increasing number of daemon packages including
some in the base system (like rsyslog) depend on init-system-helpers,
so the base system now pulls in perl and perl-modules. This grows the
size of the base system in jessie by ~30MB, which can be considered a
regression from wheezy.
Even worse, since util-linux recently gained a dependency on
init-system-helpers, the Essential:yes packages now pull in perl,
increasing the size of even minimal chroots. IMO at least this should
be a release critical bug somewhere but it's not quite clear to me where.
I see the util-linux change may still get reverted (#768315), but even
if that happens, I think fixing the base system growth too would be good
for jessie.
While I wasn't initially keen on growing perl-base, I've since been
convinced otherwise in the case of File::Temp: secure creation of
temporary files is a non-trivial commonly occurring task that deserves
to be in the Essential set, and using /usr/bin/mktemp from perl programs
is quite unwieldy.
As it happens, File::Temp pulls in the other modules needed by
init-system-helpers too, so any controversy around #757891 is hopefully
solved with this.
I'm sorry that this comes so late, but I think it is the right way
forward and enables fixing a regression from wheezy. I hope you agree.
Proposed debdiff attached (modulo UNRELEASED). I'm also attaching
the corresponding git patch for your convenience as that's a bit more
readable. It's pushed at
http://anonscm.debian.org/cgit/perl/perl.git/commit/?h=ntyni/moving-file-temp
The changes are quite straightforward (but eyeballs are certainly
welcome), except perhaps the added dependency from perl-modules to
perl-base. This is required to make sure partial upgrades can't result
in a system missing File::Temp et al.
Please let me know if you'd be OK with this, and many thanks for your work,
--
Niko Tyni nt...@debian.org
diff -Nru perl-5.20.1/debian/changelog perl-5.20.1/debian/changelog
--- perl-5.20.1/debian/changelog 2014-10-20 00:03:01.000000000 +0300
+++ perl-5.20.1/debian/changelog 2014-11-15 18:27:05.000000000 +0200
@@ -1,3 +1,11 @@
+perl (5.20.1-3) UNRELEASED; urgency=medium
+
+ * Move File::Temp and its dependencies (File::Path, File::Basename,
+ and parent) to perl-base.
+ See https://lists.debian.org/debian-devel/2014/11/msg00216.html
+
+ -- Niko Tyni <nt...@debian.org> Sun, 09 Nov 2014 22:18:48 +0200
+
perl (5.20.1-2) unstable; urgency=medium
* Fix IO::Uncompress::Gunzip gunzip to in-memory file handle
diff -Nru perl-5.20.1/debian/control perl-5.20.1/debian/control
--- perl-5.20.1/debian/control 2014-10-04 00:23:43.000000000 +0300
+++ perl-5.20.1/debian/control 2014-11-15 16:37:22.000000000 +0200
@@ -32,16 +32,22 @@
libanyevent-perl (<< 7.070-2),
libjcode-perl (<< 2.13-3),
libgtk2-perl-doc (<< 2:1.2491-4),
+ libfile-temp-perl (<< 0.2304),
+ libfile-path-perl (<< 2.09),
libscalar-list-utils-perl (<< 1:1.38)
-Replaces: perl (<< 5.10.1-12), perl-modules (<< 5.10.1-1), libperl5.8 (<<
5.8.0-20),
+Replaces: perl (<< 5.10.1-12), perl-modules (<< 5.20.1-3), libperl5.8 (<<
5.8.0-20),
libscalar-list-utils-perl,
libxsloader-perl,
libsocket-perl,
+ libfile-temp-perl,
+ libfile-path-perl,
libio-socket-ip-perl,
Provides: perl5-base, ${perlapi:Provides},
libscalar-list-utils-perl,
libxsloader-perl,
libsocket-perl,
+ libfile-temp-perl,
+ libfile-path-perl,
libio-socket-ip-perl,
Suggests: perl
Description: minimal Perl system
@@ -102,7 +108,7 @@
Priority: standard
Architecture: all
Multi-Arch: foreign
-Depends: perl (>= ${Upstream-Version}-1)
+Depends: perl (>= ${Upstream-Version}-1), perl-base (>= 5.20.1-3)
Recommends: libarchive-extract-perl,
libmodule-pluggable-perl,
libpod-latex-perl,
@@ -122,7 +128,6 @@
mono-gac (<< 2.10.8.1-3)
Breaks: libpod-parser-perl (<< 1.62),
libansicolor-perl (<< 4.02),
- libfile-temp-perl (<< 0.2304),
libnet-perl (<= 1:1.22),
libattribute-handlers-perl (<< 0.96),
libcgi-pm-perl (<< 3.65),
@@ -165,13 +170,11 @@
libdigest-perl (<< 1.17),
libextutils-install-perl (<< 1.67),
libhttp-tiny-perl (<< 0.043),
- libfile-path-perl (<< 2.09),
libcpan-meta-requirements-perl (<< 2.125),
libexperimental-perl (<< 0.007),
libpackage-constants-perl (<< 0.04),
Replaces: libpod-parser-perl,
libansicolor-perl,
- libfile-temp-perl,
libnet-perl,
libattribute-handlers-perl,
libcgi-pm-perl,
@@ -214,13 +217,11 @@
libdigest-perl,
libextutils-install-perl,
libhttp-tiny-perl,
- libfile-path-perl,
libcpan-meta-requirements-perl,
libexperimental-perl,
libpackage-constants-perl,
Provides: libpod-parser-perl,
libansicolor-perl,
- libfile-temp-perl,
libnet-perl,
libattribute-handlers-perl,
libi18n-langtags-perl,
@@ -261,7 +262,6 @@
libdigest-perl,
libextutils-install-perl,
libhttp-tiny-perl,
- libfile-path-perl,
libcpan-meta-requirements-perl,
libexperimental-perl,
Description: Core Perl modules
diff -Nru perl-5.20.1/debian/perl-base.files perl-5.20.1/debian/perl-base.files
--- perl-5.20.1/debian/perl-base.files 2014-10-04 00:23:43.000000000 +0300
+++ perl-5.20.1/debian/perl-base.files 2014-11-15 15:38:36.000000000 +0200
@@ -72,3 +72,7 @@
usr/**/perl/*/warnings.pm
usr/**/perl/*/warnings/register.pm
usr/**/perl/*/feature.pm
+usr/**/perl/*/File/Temp.pm
+usr/**/perl/*/File/Path.pm
+usr/**/perl/*/File/Basename.pm
+usr/**/perl/*/parent.pm
>From e32cfcbcd5d12f4cf1cab351ebaf81b5e657d82d Mon Sep 17 00:00:00 2001
From: Niko Tyni <nt...@debian.org>
Date: Sun, 9 Nov 2014 22:15:03 +0200
Subject: [PATCH] Move File::Temp, File::Path and File::Basename to perl-base
The module primarily being moved into the Essential set is File::Temp,
the others are pulled in as dependencies.
Securely creating a temporary file is both difficult and a reasonable
action for maintainer scripts to want to take, so it makes sense to have
that in the essential set. Using /usr/bin/mktemp from Perl programs is
unnecessarily hard and error-prone.
See https://lists.debian.org/debian-devel/2014/11/msg00216.html
---
debian/changelog | 4 +++-
debian/control | 16 ++++++++--------
debian/perl-base.files | 4 ++++
3 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 7326626..ac11e57 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
perl (5.20.1-3) UNRELEASED; urgency=medium
- *
+ * Move File::Temp and its dependencies (File::Path, File::Basename,
+ and parent) to perl-base.
+ See https://lists.debian.org/debian-devel/2014/11/msg00216.html
-- Niko Tyni <nt...@debian.org> Sun, 09 Nov 2014 22:18:48 +0200
diff --git a/debian/control b/debian/control
index 7260f0b..6e8afc3 100644
--- a/debian/control
+++ b/debian/control
@@ -32,16 +32,22 @@ Breaks: autoconf2.13 (<< 2.13-45),
libanyevent-perl (<< 7.070-2),
libjcode-perl (<< 2.13-3),
libgtk2-perl-doc (<< 2:1.2491-4),
+ libfile-temp-perl (<< 0.2304),
+ libfile-path-perl (<< 2.09),
libscalar-list-utils-perl (<< 1:1.38)
-Replaces: perl (<< 5.10.1-12), perl-modules (<< 5.10.1-1), libperl5.8 (<< 5.8.0-20),
+Replaces: perl (<< 5.10.1-12), perl-modules (<< 5.20.1-3), libperl5.8 (<< 5.8.0-20),
libscalar-list-utils-perl,
libxsloader-perl,
libsocket-perl,
+ libfile-temp-perl,
+ libfile-path-perl,
libio-socket-ip-perl,
Provides: perl5-base, ${perlapi:Provides},
libscalar-list-utils-perl,
libxsloader-perl,
libsocket-perl,
+ libfile-temp-perl,
+ libfile-path-perl,
libio-socket-ip-perl,
Suggests: perl
Description: minimal Perl system
@@ -102,7 +108,7 @@ Package: perl-modules
Priority: standard
Architecture: all
Multi-Arch: foreign
-Depends: perl (>= ${Upstream-Version}-1)
+Depends: perl (>= ${Upstream-Version}-1), perl-base (>= 5.20.1-3)
Recommends: libarchive-extract-perl,
libmodule-pluggable-perl,
libpod-latex-perl,
@@ -122,7 +128,6 @@ Conflicts: defoma (<< 0.11.12),
mono-gac (<< 2.10.8.1-3)
Breaks: libpod-parser-perl (<< 1.62),
libansicolor-perl (<< 4.02),
- libfile-temp-perl (<< 0.2304),
libnet-perl (<= 1:1.22),
libattribute-handlers-perl (<< 0.96),
libcgi-pm-perl (<< 3.65),
@@ -165,13 +170,11 @@ Breaks: libpod-parser-perl (<< 1.62),
libdigest-perl (<< 1.17),
libextutils-install-perl (<< 1.67),
libhttp-tiny-perl (<< 0.043),
- libfile-path-perl (<< 2.09),
libcpan-meta-requirements-perl (<< 2.125),
libexperimental-perl (<< 0.007),
libpackage-constants-perl (<< 0.04),
Replaces: libpod-parser-perl,
libansicolor-perl,
- libfile-temp-perl,
libnet-perl,
libattribute-handlers-perl,
libcgi-pm-perl,
@@ -214,13 +217,11 @@ Replaces: libpod-parser-perl,
libdigest-perl,
libextutils-install-perl,
libhttp-tiny-perl,
- libfile-path-perl,
libcpan-meta-requirements-perl,
libexperimental-perl,
libpackage-constants-perl,
Provides: libpod-parser-perl,
libansicolor-perl,
- libfile-temp-perl,
libnet-perl,
libattribute-handlers-perl,
libi18n-langtags-perl,
@@ -261,7 +262,6 @@ Provides: libpod-parser-perl,
libdigest-perl,
libextutils-install-perl,
libhttp-tiny-perl,
- libfile-path-perl,
libcpan-meta-requirements-perl,
libexperimental-perl,
Description: Core Perl modules
diff --git a/debian/perl-base.files b/debian/perl-base.files
index 6aef2d5..2c6f57a 100644
--- a/debian/perl-base.files
+++ b/debian/perl-base.files
@@ -72,3 +72,7 @@ usr/**/perl/*/vars.pm
usr/**/perl/*/warnings.pm
usr/**/perl/*/warnings/register.pm
usr/**/perl/*/feature.pm
+usr/**/perl/*/File/Temp.pm
+usr/**/perl/*/File/Path.pm
+usr/**/perl/*/File/Basename.pm
+usr/**/perl/*/parent.pm
--
2.1.3
--- End Message ---