diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-01-26 00:19:04 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-01-26 00:19:33 +0100 |
commit | 06aac933e1cc97781db0d28eb86b5d984099a30e (patch) | |
tree | bfbc83883b8965639f0dcccbb48ca2105e01b228 /guix | |
parent | ac41737f49402f8717a2f105a1910ffd9c6cfdb4 (diff) |
guix lint: Make the 'source' checker happy if at least one URI is valid.
Before that it would check all the URIs of each package.
* guix/scripts/lint.scm (validate-uri): Really return #f on failure and
#t otherwise.
(check-source): Replace 'for-each' with 'any'.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/scripts/lint.scm | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index eb0c9f7da0..229b73702e 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -264,21 +264,22 @@ warning for PACKAGE mentionning the FIELD." (probe-uri uri))) (case status ((http-response) - (unless (= 200 (response-code argument)) - (emit-warning package - (format #f - (_ "URI ~a not reachable: ~a (~s)") - (uri->string uri) - (response-code argument) - (response-reason-phrase argument)) - field))) + (or (= 200 (response-code argument)) + (emit-warning package + (format #f + (_ "URI ~a not reachable: ~a (~s)") + (uri->string uri) + (response-code argument) + (response-reason-phrase argument)) + field))) ((getaddrinfo-error) (emit-warning package (format #f (_ "URI ~a domain not found: ~a") (uri->string uri) (gai-strerror (car argument))) - field)) + field) + #f) ((system-error) (emit-warning package (format #f @@ -287,15 +288,15 @@ warning for PACKAGE mentionning the FIELD." (strerror (system-error-errno (cons status argument)))) - field)) + field) + #f) ((invalid-http-response gnutls-error) ;; Probably a misbehaving server; ignore. #f) ((not-http) ;nothing we can do #f) (else - (error "internal linter error" status))) - #t)) + (error "internal linter error" status))))) (define (check-home-page package) "Emit a warning if PACKAGE has an invalid 'home-page' field, or if that @@ -396,9 +397,10 @@ descriptions maintained upstream." (uris (if (list? strings) (map string->uri strings) (list (string->uri strings))))) - (for-each - (cut validate-uri <> package 'source) - (append-map (cut maybe-expand-mirrors <> %mirrors) uris)))))) + ;; Just make sure that at least one of the URIs is valid. + (any (cut validate-uri <> package 'source) + (append-map (cut maybe-expand-mirrors <> %mirrors) + uris)))))) |