Your message dated Fri, 1 May 2015 16:52:37 +0200
with message-id 
<cahkymetnzwhwuhoc_s0hievo69yp-mghn_yey_ntn7ph_6n...@mail.gmail.com>
and subject line Re: [Reproducible-builds] Bug#774496: ncurses: please make 
ncurses build reproducibly
has caused the Debian Bug report #774496,
regarding ncurses: please make ncurses build reproducibly
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.)


-- 
774496: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774496
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: ncurses
Version: 5.9+20140913-1
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: timestamps

Hi!

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

The attached patch will add calls to strip-nondeterminism on static
libraries. Once applied, the package can be built reproducibly with our
current experimental framework.

I've initially tried to run `ar` in deterministic mode by passing
ARFLAGS="Dcrv". Unfortunately, `ranlib` is called after `ar` and there
doesn't seem to be a way to pass the `-D` flag to it, and so it will
write a timestamp in the newly created index.

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

-- 
Lunar                                .''`. 
[email protected]                    : :Ⓐ  :  # apt-get install anarchism
                                    `. `'` 
                                      `-   
From 914efd4f2ca07ada794bc70e6ecc8eb39725303c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Bobbio?= <[email protected]>
Date: Sat, 3 Jan 2015 13:54:20 +0100
Subject: [PATCH] Call strip-nondeterminism on static libraries

Static libraries will unfortunately contain timestamps, preventing the
package to be built reproducibly. strip-nondeterminism will take care
of normalizing the libraries.

Passing 'Dcvr' as ARFLAGS to configure is unfortunately not enough.
The build process also calls ranlib, and there doesn't seem to be
a way to give it the '-D' flag.
---
 debian/control | 1 +
 debian/rules   | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/debian/control b/debian/control
index 5c32f76..2cbbd67 100644
--- a/debian/control
+++ b/debian/control
@@ -9,6 +9,7 @@ Build-Depends: debhelper (>= 8.1.3),
                libgpm-dev [linux-any],
                pkg-config,
                autotools-dev,
+               strip-nondeterminism,
 Standards-Version: 3.9.5
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/ncurses.git
 Vcs-Git: git://anonscm.debian.org/collab-maint/ncurses.git
diff --git a/debian/rules b/debian/rules
index 1c0bc1a..924e7dd 100755
--- a/debian/rules
+++ b/debian/rules
@@ -344,6 +344,11 @@ install: build
 	dh_testroot
 	dh_prep
 
+	find $(objdir) $(objdir-static) $(objdir-32) $(objdir-64) \
+		$(wobjdir) $(wobjdir-static) $(wobjdir-32) \
+		$(objdir-debug) $(wobjdir-debug) -type f -name '*.a' -print0 | \
+		xargs -0r strip-nondeterminism --type ar
+
 	# Static debug libraries need _g suffix to avoid file clashes
 	set -e; \
 	for lib in $(objdir-debug)/lib/*.a; do \
-- 
2.1.4

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
On Fri, May 1, 2015 at 3:34 PM, Sven Joachim <[email protected]> wrote:
> Apparently doko thinks that `--enable-deterministic-archives` is a good
> idea, since he implemented it in binutils 2.25-6. :-)  Is there still
> anything I need to do in ncurses?

indeed, closing the bug now! :)

as you can see ncurses is now reproducible:
https://reproducible.debian.net/unstable/amd64/ncurses

-- 
regards,
Mattia Rizzolo

GPG Key: 4096R/B9444540 http://goo.gl/I8TMB
more about me: http://mapreri.org
Launchpad User: https://launchpad.net/~mapreri
Ubuntu Wiki page: https://wiki.ubuntu.com/MattiaRizzolo

--- End Message ---

Reply via email to