summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludovic.courtes@inria.fr>2020-03-13 13:02:01 +0100
committerLudovic Courtès <ludo@gnu.org>2020-03-13 17:33:37 +0100
commitb829864d747b3b24ef37cafe36e889527b060d4d (patch)
tree28ecf2f68ed153305532678c2b44e4b3b5f1c073
parentb24ec854519c0e0815b19eeb246c47444aa687c5 (diff)
downloadguix-b829864d747b3b24ef37cafe36e889527b060d4d.tar.gz
pack: Make bit-reproducible squashfs images.
Reported by Josh Marshall <Josh.Marshall@jax.org>.

* guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Always pass
"-all-time", "-mkfs-time", "-force-uid", and "-force-gid" to 'mksquashfs'.
-rw-r--r--guix/scripts/pack.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 70239b64de..414e2d45f3 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -366,7 +366,15 @@ added to the pack."
           (define entry-point #$entry-point)
 
           (define (mksquashfs args)
-            (apply invoke "mksquashfs" args))
+            (apply invoke "mksquashfs"
+                   `(,@args
+
+                     ;; Set file times and the file system creation time to
+                     ;; one second after the Epoch.
+                     "-all-time" "1" "-mkfs-time" "1"
+
+                     ;; Reset all UIDs and GIDs.
+                     "-force-uid" "0" "-force-gid" "0")))
 
           (setenv "PATH" (string-append #$archiver "/bin"))