diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-04-04 22:43:13 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-04-06 23:59:46 +0200 |
commit | 709f30b8e466b5f7155255be4f2cee008f8d01a9 (patch) | |
tree | e8fe9bb79b3dc18b691c3088f4115c951e9c153d | |
parent | 35ca3cfbcf6018cee94c6f458a74cfd814747812 (diff) | |
download | guix-709f30b8e466b5f7155255be4f2cee008f8d01a9.tar guix-709f30b8e466b5f7155255be4f2cee008f8d01a9.tar.gz |
lint: refresh: Warn about missing or dysfunctional updaters.
This feedback should help us improve updaters.
* guix/lint.scm (check-for-updates): Return a warning when PACKAGE lacks
an updater or when the updater returns #f.
-rw-r--r-- | guix/lint.scm | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/guix/lint.scm b/guix/lint.scm index cdd9dd14d7..a7d6bbba4f 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -1191,21 +1191,32 @@ vulnerability records for PACKAGE by calling PACKAGE-VULNERABILITIES." (define (check-for-updates package) "Check if there is an update available for PACKAGE." - (match (with-networking-fail-safe - (format #f (G_ "while retrieving upstream info for '~a'") - (package-name package)) - #f - (package-latest-release* package)) - ((? upstream-source? source) - (if (version>? (upstream-source-version source) - (package-version package)) - (list - (make-warning package - (G_ "can be upgraded to ~a") - (list (upstream-source-version source)) - #:field 'version)) - '())) - (#f '()))) ; cannot find newer upstream release + (match (lookup-updater package) + (#f + (list (make-warning package (G_ "no updater for ~a") + (list (package-name package)) + #:field 'source))) + ((? upstream-updater? updater) + (match (with-networking-fail-safe + (format #f (G_ "while retrieving upstream info for '~a'") + (package-name package)) + #f + (package-latest-release package)) + ((? upstream-source? source) + (if (version>? (upstream-source-version source) + (package-version package)) + (list + (make-warning package + (G_ "can be upgraded to ~a") + (list (upstream-source-version source)) + #:field 'version)) + '())) + (#f ;cannot find upstream release + (list (make-warning package + (G_ "updater '~a' failed to find \ +upstream releases") + (list (upstream-updater-name updater)) + #:field 'source))))))) (define (check-archival package) |