guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

311/311: build: cargo-build-system: Pack crates reproducibly.


From: guix-commits
Subject: 311/311: build: cargo-build-system: Pack crates reproducibly.
Date: Sat, 28 Oct 2023 16:39:48 -0400 (EDT)

efraim pushed a commit to branch rust-team
in repository guix.

commit b497cbb5adfb8438cc53c502d84c947d9c8d8a98
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Sat Oct 28 18:09:05 2023 +0300

    build: cargo-build-system: Pack crates reproducibly.
    
    This fixes reproducibility in rust crates from the package phase, again,
    see <https://issues.guix.gnu.org/50015>.
    
    Reported by: Christopher Baines (in person).
    
    * guix/build/cargo-build-system.scm (package): When repacking the crate
    tarball use standard reproducibility flags.
    
    Change-Id: Ifb1440a023226bf0718e99ce9f95ef981e510cbc
---
 guix/build/cargo-build-system.scm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/guix/build/cargo-build-system.scm 
b/guix/build/cargo-build-system.scm
index 505c0b4b01..1694ab973c 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -264,7 +264,11 @@ directory = '" port)
                               (unless (eq? (stat:type s) 'symlink)
                                 (utime file 0 0 0 0))))
                           (find-files dir #:directories? #t))
+
                 (apply invoke "tar" "czf" (string-append dir ".crate")
+                       ;; avoid non-determinism in the archive
+                       "--sort=name" "--mtime=@0"
+                       "--owner=root:0" "--group=root:0"
                        (find-files dir #:directories? #t))
                 (delete-file-recursively dir)))
             (find-files "." "\\.crate$")))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]