Your message dated Sun, 31 Jan 2016 19:55:58 +0100
with message-id <20160131185558.GA8603@loar>
and subject line Re: Bug#806321: coreutils: please make the build reproducible 
(timestamps)
has caused the Debian Bug report #806321,
regarding coreutils: please make the build reproducible (timestamps)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
806321: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=806321
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: coreutils
Version: 8.23-4
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: timestamps

Hi!

While working on the “reproducible builds” effort [1], we have noticed
that coreutils could not be built reproducibly. The build process uses
help2man to create some of manpages.

help2man author added support for the SOURCE_DATE_EPOCH environment
variable [2] in version 1.47.1 which makes it possible to use a
pre-defined value instead of the time of the build.

As coreutils source currently contains an old version of help2man, the
attached patch will copy the version in the help2man Debian package
before running ./configure on top of setting SOURCE_DATE_EPOCH to the
date of the latest debian/changelog entry.

Once applied, coreutils can be built reproducibly in our current
experimental framework.

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

-- 
Lunar                                .''`. 
[email protected]                    : :Ⓐ  :  # apt-get install anarchism
                                    `. `'` 
                                      `-   
diff -u coreutils-8.23/debian/changelog coreutils-8.23/debian/changelog
--- coreutils-8.23/debian/changelog
+++ coreutils-8.23/debian/changelog
@@ -1,3 +1,14 @@
+coreutils (8.23-4.0~reproducible1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * Make the build reproducible:
+    - Replace in-tree help2man by the one in the help2man package. Add
+      the required Build-Depends. The in-tree help2man doesn't support
+      SOURCE_DATE_EPOCH.
+    - Set SOURCE_DATE_EPOCH to the date of the latest debian/changelog entry.
+
+ -- Jérémy Bobbio <[email protected]>  Thu, 26 Nov 2015 12:43:39 +0100
+
 coreutils (8.23-4) unstable; urgency=low
 
   * [33] remove chroot optimization that avoids the actual chroot when 
diff -u coreutils-8.23/debian/control coreutils-8.23/debian/control
--- coreutils-8.23/debian/control
+++ coreutils-8.23/debian/control
@@ -3,7 +3,7 @@
 Section: utils
 Priority: required
 Standards-Version: 3.9.6.0
-Build-Depends: gettext (>= 0.10.37), debhelper (>= 5.0.0), autotools-dev, dh-buildinfo, texinfo (>= 4.2), groff, dpatch, libattr1-dev [linux-any], libacl1-dev [linux-any], libselinux1-dev (>= 1.32) [linux-any], gperf, bison
+Build-Depends: gettext (>= 0.10.37), debhelper (>= 5.0.0), autotools-dev, dh-buildinfo, texinfo (>= 4.2), groff, dpatch, libattr1-dev [linux-any], libacl1-dev [linux-any], libselinux1-dev (>= 1.32) [linux-any], gperf, bison, help2man
 XS-Testsuite: autopkgtest
 
 Package: coreutils
diff -u coreutils-8.23/debian/rules coreutils-8.23/debian/rules
--- coreutils-8.23/debian/rules
+++ coreutils-8.23/debian/rules
@@ -20,6 +20,9 @@
   endif
 endif
 
+# ensure reproducible output
+export SOURCE_DATE_EPOCH = $(shell date -d "$$(dpkg-parsechangelog -SDate)" +%s)
+
 # implement no optimization build option
 CFLAGS = $(shell dpkg-buildflags --get CFLAGS)
 LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)
@@ -46,6 +46,9 @@
 	dh_testdir
 	dh_autotools-dev_updateconfig
 
+	# replace in-tree help2man by the one in Debian
+	cp /usr/bin/help2man man/help2man
+
 	CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
 		LDFLAGS='$(LDFLAGS)' ./configure \
 		--build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
Version: 8.25-1

Pádraig Brady:
> Note with the soon to be released coreutils 8.25 it will be better to
> leave the bundled help2man in place, but continue
> to set SOURCE_DATE_EPOCH as you do.
> 
> http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=c1b3d658

Thanks for the pointer!

Now uploaded in Debian, so closing.

-- 
Lunar                                .''`. 
[email protected]                    : :Ⓐ  :  # apt-get install anarchism
                                    `. `'` 
                                      `-   

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply via email to