Your message dated Sat, 17 Oct 2015 13:48:41 +0000
with message-id <[email protected]>
and subject line Bug#802078: fixed in libextutils-xsbuilder-perl 0.28-3
has caused the Debian Bug report #802078,
regarding libextutils-xsbuilder-perl: make the generated XS code 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.)
--
802078: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802078
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libextutils-xsbuilder-perl
Version: 0.28-2
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: randomness toolchain
X-Debbugs-Cc: [email protected]
While working on the "reproducible builds" effort [1], we have noticed
that the libapreq2 package could not be built reproducibly. The XS code
generated by ExtUtils::XSBuilder varies between builds. The attached
patches to libextutils-xsbuilder-perl fix this.
Please note that I had some whitespace grief, as the patched module
has DOS linefeeds. These patches should be OK for dpkg-source / quilt,
but git-am may need the '--ignore-whitespace' option.
[1]: https://wiki.debian.org/ReproducibleBuilds
--
Niko Tyni [email protected]
>From 7fb4db40af72b6fe203bf48988680eec3b794a6c Mon Sep 17 00:00:00 2001
From: Niko Tyni <[email protected]>
Date: Sat, 17 Oct 2015 14:05:03 +0300
Subject: [PATCH 1/2] Sort the xs_includes() directory list for reproducibility
The generated XS code will have #include lines in this order, so sorting
helps make the code stable between builds.
---
XSBuilder/WrapXS.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/XSBuilder/WrapXS.pm b/XSBuilder/WrapXS.pm
index b25cf5a..6c76e69 100644
--- a/XSBuilder/WrapXS.pm
+++ b/XSBuilder/WrapXS.pm
@@ -205,7 +205,7 @@ sub xs_includes
return [
- keys %includes,
+ sort(keys %includes),
-f $self -> xs_include_dir . '/'. $fixup1?$fixup1:(),
'EXTERN.h', 'perl.h', 'XSUB.h',
-f $self -> xs_include_dir . '/'. $fixup2?$fixup2:(),
--
2.5.1
>From 0ec5e5a19e32e39b05a60fd32a59287c6dc1db85 Mon Sep 17 00:00:00 2001
From: Niko Tyni <[email protected]>
Date: Sat, 17 Oct 2015 14:05:08 +0300
Subject: [PATCH 2/2] Sort the order of function_list() elements for
reproducibility
This is the order that get_function() gets called in, so sorting
helps make the generated code stable between builds.
---
XSBuilder/WrapXS.pm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/XSBuilder/WrapXS.pm b/XSBuilder/WrapXS.pm
index 6c76e69..ed662e9 100644
--- a/XSBuilder/WrapXS.pm
+++ b/XSBuilder/WrapXS.pm
@@ -325,7 +325,8 @@ sub function_list {
my $self = shift;
my(@list) = @{ function_table($self) };
- while (my($name, $val) = each %{ $self->typemap->function_map }) {
+ for my $name (sort keys %{ $self->typemap->function_map }) {
+ my $val = $self->typemap->function_map->{$name};
#entries that do not exist in C::Scan generated tables
next unless $name =~ /^DEFINE_/;
push @list, $val;
--
2.5.1
--- End Message ---
--- Begin Message ---
Source: libextutils-xsbuilder-perl
Source-Version: 0.28-3
We believe that the bug you reported is fixed in the latest version of
libextutils-xsbuilder-perl, 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.
Niko Tyni <[email protected]> (supplier of updated libextutils-xsbuilder-perl
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: SHA256
Format: 1.8
Date: Sat, 17 Oct 2015 16:30:53 +0300
Source: libextutils-xsbuilder-perl
Binary: libextutils-xsbuilder-perl
Architecture: source
Version: 0.28-3
Distribution: unstable
Urgency: low
Maintainer: Debian Perl Group <[email protected]>
Changed-By: Niko Tyni <[email protected]>
Description:
libextutils-xsbuilder-perl - Automatic XS glue code generation
Closes: 802078
Changes:
libextutils-xsbuilder-perl (0.28-3) unstable; urgency=low
.
* Team upload.
.
[ Ansgar Burchardt ]
* Update my email address.
* debian/control: Convert Vcs-* fields to Git.
.
[ Salvatore Bonaccorso ]
* debian/copyright: Replace DEP5 Format-Specification URL from
svn.debian.org to anonscm.debian.org URL.
* Change Vcs-Git to canonical URI (git://anonscm.debian.org)
* Change search.cpan.org based URIs to metacpan.org based URIs
* Update Vcs-Browser URL to cgit web frontend
.
[ gregor herrmann ]
* Strip trailing slash from metacpan URLs.
.
[ Niko Tyni ]
* Add patches to make generated XS code reproducible. (Closes: #802078)
* Make the package autopkgtestable.
Checksums-Sha1:
7e48e14affdd2ed75a9c11f5980638a19f79f581 2208
libextutils-xsbuilder-perl_0.28-3.dsc
bc4db13785157a2586a02f426841192b1ed38de9 4580
libextutils-xsbuilder-perl_0.28-3.debian.tar.xz
Checksums-Sha256:
04fda54fafe8cf005a14204725fd61c301c9fa3be4dd4dff49c00a6b60aff8e9 2208
libextutils-xsbuilder-perl_0.28-3.dsc
fef8b03f496aa4b3f11de9beee0a0f76b3154f298d15b3f0690154cd06606346 4580
libextutils-xsbuilder-perl_0.28-3.debian.tar.xz
Files:
48a4ce07f44fc8bbef1aab6acd672362 2208 perl optional
libextutils-xsbuilder-perl_0.28-3.dsc
4fbc863d8be447b6e8e106dc83fd8e87 4580 perl optional
libextutils-xsbuilder-perl_0.28-3.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBCAAGBQJWIk4yAAoJEC7A/7O3MBsfA6kP/R10mRG5/0NMBCw7S5a0exVP
asS/cN97KfDvAsVyUL9omcTv3hRwA+deL03oBhA98Bu+oL7AR22yKL0p9V23RL6I
KNL45qY3fzMSWu/Q2DFbBl8HRET0VEerKfaqC3RTQTO154E8BbGTyUeyPsAckuS6
z3lvDs6mlxE3SS5AlBIk7hroRrXsptc07BocyiTXlDjoydwEdUWMinpIrHdaZfH4
CzN7y0BchsTu5e3Nw0XiFcgB7N1WiMg1bqohaRQ2MwpUMc79xZbPmvdyvR/ErWIS
DyvR7G+JJF+Iw6AkmhDMn6ojw5gfAgluEn6+P7RueP7Fo3/3u0WU6yZ2d9oYtoVc
Ocy1xmPSzP10bskeVZw4Me+aoW2vn+BDoCTJdX4VX88v3Y+MLGiTO3YMt6f74/ce
Of61idYEnzUiHK+JvutkUJKet4OArxYgpukVnr+O1Q1fdva+ksJn1NQRHe3yBR1d
Mwv+DNehgDXOzE2b4QDcZw95acWX4aZs7rZtvfWbJ4fQ8JQVb7XO/J0P9o5sjmC3
PSfKxjTQA9EIgvdiLsNd4RWYw5tdnz37E3UyPqeLyWnkHZ2YXu9qP/rFlWIZ3ZvK
+Rm2+S7ROtHgDgPtXx4dfJcaGwQIA4XW25YiH+QV8Ft0yEEScqWvjtPSXqrbWzSZ
MAGUZ3yXZXq9o9N0X/po
=+g1/
-----END PGP SIGNATURE-----
--- End Message ---