challenge: Really exit with non-zero upon hash mismatch.
Reported by John Darrington. * guix/scripts/challenge.scm (guix-challenge): Add an explicit 'exit' call when ISSUES is empty. * scripts/guix.in: Add comment about 'exit'. * doc/guix.texi (Invoking guix challenge): Mention the behavior and exit code.master
parent
7b9a66e519
commit
7cffaeb604
|
@ -5582,7 +5582,7 @@ $ guix challenge @var{package}
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
where @var{package} is a package specification such as
|
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:
|
The general syntax is:
|
||||||
|
|
||||||
|
@ -5590,6 +5590,11 @@ The general syntax is:
|
||||||
guix challenge @var{options} [@var{packages}@dots{}]
|
guix challenge @var{options} [@var{packages}@dots{}]
|
||||||
@end example
|
@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:
|
The one option that matters is:
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
|
|
|
@ -233,9 +233,11 @@ Challenge the substitutes for PACKAGE... provided by one or more servers.\n"))
|
||||||
|
|
||||||
(run-with-store store
|
(run-with-store store
|
||||||
(mlet* %store-monad ((items (mapm %store-monad
|
(mlet* %store-monad ((items (mapm %store-monad
|
||||||
ensure-store-item files))
|
ensure-store-item files))
|
||||||
(issues (discrepancies items urls)))
|
(issues (discrepancies items urls)))
|
||||||
(for-each summarize-discrepancy issues)
|
(for-each summarize-discrepancy issues)
|
||||||
|
(unless (null? issues)
|
||||||
|
(exit 1))
|
||||||
(return (null? issues)))
|
(return (null? issues)))
|
||||||
#:system system)))))))
|
#:system system)))))))
|
||||||
|
|
||||||
|
|
|
@ -64,4 +64,9 @@
|
||||||
(apply guix-main (command-line))))
|
(apply guix-main (command-line))))
|
||||||
|
|
||||||
(maybe-augment-load-paths!)
|
(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))
|
(run-guix-main))
|
||||||
|
|
Reference in New Issue