Source: liberasurecode
Version: 1.1.0-2
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org

Hi,

Whilst working on the "reproducible builds" effort [0], we noticed that
liberasurecode could not be built reproducibly.

What happens is that erasurecode_version.h headers are
non-determinstically installed in the target binary depending on the
system clock. This is due to debian/tmp/usr/include not being created
and the install-exec-hook ignores errors.

The attached patch ensures debian/tmp/usr/include exists and therefore
the headers will always be there. Once applied, liberasurecode can be
built reproducibly using our reproducible toolchain.

 [0] https://wiki.debian.org/ReproducibleBuilds


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
--- a/debian/patches/reproducible-build.patch   1970-01-01 02:00:00.000000000 
+0200
--- b/debian/patches/reproducible-build.patch   2015-11-29 10:46:09.883968933 
+0200
@@ -0,0 +1,12 @@
+--- liberasurecode-1.1.0.orig/Makefile.am
++++ liberasurecode-1.1.0/Makefile.am
+@@ -32,7 +32,8 @@ thisinclude_HEADERS = \
+       include/rs_vand/liberasurecode_rs_vand.h
+ 
+ install-exec-hook:
+-      -(cd $(DESTDIR)$(includedir) && \
++      -(mkdir -p $(DESTDIR)$(includedir) && \
++         cd $(DESTDIR)$(includedir) && \
+          rm -f erasurecode.h erasurecode_version.h \
+                erasurecode_stdinc.h erasurecode_helpers.h \
+                config_liberasurecode.h && \
--- a/debian/patches/series     2015-11-29 10:39:50.756146236 +0200
--- b/debian/patches/series     2015-11-29 10:46:07.603946325 +0200
@@ -1,2 +1,3 @@
 disable-sse.patch
 use-full-soname.patch
+reproducible-build.patch

Reply via email to