summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-12-16 22:05:30 +0100
committerLudovic Courtès <ludo@gnu.org>2015-12-16 22:05:30 +0100
commitc5b65f7e2bd907a5b7061a42959c485d69ba1ac6 (patch)
treee44556f24055ef765ccb0febfa6e242358e047c0
parent6042f40bfa0a78bfa850a0ff469a785b2da68a61 (diff)
gnu: glibc: Remove timestamp from 'nscd' binary.
This makes libc bit-for-bit reproducible per '--rounds=2'. * gnu/packages/base.scm (glibc)[arguments] <pre-configure>: Remove __DATE__ and __TIME__ from nscd_stat.c.
-rw-r--r--gnu/packages/base.scm9
1 files changed, 9 insertions, 0 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 75f00a6f5b..ce7d1cdd77 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -595,6 +595,15 @@ store.")
(string-append "#define _PATH_BSHELL \""
bash "/bin/bash\"\n")))
+ ;; Nscd uses __DATE__ and __TIME__ to create a string to
+ ;; make sure the client and server come from the same
+ ;; libc. Use something deterministic instead.
+ (substitute* "nscd/nscd_stat.c"
+ (("static const char compilation\\[21\\] =.*$")
+ (string-append
+ "static const char compilation[21] = \""
+ (string-take (basename out) 20) "\";\n")))
+
;; Make sure we don't retain a reference to the
;; bootstrap Perl.
(substitute* "malloc/mtrace.pl"