Source: starvoyager Version: 0.4.4-5.1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: fileordering
Dear Maintainer, While working on the "reproducible builds" effort [1], we have noticed that starvoyager could not be built reproducibly. The Makefile uses wildcards in the linker call, leading to unstable input file order and potentially different resulting binaries. I have attached a patch to use a fixed order for input object files. This makes the build reproducible for me in my local test environment. Regards, Sascha [1]: https://wiki.debian.org/ReproducibleBuilds
diff -u starvoyager-0.4.4/debian/patches/00list starvoyager-0.4.4/debian/patches/00list --- starvoyager-0.4.4/debian/patches/00list +++ starvoyager-0.4.4/debian/patches/00list @@ -3,0 +4 @@ +03_deterministic-linker-input only in patch2: unchanged: --- starvoyager-0.4.4.orig/debian/patches/03_deterministic-linker-input.dpatch +++ starvoyager-0.4.4/debian/patches/03_deterministic-linker-input.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03_deterministic-linker-input.patch.dpatch by Sascha Steinbiss <sas...@steinbiss.name> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' starvoyager-0.4.4~/Makefile starvoyager-0.4.4/Makefile +--- starvoyager-0.4.4~/Makefile 2002-11-14 01:27:58.000000000 +0000 ++++ starvoyager-0.4.4/Makefile 2016-03-27 09:32:05.492542234 +0000 +@@ -16,7 +16,7 @@ + + #Linking + starvoyager: alliance.o camera.o database.o error.o game.o interface.o presence.o ship.o sound.o ticker.o calc.o client.o equip.o frag.o graphic.o planet.o server.o sockhelper.o sv.o player.o os.o SDL_rotozoom.o SDL_gfxPrimitives.o +- $(CC) -o starvoyager *.o $(LIBS) ++ $(CC) -o starvoyager $^ $(LIBS) + + #Include dependencies + *.o: *.h
_______________________________________________ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds