diff options
-rw-r--r-- | doc/guix.texi | 7 | ||||
-rw-r--r-- | guix/scripts/challenge.scm | 4 | ||||
-rw-r--r-- | scripts/guix.in | 5 |
3 files changed, 14 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index aeeec617e0..a16422261a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5582,7 +5582,7 @@ $ guix challenge @var{package} @noindent where @var{package} is a package specification such as -@code{guile-2.0} or @code{glibc:debug}. +@code{guile@@2.0} or @code{glibc:debug}. The general syntax is: @@ -5590,6 +5590,11 @@ The general syntax is: guix challenge @var{options} [@var{packages}@dots{}] @end example +When a difference is found between the hash of a locally-built item and +that of a server-provided substitute, or among substitutes provided by +different servers, the command displays it as in the example above and +exits with a non-zero return code. + The one option that matters is: @table @code diff --git a/guix/scripts/challenge.scm b/guix/scripts/challenge.scm index 4a0c865b07..0eb49da0cc 100644 --- a/guix/scripts/challenge.scm +++ b/guix/scripts/challenge.scm @@ -233,9 +233,11 @@ Challenge the substitutes for PACKAGE... provided by one or more servers.\n")) (run-with-store store (mlet* %store-monad ((items (mapm %store-monad - ensure-store-item files)) + ensure-store-item files)) (issues (discrepancies items urls))) (for-each summarize-discrepancy issues) + (unless (null? issues) + (exit 1)) (return (null? issues))) #:system system))))))) diff --git a/scripts/guix.in b/scripts/guix.in index 8f2d8a6433..5d6921dd09 100644 --- a/scripts/guix.in +++ b/scripts/guix.in @@ -64,4 +64,9 @@ (apply guix-main (command-line)))) (maybe-augment-load-paths!) + + ;; XXX: It would be more convenient to change it to: + ;; (exit (run-guix-main)) + ;; but since the 'guix' command is not updated by 'guix pull', we cannot + ;; really do it now. (run-guix-main)) |