Your message dated Sat, 02 Jul 2016 23:12:03 +0000
with message-id <[email protected]>
and subject line Bug#829365: fixed in pdl 1:2.016-3
has caused the Debian Bug report #829365,
regarding pdl: please make the build reproducible
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 [email protected]
immediately.)


-- 
829365: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=829365
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: pdl
Version: 1:2.016-2
Severity: wishlist
Tags: patch upstream
User: [email protected]
Usertags: randomness
X-Debbugs-Cc: [email protected]

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that pdl could not be built reproducibly.
In several files the order is non-deterministic.

The attached patch fixes the issues I have found so far.
To be reproducible this also requires the pdl patch from #829323
and there is another issue in ExtUtils::ParseXS remaining, which
is still uninvestigated.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 0000000..ba877fb
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,102 @@
+--- a/Basic/Core/pdlcore.h.PL
++++ b/Basic/Core/pdlcore.h.PL
+@@ -148,7 +148,7 @@
+ 
+ !NO!SUBS!
+ 
+-for my $in ( keys %PDL_DATATYPES ) {
++for my $in ( sort keys %PDL_DATATYPES ) {
+ 
+   (my $type = $PDL_DATATYPES{$in}) =~ s/^PDL_//;
+   print OUT <<"!WITH!SUBS!";
+@@ -351,7 +351,7 @@
+     # file
+     require "Types.pm";  # ie PDL::Types
+ 
+-for (keys %PDL::Types::typehash) {
++for (sort keys %PDL::Types::typehash) {
+    my $ctype = $PDL::Types::typehash{$_}{ctype};
+    my $ppsym = $PDL::Types::typehash{$_}{ppsym};
+ 
+--- a/Basic/Slices/slices.pd
++++ b/Basic/Slices/slices.pd
+@@ -2899,7 +2899,7 @@
+       switch( p->datatype ) {
+ KLUDGE
+ 
+-for my $type(keys %PDL::Types::typehash) {
++for my $type(sort keys %PDL::Types::typehash) {
+     $sliceb_data_kludge .=
+ "        case $type: nn = *( ($PDL::Types::typehash{$type}->{realctype} *)(p->data) ); break;\n";
+ }
+--- a/Basic/Ufunc/ufunc.pd
++++ b/Basic/Ufunc/ufunc.pd
+@@ -126,7 +126,7 @@
+      prodover => { name => 'product', op => '*=', init => 1, },
+      );
+ 
+-foreach my $func ( keys %over ) {
++foreach my $func ( sort keys %over ) {
+ 
+     # creates $func and cumu$func functions
+     # and d$func and dcumu$func functions, which
+@@ -243,7 +243,7 @@
+ 
+      );
+ 
+-foreach my $func ( keys %over ) {
++foreach my $func ( sort keys %over ) {
+ 
+     my $def   = $over{$func}{def};
+     my $txt   = $over{$func}{txt};
+@@ -438,7 +438,7 @@
+ # note: we export them to the PDL Core structure for use in
+ #       other modules (eg Image2D)
+ 
+-for (keys %PDL::Types::typehash) {
++for (sort keys %PDL::Types::typehash) {
+     my $ctype = $PDL::Types::typehash{$_}{ctype};
+     my $ppsym = $PDL::Types::typehash{$_}{ppsym};
+ 
+--- a/Lib/Image2D/image2d.pd
++++ b/Lib/Image2D/image2d.pd
+@@ -137,7 +137,7 @@
+ 	'pnpolyfill_pp' => {'pars' => '[o,nc] a(m,n); ps(k,l); int col()', 'special' => 'if(c) { $a() = $col(); }'}
+ );
+ 
+-for my $name (keys %pnpolyFields) {
++for my $name (sort keys %pnpolyFields) {
+ 	pp_def($name,
+ 		HandleBad => 0,
+ 		PMFunc => '',
+@@ -193,7 +193,7 @@
+ 
+ ');
+ 
+-for (keys %PDL::Types::typehash) {
++for (sort keys %PDL::Types::typehash) {
+     my $ctype = $PDL::Types::typehash{$_}{ctype};
+     my $ppsym = $PDL::Types::typehash{$_}{ppsym};
+ 
+--- a/Lib/Slatec/slatec.pd
++++ b/Lib/Slatec/slatec.pd
+@@ -375,7 +375,7 @@
+     my @talts = map { 
+           defined $ftypes{$_} or die "FTYPE $_ NOT THERE\n";
+           [$ftypes{$_},$fnames->{$_}] 
+-    } keys %$fnames;
++    } sort keys %$fnames;
+ 
+     my $func = "\$T".(join '',map {$_->[0]} @talts) . "(" . 
+       (join ',',map {$_->[1].$uscore} @talts).")";
+--- a/IO/HDF/buildfunc.pm
++++ b/IO/HDF/buildfunc.pm
+@@ -82,7 +82,7 @@
+         # Add the OUTPUT section:
+         $xsout .= "OUTPUT:\n";
+         $xsout .= "\tRETVAL\n";
+-        foreach my $var ( keys %$output ) 
++        foreach my $var ( sort keys %$output ) 
+         {
+             $xsout .= "\t$var\n";
+         }
diff --git a/debian/patches/series b/debian/patches/series
index 1e2152a..3dc3319 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -10,3 +10,4 @@ manpage-has-bad-whatis-entry.patch
 pdl-ldflags.patch
 absolute-doc-paths.patch
 spelling-errors2.patch
+reproducible-build.patch

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
Source: pdl
Source-Version: 1:2.016-3

We believe that the bug you reported is fixed in the latest version of
pdl, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Bas Couwenberg <[email protected]> (supplier of updated pdl package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sun, 03 Jul 2016 00:37:46 +0200
Source: pdl
Binary: pdl
Architecture: source amd64
Version: 1:2.016-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Perl Group <[email protected]>
Changed-By: Bas Couwenberg <[email protected]>
Description:
 pdl        - perl data language: Perl extensions for numerics
Closes: 829323 829365
Changes:
 pdl (1:2.016-3) unstable; urgency=medium
 .
   * Team upload.
   * Add patches by Reiner Herrmann for reproducible builds.
     (closes: #829323, #829365)
Checksums-Sha1:
 80f052479490d097d13b2d452b1a4472307acea5 2311 pdl_2.016-3.dsc
 22ce8ca5f4b66e39de9b0a40de914e887a01cdd6 43668 pdl_2.016-3.debian.tar.xz
 d0f77ae16e8f2bdd2c384710707d17fd1d9f1b21 6960282 pdl-dbgsym_2.016-3_amd64.deb
 0ce1c3d64032aacc2b38d2c8da1fc4d3255c7a18 3674390 pdl_2.016-3_amd64.deb
Checksums-Sha256:
 bad5f1b5cad055594a6ae0f8c1e2b6a7226f7033beb6e4afee1417220f39f850 2311 
pdl_2.016-3.dsc
 a0c964ecbf5b1c24de76155e9440b328374da2ca58f584aca437356a70324a67 43668 
pdl_2.016-3.debian.tar.xz
 773bcab68147ae02198cf0979f5f3a695830c6b892a31a2bbed4d83eb0518b76 6960282 
pdl-dbgsym_2.016-3_amd64.deb
 8873446466eaed6b3b587130bef0447db03c564be1f795dafa3f2811e3a9182f 3674390 
pdl_2.016-3_amd64.deb
Files:
 40df777bfe0270c3302d2c58ccd72371 2311 math optional pdl_2.016-3.dsc
 86a88ff374a9add748ae26d01c7b7e43 43668 math optional pdl_2.016-3.debian.tar.xz
 ff0df049904dadb9e83f119dcf8c12a7 6960282 debug extra 
pdl-dbgsym_2.016-3_amd64.deb
 29d184a4b383e140b2043d943325b214 3674390 math optional pdl_2.016-3_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCgAGBQJXeEXDAAoJEGdQ8QrojUrxKOEP/1LgcvASy6hiG7yxiquDRvZb
rmgYx6w/9WFqynKnTHwesO/adzesVltIzXuQiPpFNR2smSQN9ASSVb69LBuKNkVD
k+01qf8bCz5gKGDvyTpUkMQSB4gox7s/iv23EV9EhD+ebTgQYxSEqRyiwZomuGGm
/otT18mbw3r0UyttgiYIPnkNQpAJqRDE0ADyliVEnel3BPlRUmYYa8MiBa5WjMVf
+ucHyUnc9U2JGNUY+FnO+d+9LJyWU2938jjDJ6WIWSxT3vb6LrgXv8Z3bc4r6yxS
UfUEcdxOiglff+xzWFhe8Wv/Kp7TZy/KE97HFHMuyOOCRPazpVOAn47UbH4ZjmoM
7XNvTFMp5K4I7dYFhr7AGda9Ol3NhyyZPBraXgn0mPRHBkjQYS4N55JQx/fZxwvq
ua0zPpwgFRgjdQJhWXiubH6gkMS8miyBSj7DqRFQswz5lrI3RUrL0kqtNHquhIS7
9WXYMNA1QHoyVVWRqsqI2a14tVxU5Qw1B+T2VwCGnRHwnFxtZiwrZFvfbMyrI335
t4MRXBEpHMhptA/dFyeNxf86QVD//za8iztnDFS3wXPwoP5ryJPtTCb07UMAi/Xk
gzSn1rrI96eGgUfgmO5wmdC7UqBVYzD97Vdz7iB02/5cORjPJrlaA9tCiDZOhU9z
89XfzHii9zzQbm5U4ey5
=Cf9A
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to