guix-commits
[Top][All Lists]
Advanced

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

01/01: gnu-maintenance: ftp.gnome.org does not provide signatures.


From: Ludovic Courtès
Subject: 01/01: gnu-maintenance: ftp.gnome.org does not provide signatures.
Date: Mon, 07 Dec 2015 22:57:43 +0000

civodul pushed a commit to branch master
in repository guix.

commit 6efa6f7645a95a08b0d4c663cd4a873eb0003555
Author: Ludovic Courtès <address@hidden>
Date:   Mon Dec 7 23:54:35 2015 +0100

    gnu-maintenance: ftp.gnome.org does not provide signatures.
    
    * guix/gnu-maintenance.scm (latest-ftp-release): Add #:file->signature
    parameter.  Honor it.
    (latest-gnome-release): Pass #:file->signature.
    * guix/upstream.scm (coalesce-sources): Keep 'signature-urls' as #f
    unless both sources provide it.
---
 guix/gnu-maintenance.scm |   15 ++++++++++++---
 guix/upstream.scm        |    5 +++--
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index 5ca2923..9364536 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -321,10 +321,13 @@ pairs.  Example: (\"mit-scheme-9.0.1\" . 
\"/gnu/mit-scheme/stable.pkg/9.0.1\").
                              #:key
                              (server "ftp.gnu.org")
                              (directory (string-append "/gnu/" project))
+                             (file->signature (cut string-append <> ".sig"))
                              (ftp-open ftp-open) (ftp-close ftp-close))
   "Return an <upstream-source> for the latest release of PROJECT on SERVER
 under DIRECTORY, or #f.  Use FTP-OPEN and FTP-CLOSE to open (resp. close) FTP
-connections; this can be useful to reuse connections."
+connections; this can be useful to reuse connections.  FILE->SIGNATURE must be
+a procedure; it is passed a source file URL and must return the corresponding
+signature URL, or #f it signatures are unavailable."
   (define (latest a b)
     (if (version>? a b) a b))
 
@@ -350,7 +353,9 @@ connections; this can be useful to reuse connections."
        (package project)
        (version (tarball->version file))
        (urls (list url))
-       (signature-urls (list (string-append url ".sig"))))))
+       (signature-urls (match (file->signature url)
+                         (#f #f)
+                         (sig (list sig)))))))
 
   (let loop ((directory directory)
              (result    #f))
@@ -468,7 +473,11 @@ elpa.gnu.org, and all the GNOME packages."
                        #:directory (string-append "/pub/gnome/sources/"
                                                   (match package
                                                     ("gconf" "GConf")
-                                                    (x       x))))))
+                                                    (x       x)))
+
+                       ;; ftp.gnome.org provides no signatures, only
+                       ;; checksums.
+                       #:file->signature (const #f))))
 
 (define %gnu-updater
   (upstream-updater
diff --git a/guix/upstream.scm b/guix/upstream.scm
index 12eed3f..c62667d 100644
--- a/guix/upstream.scm
+++ b/guix/upstream.scm
@@ -98,8 +98,9 @@ correspond to the same version."
                         (urls (append (upstream-source-urls release)
                                       (upstream-source-urls head)))
                         (signature-urls
-                         (append (upstream-source-signature-urls release)
-                                 (upstream-source-signature-urls head))))
+                         (let ((one (upstream-source-signature-urls release))
+                               (two (upstream-source-signature-urls release)))
+                           (and one two (append one two)))))
                        tail)
                  (cons release result)))
             (()



reply via email to

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