Source: lives
Version: 2.4.0~ds0-1
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps

Hi!

While working on the “reproducible builds” effort [1], we have noticed
that lives could not be built reproducibly. During the building of the
plugins from script files, the onchange entires appear in random
ordering as they are stored in a hash and then iterated by the hash keys
(who's order can differ between runs).

The attached patch sorts the onchange entries when building plugins from
scripts to make the package build reproducible.

Once applied, lives can be built reproducibly in our
current experimental framework.

Please also consider forwarding this patch upstream.

 [1]: https://wiki.debian.org/ReproducibleBuilds

Regards,
-- 
Dhole
diff -Nru lives-2.4.0~ds0/debian/changelog lives-2.4.0~ds0/debian/changelog
--- lives-2.4.0~ds0/debian/changelog    2015-07-11 17:49:51.000000000 +0200
+++ lives-2.4.0~ds0/debian/changelog    2015-07-15 17:36:30.000000000 +0200
@@ -1,3 +1,11 @@
+lives (2.4.0~ds0-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Sort the onchange entries when building plugins from scripts to
+    make the package build reproducible.
+
+ -- Dhole <dh...@openmailbox.org>  Wed, 15 Jul 2015 17:36:10 +0200
+
 lives (2.4.0~ds0-1) unstable; urgency=medium
 
   [ Alessio Treglia ]
diff -Nru 
lives-2.4.0~ds0/debian/patches/06-sort-onchanges-entries-in-plugins.patch 
lives-2.4.0~ds0/debian/patches/06-sort-onchanges-entries-in-plugins.patch
--- lives-2.4.0~ds0/debian/patches/06-sort-onchanges-entries-in-plugins.patch   
1970-01-01 01:00:00.000000000 +0100
+++ lives-2.4.0~ds0/debian/patches/06-sort-onchanges-entries-in-plugins.patch   
2015-07-15 17:37:06.000000000 +0200
@@ -0,0 +1,22 @@
+Description: Sort onchange entries when generating plugins
+ .
+ lives (2.4.0~ds0-1.1) UNRELEASED; urgency=medium
+ .
+   * Non-maintainer upload.
+   * Sort the onchange entries when building plugins from scripts to
+     make package build reproducible.
+Author: Dhole <dh...@openmailbox.org>
+
+---
+
+--- lives-2.4.0~ds0.orig/build-lives-rfx-plugin
++++ lives-2.4.0~ds0/build-lives-rfx-plugin
+@@ -655,7 +655,7 @@ sub gen_onchange {
+     }
+       
+     if ($pass==1) {
+-      foreach $which (keys %hash) {
++      foreach $which (sort keys %hash) {
+           print OUT "\nif (\$command eq \"onchange_$which\") {\n";
+ 
+           if (@requires&&$is_util&&$which eq "init") {
diff -Nru lives-2.4.0~ds0/debian/patches/series 
lives-2.4.0~ds0/debian/patches/series
--- lives-2.4.0~ds0/debian/patches/series       2015-07-05 16:27:05.000000000 
+0200
+++ lives-2.4.0~ds0/debian/patches/series       2015-07-15 17:36:44.000000000 
+0200
@@ -5,3 +5,4 @@
 05-gcc-5.patch
 parallel-build.patch
 9990-buildsystem.patch
+06-sort-onchanges-entries-in-plugins.patch

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to