summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-11-21 00:07:08 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-11-21 09:08:52 -0500
commit01ea70a29c5c1ded31c37ce8c43192bc1956b2ca (patch)
tree8b013f78bdb6562e0acff43fadf55656533c7e9c /gnu
parenta0e5af459320fcf4c97d3f0b9e68e04b6743ec7a (diff)
downloadguix-01ea70a29c5c1ded31c37ce8c43192bc1956b2ca.tar.gz
gnu: linux-libre: Make build reproducible.
Fixes <https://issues.guix.gnu.org/24028>.

* gnu/packages/linux.scm (make-linux-libre*): Remove trailing #t.
[phases]{configure}: Set KBUILD_BUILD_USER and KBUILD_BUILD_HOST environment
variables.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/linux.scm14
1 files changed, 8 insertions, 6 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 71da82d97d..2dccf8ac26 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -818,15 +818,18 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
          (add-after 'unpack 'patch-/bin/pwd
            (lambda _
              (substitute* (find-files "." "^Makefile(\\.include)?$")
-               (("/bin/pwd") "pwd"))
-             #t))
+               (("/bin/pwd") "pwd"))))
          (replace 'configure
            (lambda* (#:key inputs native-inputs target #:allow-other-keys)
-             ;; Avoid introducing timestamps
+             ;; Avoid introducing timestamps.
              (setenv "KCONFIG_NOTIMESTAMP" "1")
              (setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
 
-             ;; Set ARCH and CROSS_COMPILE
+             ;; Other variables useful for reproducibility.
+             (setenv "KBUILD_BUILD_USER" "guix")
+             (setenv "KBUILD_BUILD_HOST" "guix")
+
+             ;; Set ARCH and CROSS_COMPILE.
              (let ((arch ,(system->linux-architecture
                            (or (%current-target-system)
                                (%current-system)))))
@@ -897,8 +900,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
                  (false-if-file-not-found
                   (delete-file (string-append moddir "/" version "/build")))
                  (false-if-file-not-found
-                  (delete-file (string-append moddir "/" version "/source"))))
-               #t))))
+                  (delete-file (string-append moddir "/" version "/source"))))))))
        #:tests? #f))
     (home-page "https://www.gnu.org/software/linux-libre/")
     (synopsis "100% free redistribution of a cleaned Linux kernel")