Your message dated Tue, 27 Jan 2015 15:49:23 +0000
with message-id <[email protected]>
and subject line Bug#775229: fixed in sheepdog 0.8.3-4
has caused the Debian Bug report #775229,
regarding sheepdog: 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.)
--
775229: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=775229
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: sheepdog
Version: 0.8.3-3
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: randomness
Hi!
While working on the “reproducible builds” effort [1], we have noticed
that sheepdog could not be built reproducibly.
At build time a bash_completion file is generated with a perl script
that iterates over keys of a hash. This operation is not deterministic,
which results in a different file on each build.
The attached patch is sorting the keys to have a stable order and get
the same output.
Once applied, sheepdog can be built reproducibly in our current
experimental framework.
Regards,
Reiner
[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/changelog b/debian/changelog
index 05fa9e8..614f77a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+sheepdog (0.8.3-3.0~reproducible1) UNRELEASED; urgency=low
+
+ * Added patch for the script that generates the bash_completion
+ file to produce stable output in order to make builds reproducible.
+
+ -- Reiner Herrmann <[email protected]> Mon, 12 Jan 2015 20:18:31 +0100
+
sheepdog (0.8.3-3) unstable; urgency=medium
* Initial Dutch translation of debconf messages thanks to Frans
diff --git a/debian/patches/series b/debian/patches/series
index 0d958b5..5273a01 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
define_EFD_SEMAPHORE_ifnone.diff
subdir-objects.diff
+sorted_bash_completion.diff
diff --git a/debian/patches/sorted_bash_completion.diff b/debian/patches/sorted_bash_completion.diff
new file mode 100644
index 0000000..f661f0d
--- /dev/null
+++ b/debian/patches/sorted_bash_completion.diff
@@ -0,0 +1,37 @@
+Author: Reiner Herrmann <[email protected]>
+Description: sort keys to produce stable output
+ To make the build reproducible, the script has to
+ produce the same file every time. As the order of
+ 'keys' is not deterministic, they have to be sorted.
+
+Index: sheepdog-0.8.3/script/gen_bash_completion.pl
+===================================================================
+--- sheepdog-0.8.3.orig/script/gen_bash_completion.pl
++++ sheepdog-0.8.3/script/gen_bash_completion.pl
+@@ -52,7 +52,7 @@ foreach (@help) {
+ }
+ }
+
+-foreach my $cmd (keys %subcmds) {
++foreach my $cmd (sort keys %subcmds) {
+ my @subcmds = @{$subcmds{$cmd}};
+
+ print command($cmd, @subcmds);
+@@ -66,7 +66,7 @@ print <<__EOB__;
+ _dog()
+ {
+ local opts cur cmd subcmd
+- opts="@{[keys %subcmds]}"
++ opts="@{[sort keys %subcmds]}"
+ cur="\${COMP_WORDS[COMP_CWORD]}"
+
+ if [ \$COMP_CWORD -gt 1 ]; then
+@@ -80,7 +80,7 @@ _dog()
+ case "\${cmd}" in
+ __EOB__
+
+- foreach my $cmd (keys %subcmds) {
++ foreach my $cmd (sort keys %subcmds) {
+ print <<__EOB__;
+ $cmd)
+ _dog_$cmd \${subcmd}
signature.asc
Description: OpenPGP digital signature
--- End Message ---
--- Begin Message ---
Source: sheepdog
Source-Version: 0.8.3-4
We believe that the bug you reported is fixed in the latest version of
sheepdog, 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.
Thomas Goirand <[email protected]> (supplier of updated sheepdog 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: Tue, 27 Jan 2015 15:25:09 +0000
Source: sheepdog
Binary: sheepdog
Architecture: source amd64
Version: 0.8.3-4
Distribution: unstable
Urgency: medium
Maintainer: PKG OpenStack <[email protected]>
Changed-By: Thomas Goirand <[email protected]>
Description:
sheepdog - distributed storage system for QEMU
Closes: 775229
Changes:
sheepdog (0.8.3-4) unstable; urgency=medium
.
* Refreshed patches.
* Added patch for the script that generates the bash_completion
file to produce stable output in order to make builds reproducible.
Thanks to Reiner Herrmann <[email protected]> for the bug report and
patch (Closes: #775229).
Checksums-Sha1:
19a9b5e168bdfa40591b876edd204d6173d51e60 2067 sheepdog_0.8.3-4.dsc
17dc666ffa77d150d903e10088b71bb609c9ae65 165080 sheepdog_0.8.3-4.debian.tar.xz
5a4032a761038fde641869ef8b062c9ccccb9ec5 406938 sheepdog_0.8.3-4_amd64.deb
Checksums-Sha256:
4720f836d3d9c2953bd5cc1e89472f29227bdff3988d667d69e0e56061658f32 2067
sheepdog_0.8.3-4.dsc
81476a30aab0a615d08721a760cc3bbdcc4b9e802cd5a3c44295c5cfab5965c7 165080
sheepdog_0.8.3-4.debian.tar.xz
fe76138716e646b6ebc31864ef9faa28f32013f830e9e28334c486838f4b01e1 406938
sheepdog_0.8.3-4_amd64.deb
Files:
bb979a29e280a2eba6e830520293c882 2067 admin optional sheepdog_0.8.3-4.dsc
c63f6d26a1d4dafab7d1d314f51eca45 165080 admin optional
sheepdog_0.8.3-4.debian.tar.xz
449053da336cbf98a807fcafeb71def1 406938 admin optional
sheepdog_0.8.3-4_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBCAAGBQJUx6+4AAoJENQWrRWsa0P+sBEP/RDvM1Yrun007o4rbwdFxufQ
Vmpfa6sYWILM0Hj0IRzA7oJiDRMPDb/Clc6Ven4qIkhOaFLtMKFkvXlg1505LERG
eHl6FEmBRxrDLljfZVJOPjLQM80RCI3UM5FYFUo9w7JVB/LoyHfiS8R6C8v+Uy+0
RpSOouT2hRj9xtE4igbvokkRoDM4E4bBmYiWKaKIu1m4hr1WEKJpW02DirZ4OCuI
dhNZcD1+CB25KqJh262QjW3VpJQpWEeR+KNiNuvEb2ecQHe1L8aE46Wwa8bOPVNj
b89qiU4FzBT3/VrCSzCQN++6iPQIyc2t8B0nnqbGTz3av1J2lzW7ebmPKxRUOCE4
TwSDLvydcbzP5Tb2Y7E3Gmn0xIkg82HVZUIr0nzWqXiD5cDFxRtuvxH8nm1Lc2Wx
YfpiWNgMs0KsHpOyLklbX5qBBEqxUleUDm2PLp3mIvSFmH5bOWsVzoKGFCuomaO8
Gw4uxhYW5OHxnwzgrUth74/iQQZFVUUIyX4094fynUMEAIA/qrzKsrec7ggpSAEv
Tjfbr4Lw0PeZrLRLwRsE67XnXH/HLnZTyYH7oJ1AsRzHBkYbDanECqWpA9modwg8
5n+yD7fYcIScLpFOk9/sWRzw0m7hc6voFzy0DoIFPRDHZLRhFq/U0C0JtCleI7OI
7SLGCAZYZsfsi0L5u2IU
=/6IR
-----END PGP SIGNATURE-----
--- End Message ---