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

Reply via email to