Source: lives Version: 2.4.0~ds0-1 Severity: wishlist Tags: patch User: reproducible-bui...@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
signature.asc
Description: OpenPGP digital signature