Source: loadlin
Version: 1.6f-3
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi,

While working on the "reproducible builds" effort [1], we have noticed
that loadlin could not be built reproducibly.

The attached patch removes timestamps from the build system. Once
applied, loadlin can be built reproducibly in our reproducible
toolchain.

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


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
diff -urNad loadlin.orig/loadlin-1.6f/debian/rules 
loadlin/loadlin-1.6f/debian/rules
--- loadlin.orig/loadlin-1.6f/debian/rules      2015-02-24 20:15:44.018536283 
+0000
+++ loadlin/loadlin-1.6f/debian/rules   2015-02-24 20:22:19.599746812 +0000
@@ -2,6 +2,7 @@
 
 DEB_TARBALL=
 DEB_INSTALL_CHANGELOGS_loadlin=doc/changes
+BUILD_DATE=$(shell dpkg-parsechangelog --show-field Date)
 
 BYHAND ?= no
 
@@ -17,9 +18,13 @@
 build-loadlin: $(QUILT_STAMPFN)
        make -C src/srclinux
        (cd src; ytasm /b loadlin.asm, ../loadlin.exe )
-       gzip -cv9 loadlin.exe >loadlin.exe.gz
+       gzip -cv9n loadlin.exe >loadlin.exe.gz
        $(CC) $(CFLAGS) initrd/freeramdisk.c -o freeramdisk
-       tar czf initrd.tgz initrd
+       find initrd -not -type d -print0 | \
+               LC_ALL="C" sort --zero-terminated | \
+               GZIP="-9n" tar --create --gzip --null --files-from=- \
+                       --file=initrd.tgz --mtime="$(BUILD_DATE)" \
+                       --owner=root --group=root --numeric-owner
        touch build-loadlin
 
 build-indep:
_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to