Source: gnome-desktop3
Version: 3.14.1-1
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: timestamps

Hi!

While working on the “reproducible builds” effort [1], we have noticed
that gnome-desktop3 could not be built reproducibly.

The attached patch will allow GNOME_DATE to be set externally and
use the latest debian/changelog entry as reference date. Once
applied, gnome-desktop3 can be built reproducibly in our current
experimental framework.

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

-- 
Lunar                                .''`. 
lu...@debian.org                    : :Ⓐ  :  # apt-get install anarchism
                                    `. `'` 
                                      `-   
diff -Nru gnome-desktop3-3.14.1/debian/changelog gnome-desktop3-3.14.1/debian/changelog
--- gnome-desktop3-3.14.1/debian/changelog	2014-10-19 15:16:12.000000000 +0000
+++ gnome-desktop3-3.14.1/debian/changelog	2015-05-05 09:25:34.000000000 +0000
@@ -1,3 +1,13 @@
+gnome-desktop3 (3.14.1-1.0~reproducible1) UNRELEASED; urgency=low
+
+  * Make the package build reproducibly:
+    - Add debian/patches/allow-external-gnome-date.patch to
+      be able to predefine GNOME_DATE.
+    - Set GNOME_DATE to the latest debian/changelog entry in
+      debian/rules.
+
+ -- Jérémy Bobbio <lu...@debian.org>  Tue, 05 May 2015 09:24:28 +0000
+
 gnome-desktop3 (3.14.1-1) unstable; urgency=medium
 
   [ Tim Lunn ]
diff -Nru gnome-desktop3-3.14.1/debian/patches/allow-external-gnome-date.patch gnome-desktop3-3.14.1/debian/patches/allow-external-gnome-date.patch
--- gnome-desktop3-3.14.1/debian/patches/allow-external-gnome-date.patch	1970-01-01 00:00:00.000000000 +0000
+++ gnome-desktop3-3.14.1/debian/patches/allow-external-gnome-date.patch	2015-05-05 09:24:09.000000000 +0000
@@ -0,0 +1,19 @@
+Description: allow GNOME_DATE to be set externally
+ In order to allow gnome-desktop3 to be built reproducibly, we
+ want to be able to set GNOME_DATE to a predefined value instead
+ of the current date.
+Author: Jérémy Bobbio <lu...@debian.org>
+
+--- gnome-desktop3-3.14.1.orig/configure.ac
++++ gnome-desktop3-3.14.1/configure.ac
+@@ -43,7 +43,9 @@ GNOME_PLATFORM=gnome_platform
+ GNOME_MINOR=gnome_minor
+ GNOME_MICRO=gnome_micro
+ GNOME_DISTRIBUTOR="GNOME.Org"
+-GNOME_DATE=`date +"%Y-%m-%d"`
++if test "x$GNOME_DATE" = x ; then
++ GNOME_DATE=`date +"%Y-%m-%d"`
++fi
+ 
+ AC_ARG_WITH(gnome_distributor, [ --with-gnome-distributor=DISTRIBUTOR Specify name of GNOME distributor])
+ 
diff -Nru gnome-desktop3-3.14.1/debian/patches/series gnome-desktop3-3.14.1/debian/patches/series
--- gnome-desktop3-3.14.1/debian/patches/series	2014-07-15 21:44:22.000000000 +0000
+++ gnome-desktop3-3.14.1/debian/patches/series	2015-05-05 09:23:20.000000000 +0000
@@ -1 +1,2 @@
 realpath-PATH_MAX.patch
+allow-external-gnome-date.patch
diff -Nru gnome-desktop3-3.14.1/debian/rules gnome-desktop3-3.14.1/debian/rules
--- gnome-desktop3-3.14.1/debian/rules	2014-10-01 00:37:57.000000000 +0000
+++ gnome-desktop3-3.14.1/debian/rules	2015-05-05 09:26:45.000000000 +0000
@@ -9,6 +9,9 @@
 include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
 include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk
 
+GNOME_DATE = $(shell dpkg-parsechangelog -S Date | date -u +"%Y-%m-%d" -f -)
+export GNOME_DATE
+
 LDFLAGS += -Wl,-z,defs -Wl,-O1 -Wl,--as-needed
 
 DEB_DH_AUTORECONF_ARGS = --as-needed

Attachment: signature.asc
Description: Digital signature

Reply via email to