Source: fizmo Version: 0.7.10-2 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: fileordering
Dear maintainer, while working on the “reproducible builds” effort [1], we have noticed that fizmo could not be built reproducibly. The attached patch ensures a stable file order when creating a static library. Once applied, fizmo can be built reproducibly in our current experimental framework. Thanks Sascha [1]: https://wiki.debian.org/ReproducibleBuilds
diff -Nru fizmo-0.7.10/debian/changelog fizmo-0.7.10/debian/changelog --- fizmo-0.7.10/debian/changelog 2016-04-04 08:23:31.000000000 +0000 +++ fizmo-0.7.10/debian/changelog 2016-08-06 16:09:06.000000000 +0000 @@ -1,3 +1,10 @@ +fizmo (0.7.10-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Make build reproducible. + + -- Sascha Steinbiss <sa...@debian.org> Sat, 06 Aug 2016 16:08:57 +0000 + fizmo (0.7.10-2) unstable; urgency=low * Correctly implemented alternatives for zcode-interpreter (Closes: #812412). diff -Nru fizmo-0.7.10/debian/patches/reproducible.patch fizmo-0.7.10/debian/patches/reproducible.patch --- fizmo-0.7.10/debian/patches/reproducible.patch 1970-01-01 00:00:00.000000000 +0000 +++ fizmo-0.7.10/debian/patches/reproducible.patch 2016-08-06 16:08:45.000000000 +0000 @@ -0,0 +1,14 @@ +Description: Make build reproducible + Address stable file ordering issue in ar call. +Author: Sascha Steinbiss <sa...@debian.org> +--- a/libfizmo/Makefile.am ++++ b/libfizmo/Makefile.am +@@ -50,7 +50,7 @@ + cd "$(tmplibdir)" ; \ + "$(AR)" x ../src/tools/libtools.a ; \ + "$(AR)" x ../src/interpreter/libinterpreter.a ; \ +- "$(AR)" $(ARFLAGS) ../libfizmo.a *.o ; \ ++ find -name '*.o' -print0 | LC_ALL=C sort -z | xargs -0 "$(AR)" $(ARFLAGS) ../libfizmo.a ; \ + "$(RANLIB)" ../libfizmo.a ; \ + cd .. ; \ + rm -r "$(tmplibdir)" diff -Nru fizmo-0.7.10/debian/patches/series fizmo-0.7.10/debian/patches/series --- fizmo-0.7.10/debian/patches/series 2016-04-04 08:23:31.000000000 +0000 +++ fizmo-0.7.10/debian/patches/series 2016-08-06 16:08:45.000000000 +0000 @@ -1 +1,2 @@ manpage-patch.diff +reproducible.patch