Source: fpga-icestorm Version: 0~20160218gitf2b2549-1 Severity: wishlist Tags: upstream patch User: reproducible-bui...@lists.alioth.debian.org Usertags: randomness
Dear Maintainer, While working on the “reproducible builds” effort [1], we have noticed that fpga-icestorm-chipdb could not be built reproducibly: the order of ".pins" sections in chipdb-1k.txt and chipdb-8k.txt is random [2]. The attached patch ensures a stable section order in those two files. I believe with this patch, fpga-icestorm will be fully reproducible. Best, Daniel [1]: https://wiki.debian.org/ReproducibleBuilds [2]: https://tests.reproducible-builds.org/rb-pkg/unstable/amd64/fpga-icestorm.html
diff --git a/debian/patches/reproducible.patch b/debian/patches/reproducible.patch new file mode 100644 index 0000000..43779cb --- /dev/null +++ b/debian/patches/reproducible.patch @@ -0,0 +1,17 @@ +Description: make the build reproducible +Author: Daniel Shahaf <danie...@apache.org> +Bug-Debian: https://bugs.debian.org/-1 +Last-Update: 2016-05-06 + +--- fpga-icestorm-0~20160218gitf2b2549.orig/icebox/icebox_chipdb.py ++++ fpga-icestorm-0~20160218gitf2b2549/icebox/icebox_chipdb.py +@@ -172,7 +172,7 @@ all_group_segments = ic.group_segments(a + print(".device %s %d %d %d" % (ic.device, ic.max_x+1, ic.max_y+1, len(all_group_segments))) + print() + +-for key in list(icebox.pinloc_db.keys()): ++for key in sorted(icebox.pinloc_db.keys()): + key_dev, key_package = key.split("-") + if key_dev == ic.device: + print(".pins %s" % (key_package)) + diff --git a/debian/patches/series b/debian/patches/series index 0353649..e512c55 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,3 +3,4 @@ 03_cxxflags.patch override-CXX.patch fix_spelling_in_binaries.patch +reproducible.patch