From c5b65f7e2bd907a5b7061a42959c485d69ba1ac6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 16 Dec 2015 22:05:30 +0100 Subject: gnu: glibc: Remove timestamp from 'nscd' binary. This makes libc bit-for-bit reproducible per '--rounds=2'. * gnu/packages/base.scm (glibc)[arguments] : Remove __DATE__ and __TIME__ from nscd_stat.c. --- gnu/packages/base.scm | 9 +++++++++ 1 file changed, 9 insertions(+) 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" -- cgit v1.2.3