Your message dated Wed, 19 Nov 2014 06:02:07 +0000
with message-id <1416376927.14852.10.ca...@adam-barratt.org.uk>
and subject line Re: Bug#769709: pre-approval: perl/5.20.1-3
has caused the Debian Bug report #769709,
regarding pre-approval: perl/5.20.1-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
769709: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=769709
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- 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 ---
--- Begin Message ---
On Mon, 2014-11-17 at 20:29 +0200, Niko Tyni wrote:
> On Sun, Nov 16, 2014 at 05:10:00PM +0100, Julien Cristau wrote:
> > Control: tag -1 confirmed
> > 
> > On Sat, Nov 15, 2014 at 20:02:39 +0200, Niko Tyni wrote:
> > 
> > > Please let me know if you'd be OK with this, and many thanks for your 
> > > work,
> > 
> > ack.
> 
> Thanks, uploaded and autobuilt.

Unblocked, thanks.

Regards,

Adam

--- End Message ---

Reply via email to