summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-04-07 18:07:09 +0200
committerLudovic Courtès <ludo@gnu.org>2014-04-07 18:16:58 +0200
commit1d000ae73ba99fc205a6c2596970e858ab4ce22f (patch)
treeaf40554dd213de004c5044bea270f60822290d19
parent6c1108330d9ee782ce8542ada9375e357eca62a7 (diff)
downloadguix-1d000ae73ba99fc205a6c2596970e858ab4ce22f.tar.gz
gnu: shadow: Make source file timestamps deterministic.
* gnu/packages/admin.scm (shadow)[arguments]: Add 'reset-timestamps'
  phase.
-rw-r--r--gnu/packages/admin.scm11
1 files changed, 10 insertions, 1 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 51b40c889e..774194d87b 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -201,7 +201,16 @@ client and server, a telnet client and server, and an rsh client and server.")
                       (delete-file (string-append bin "/groups"))
                       (for-each delete-file (find-files man "^groups\\."))
                       #t))
-                  %standard-phases))))
+                  (alist-cons-after
+                   'unpack 'reset-timestamps
+                   (lambda _
+                     ;; FIXME: Reset the file timestamps here, until the
+                     ;; 'unpack' phase does it for us.  See
+                     ;; <https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00098.html>.
+                     (for-each (lambda (file)
+                                 (utime file 0 0 0))
+                               (find-files "." "")))
+                   %standard-phases)))))
 
     (inputs (if (string-suffix? "-linux"
                                 (or (%current-target-system)