guix-commits
[Top][All Lists]
Advanced

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

03/12: gnu-maintenance: 'gnu' updater prefers tarball with same compress


From: guix-commits
Subject: 03/12: gnu-maintenance: 'gnu' updater prefers tarball with same compression.
Date: Fri, 11 Nov 2022 17:19:30 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 9a35e4c5bd5c4148f32336c3a156d14a895fc5dd
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Fri Nov 11 12:26:41 2022 +0100

    gnu-maintenance: 'gnu' updater prefers tarball with same compression.
    
    Fixes <https://issues.guix.gnu.org/59168>.
    
    Previously 'guix build make --with-latest=make' would pick ".tar.lz",
    rather than "tar.gz", because "tar.lz" happened to come first in the
    <upstream-source> 'urls' field.
    
    * guix/gnu-maintenance.scm (latest-gnu-release)[archive-type]
    [better-tarball?]: New variables.
    Sort TARBALLS according to BETTER-TARBALL?.
---
 guix/gnu-maintenance.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index 10a6ec05f1..a1b73e6316 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -596,6 +596,12 @@ ftp.gnu.org.
 
 This method does not rely on FTP access at all; instead, it browses the file
 list available from %GNU-FILE-LIST-URI over HTTP(S)."
+  (define archive-type
+    (package-archive-type package))
+
+  (define (better-tarball? tarball1 tarball2)
+    (string=? (file-extension tarball1) archive-type))
+
   (let-values (((server directory)
                 (ftp-server/directory package))
                ((name)
@@ -626,7 +632,9 @@ list available from %GNU-FILE-LIST-URI over HTTP(S)."
                          (string-append "mirror://gnu/"
                                         (string-drop file
                                                      (string-length "/gnu/"))))
-                       tarballs))
+                       ;; Sort so that the tarball with the same compression
+                       ;; format as currently used in PACKAGE comes first.
+                       (sort tarballs better-tarball?)))
             (signature-urls (map (cut string-append <> ".sig") urls)))))
         (()
          #f)))))



reply via email to

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