mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 13:58:15 -05:00
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.
This commit is contained in:
parent
e80c0f85ba
commit
6efa6f7645
2 changed files with 15 additions and 5 deletions
|
@ -321,10 +321,13 @@ (define* (latest-ftp-release project
|
||||||
#:key
|
#:key
|
||||||
(server "ftp.gnu.org")
|
(server "ftp.gnu.org")
|
||||||
(directory (string-append "/gnu/" project))
|
(directory (string-append "/gnu/" project))
|
||||||
|
(file->signature (cut string-append <> ".sig"))
|
||||||
(ftp-open ftp-open) (ftp-close ftp-close))
|
(ftp-open ftp-open) (ftp-close ftp-close))
|
||||||
"Return an <upstream-source> for the latest release of PROJECT on SERVER
|
"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
|
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)
|
(define (latest a b)
|
||||||
(if (version>? a b) a b))
|
(if (version>? a b) a b))
|
||||||
|
|
||||||
|
@ -350,7 +353,9 @@ (define (file->source directory file)
|
||||||
(package project)
|
(package project)
|
||||||
(version (tarball->version file))
|
(version (tarball->version file))
|
||||||
(urls (list url))
|
(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)
|
(let loop ((directory directory)
|
||||||
(result #f))
|
(result #f))
|
||||||
|
@ -468,7 +473,11 @@ (define (latest-gnome-release package)
|
||||||
#:directory (string-append "/pub/gnome/sources/"
|
#:directory (string-append "/pub/gnome/sources/"
|
||||||
(match package
|
(match package
|
||||||
("gconf" "GConf")
|
("gconf" "GConf")
|
||||||
(x x))))))
|
(x x)))
|
||||||
|
|
||||||
|
;; ftp.gnome.org provides no signatures, only
|
||||||
|
;; checksums.
|
||||||
|
#:file->signature (const #f))))
|
||||||
|
|
||||||
(define %gnu-updater
|
(define %gnu-updater
|
||||||
(upstream-updater
|
(upstream-updater
|
||||||
|
|
|
@ -98,8 +98,9 @@ (define (release>? r1 r2)
|
||||||
(urls (append (upstream-source-urls release)
|
(urls (append (upstream-source-urls release)
|
||||||
(upstream-source-urls head)))
|
(upstream-source-urls head)))
|
||||||
(signature-urls
|
(signature-urls
|
||||||
(append (upstream-source-signature-urls release)
|
(let ((one (upstream-source-signature-urls release))
|
||||||
(upstream-source-signature-urls head))))
|
(two (upstream-source-signature-urls release)))
|
||||||
|
(and one two (append one two)))))
|
||||||
tail)
|
tail)
|
||||||
(cons release result)))
|
(cons release result)))
|
||||||
(()
|
(()
|
||||||
|
|
Loading…
Reference in a new issue