Package: release.debian.org
User: release.debian....@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org

Dear Release Team,

Please consider unblocking strip-nondetermism 0.033-1. This is mostly
to:

 a) Enable logging so we can start to remove this ugly hack by looking
    at build logs. (#862031)

 b) Update the package description so that people do not start relying on
    the tool for similar reasons. (#862029)


The relevant changelog entry is:

strip-nondeterminism (0.033-1) unstable; urgency=medium

  [ Chris Lamb ]
  * Move from verbose_print to nonquiet_print so we print when normalising a
    file. This is so we can start to target the removal of
    strip-nondeterminism itself. (Closes: #862031)
  * Update package long descriptions to clarify that this tool is a temporary
    workaround. (Closes: #862029)
  * Include the filename when testing failure fixtures.

  [ Bernhard M. Wiedemann ]
  * Only call get_normalizer_by_name once
  * Make get_normalizer_by_name O(1)

 -- Chris Lamb <la...@debian.org>  Sun, 07 May 2017 19:32:19 +0200

The full debdiff is attached.


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
diffstat for strip-nondeterminism-0.032 strip-nondeterminism-0.033

 bin/dh_strip_nondeterminism     |    2 -
 bin/strip-nondeterminism        |   13 +++++----
 debian/changelog                |   16 +++++++++++
 debian/control                  |   55 +++++++++++++++++++++++-----------------
 lib/File/StripNondeterminism.pm |   32 +++++++++--------------
 t/failures.t                    |    2 -
 6 files changed, 70 insertions(+), 50 deletions(-)

diff -Nru strip-nondeterminism-0.032/bin/dh_strip_nondeterminism 
strip-nondeterminism-0.033/bin/dh_strip_nondeterminism
--- strip-nondeterminism-0.032/bin/dh_strip_nondeterminism      2017-03-17 
09:25:00.000000000 +0100
+++ strip-nondeterminism-0.033/bin/dh_strip_nondeterminism      2017-05-07 
19:31:07.000000000 +0200
@@ -83,7 +83,7 @@
 
        foreach (@nondeterministic_files) {
                my ($path, $normalize) = @$_;
-               verbose_print("Normalizing $path");
+               nonquiet_print("Normalizing $path");
                eval { $normalize->($path); 1 }
                  or error("$path: $@");
        }
diff -Nru strip-nondeterminism-0.032/bin/strip-nondeterminism 
strip-nondeterminism-0.033/bin/strip-nondeterminism
--- strip-nondeterminism-0.032/bin/strip-nondeterminism 2017-03-17 
09:25:00.000000000 +0100
+++ strip-nondeterminism-0.033/bin/strip-nondeterminism 2017-05-07 
19:31:07.000000000 +0200
@@ -60,15 +60,16 @@
 
 die $usage if @ARGV == 0;
 
+my $normalizer;
+if (defined $filetype) {
+       $normalizer
+         = File::StripNondeterminism::get_normalizer_by_name($filetype);
+       die "$filetype: Unknown file type\n" unless $normalizer;
+}
 for my $filename (@ARGV) {
        die "$filename: Does not exist\n" unless -e $filename;
 
-       my $normalizer;
-       if (defined $filetype) {
-               $normalizer
-                 = 
File::StripNondeterminism::get_normalizer_by_name($filetype);
-               die "$filetype: Unknown file type\n" unless $normalizer;
-       } else {
+       if (!defined $filetype) {
                $normalizer
                  = 
File::StripNondeterminism::get_normalizer_for_file($filename);
                next unless $normalizer;
diff -Nru strip-nondeterminism-0.032/debian/changelog 
strip-nondeterminism-0.033/debian/changelog
--- strip-nondeterminism-0.032/debian/changelog 2017-03-17 09:25:53.000000000 
+0100
+++ strip-nondeterminism-0.033/debian/changelog 2017-05-07 19:32:19.000000000 
+0200
@@ -1,3 +1,19 @@
+strip-nondeterminism (0.033-1) unstable; urgency=medium
+
+  [ Chris Lamb ]
+  * Move from verbose_print to nonquiet_print so we print when normalising a
+    file. This is so we can start to target the removal of
+    strip-nondeterminism itself. (Closes: #862031)
+  * Update package long descriptions to clarify that this tool is a temporary
+    workaround. (Closes: #862029)
+  * Include the filename when testing failure fixtures.
+
+  [ Bernhard M. Wiedemann ]
+  * Only call get_normalizer_by_name once
+  * Make get_normalizer_by_name O(1)
+
+ -- Chris Lamb <la...@debian.org>  Sun, 07 May 2017 19:32:19 +0200
+
 strip-nondeterminism (0.032-1) unstable; urgency=medium
 
   * Add support for testing files we should reject.
diff -Nru strip-nondeterminism-0.032/debian/control 
strip-nondeterminism-0.033/debian/control
--- strip-nondeterminism-0.032/debian/control   2017-03-17 09:25:53.000000000 
+0100
+++ strip-nondeterminism-0.033/debian/control   2017-05-07 19:32:19.000000000 
+0200
@@ -26,13 +26,16 @@
  ${misc:Depends},
  ${perl:Depends},
 Description: file non-deterministic information stripper — Perl module
- StripNondeterminism is a library for stripping non-deterministic
- information, such as timestamps and file system order, from files. It
- is used as part of the Reproducible Builds project.
- .
- This can be used as a post-processing step to improve the
- reproducibility of a build product, when the build process itself
- cannot be made deterministic.
+ StripNondeterminism is a library for stripping non-deterministic information
+ such as timestamps and filesystem ordering from various file and archive
+ formats.
+ .
+ This can be used as a post-processing step to improve the reproducibility of a
+ build product, when the build process itself cannot be made deterministic.
+ .
+ It is used as part of the Reproducible Builds project, although it should be
+ considered a temmporary workaround which should not be needed in the long
+ term; upstream software should be reproducible even without using such a tool.
  .
  This package installs the Perl module ‘File::StripNondeterminism’.
 
@@ -44,13 +47,16 @@
  ${perl:Depends},
 Multi-Arch: foreign
 Description: file non-deterministic information stripper — stand-alone tool
- StripNondeterminism is a library for stripping non-deterministic
- information, such as timestamps and file system order, from files. It
- is used as part of the Reproducible Builds project.
- .
- This can be used as a post-processing step to improve the
- reproducibility of a build product, when the build process itself
- cannot be made deterministic.
+ StripNondeterminism is a library for stripping non-deterministic information
+ such as timestamps and filesystem ordering from various file and archive
+ formats.
+ .
+ This can be used as a post-processing step to improve the reproducibility of a
+ build product, when the build process itself cannot be made deterministic.
+ .
+ It is used as part of the Reproducible Builds project, although it should be
+ considered a temmporary workaround which should not be needed in the long
+ term; upstream software should be reproducible even without using such a tool.
  .
  This package installs the stand-alone ‘strip-nondeterminism’ tool.
 
@@ -64,13 +70,16 @@
  ${perl:Depends},
 Multi-Arch: foreign
 Description: file non-deterministic information stripper — Debhelper add-on
- StripNondeterminism is a library for stripping non-deterministic
- information, such as timestamps and file system order, from files. It
- is used as part of the Reproducible Builds project.
- .
- This can be used as a post-processing step to improve the
- reproducibility of a build product, when the build process itself
- cannot be made deterministic.
+ StripNondeterminism is a library for stripping non-deterministic information
+ such as timestamps and filesystem ordering from various file and archive
+ formats.
+ .
+ This can be used as a post-processing step to improve the reproducibility of a
+ build product, when the build process itself cannot be made deterministic.
+ .
+ It is used as part of the Reproducible Builds project, although it should be
+ considered a temmporary workaround which should not be needed in the long
+ term; upstream software should be reproducible even without using such a tool.
  .
- This package installs the ‘dh_strip_nondeterminism’ Debhelper command
- that strips nondeterminism as part of a Debian package build process.
+ This package installs the ‘dh_strip_nondeterminism’ Debhelper command that
+ strips nondeterminism as part of a Debian package build process.
diff -Nru strip-nondeterminism-0.032/lib/File/StripNondeterminism.pm 
strip-nondeterminism-0.033/lib/File/StripNondeterminism.pm
--- strip-nondeterminism-0.032/lib/File/StripNondeterminism.pm  2017-03-17 
09:25:00.000000000 +0100
+++ strip-nondeterminism-0.033/lib/File/StripNondeterminism.pm  2017-05-07 
19:31:07.000000000 +0200
@@ -34,7 +34,7 @@
 
 our($VERSION, $canonical_time, $clamp_time);
 
-$VERSION = '0.032'; # 0.032
+$VERSION = '0.033'; # 0.033
 
 sub init {
        $ENV{'TZ'} = 'UTC';
@@ -107,26 +107,20 @@
        return undef;
 }
 
+our %typemap = (
+       ar      => \&File::StripNondeterminism::handlers::ar::normalize,
+       gettext => \&File::StripNondeterminism::handlers::gettext::normalize,
+       gzip    => \&File::StripNondeterminism::handlers::gzip::normalize,
+       jar     => \&File::StripNondeterminism::handlers::jar::normalize,
+       javadoc => \&File::StripNondeterminism::handlers::javadoc::normalize,
+       pearregistry => 
\&File::StripNondeterminism::handlers::pearregistry::normalize,
+       png     => \&File::StripNondeterminism::handlers::png::normalize,
+       javaproperties => 
\&File::StripNondeterminism::handlers::javaproperties::normalize,
+       zip     => \&File::StripNondeterminism::handlers::zip::normalize,
+);
 sub get_normalizer_by_name {
        $_ = shift;
-       return \&File::StripNondeterminism::handlers::ar::normalize if $_ eq 
'ar';
-       return \&File::StripNondeterminism::handlers::gettext::normalize
-         if $_ eq 'gettext';
-       return \&File::StripNondeterminism::handlers::gzip::normalize
-         if $_ eq 'gzip';
-       return \&File::StripNondeterminism::handlers::jar::normalize
-         if $_ eq 'jar';
-       return \&File::StripNondeterminism::handlers::javadoc::normalize
-         if $_ eq 'javadoc';
-       return \&File::StripNondeterminism::handlers::pearregistry::normalize
-         if $_ eq 'pearregistry';
-       return \&File::StripNondeterminism::handlers::png::normalize
-         if $_ eq 'png';
-       return \&File::StripNondeterminism::handlers::javaproperties::normalize
-         if $_ eq 'javaproperties';
-       return \&File::StripNondeterminism::handlers::zip::normalize
-         if $_ eq 'zip';
-       return undef;
+       return $typemap{$_};
 }
 
 1;
diff -Nru strip-nondeterminism-0.032/t/failures.t 
strip-nondeterminism-0.033/t/failures.t
--- strip-nondeterminism-0.032/t/failures.t     2017-03-17 09:25:00.000000000 
+0100
+++ strip-nondeterminism-0.033/t/failures.t     2017-05-07 19:31:07.000000000 
+0200
@@ -43,7 +43,7 @@
                my $normalizer = 
File::StripNondeterminism::get_normalizer_for_file($in);
                $normalizer->($in);
        };
-       ok($@ ne "");
+       ok($@ ne "", $filename);
 }
 
 done_testing;

Reply via email to