[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#786846: alt-ergo: [PATCH] please make the build reproducible - set build date



Package: alt-ergo
Version: 0.99.1+dfsg1-2
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps

Hi!

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

The attached patch removes extra timestamps from the build system,
helping us to work in make the build reproducible.

Notes:
* 0003-allow-set-build-date.patch: is a quilt patch.
* debian-rules.patch: is a patch for the debian directory file.

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

-- System Information:
Debian Release: stretch/sid
  APT prefers testing-updates
  APT policy: (500, 'testing-updates'), (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Description: Allow set the build date
 This patch moves the date command used for set the build date to a variable,
 allowing set the build date externally.
Author: Juan Picca <jumapico@gmail.com>
Last-Update: 2015-05-25
---
--- a/Makefile.users
+++ b/Makefile.users
@@ -1,4 +1,5 @@
 ARCH = $(shell uname -m)
+BUILD_DATE = $(shell LANG=en_US; date)
 
 VERSION=0.99.1
 
@@ -157,7 +158,7 @@ endif
 
 src/util/version.ml: config.status
 	@echo "let version = \""$(VERSION)"\"" >> src/util/version.ml
-	@echo "let date = \""`LANG=en_US; date`"\"" >> src/util/version.ml
+	@echo "let date = \""$(BUILD_DATE)"\"" >> src/util/version.ml
 	@echo "let bindir = \""$(BINDIR)"\"" >> src/util/version.ml
 	@echo "let libdir = \""$(LIBDIR)"\"" >> src/util/version.ml
 	@echo "let pluginsdir = \""$(PLUGINSDIR)"\"" >> src/util/version.ml
diff -ruNp alt-ergo-0.99.1+dfsg1.old/debian/rules alt-ergo-0.99.1+dfsg1/debian/rules
--- alt-ergo-0.99.1+dfsg1.old/debian/rules	2015-05-04 14:05:56.000000000 -0300
+++ alt-ergo-0.99.1+dfsg1/debian/rules	2015-05-25 11:32:50.114651077 -0300
@@ -3,10 +3,13 @@
 
 #export DH_VERBOSE=1
 
+LAST_CHANGE=$(shell dpkg-parsechangelog -S Date)
+BUILD_DATE=$(shell LC_ALL=C date -u "+%B %d, %Y" -d "$(LAST_CHANGE)")
+
 include /usr/share/ocaml/ocamlvars.mk
 
 override_dh_auto_build:
-	$(MAKE) all gui
+	$(MAKE) all gui BUILD_DATE="$(BUILD_DATE)"
 
 override_dh_auto_install:
 	$(MAKE) DESTDIR=debian/tmp install install-gui

Reply to: