GNU bug report logs -
#56092
[PATCH] challenge: Do nothing when passed zero arguments.
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Sun, 19 Jun 2022 13:56:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 56092 in the body.
You can then email your comments to 56092 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#56092
; Package
guix-patches
.
(Sun, 19 Jun 2022 13:56:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Sun, 19 Jun 2022 13:56:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Previously, 'guix challenge' without arguments would list live store
items that had been locally built. This was deemed confusing,
especially since 'list-live' is an expensive operation.
* guix/scripts/challenge.scm (guix-challenge): Warn and exit with 0 when
FILES is empty.
* doc/guix.texi (Invoking guix challenge): Update accordingly.
---
doc/guix.texi | 38 ++++++++++++++++++++++----------------
guix/scripts/challenge.scm | 5 +++--
2 files changed, 25 insertions(+), 18 deletions(-)
Hi!
This changes ‘guix challenge’ such that, with no arguments, it does
nothing, which is arguably less confusing that the current behavior.
Thoughts?
Ludo’.
diff --git a/doc/guix.texi b/doc/guix.texi
index 86348fc02c..75b8eca38d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -14911,7 +14911,9 @@ any given store item.
The command output looks like this:
@smallexample
-$ guix challenge --substitute-urls="https://@value{SUBSTITUTE-SERVER-1} https://guix.example.org"
+$ guix challenge \
+ --substitute-urls="https://@value{SUBSTITUTE-SERVER-1} https://guix.example.org" \
+ openssl git pius coreutils grep
updating list of substitutes from 'https://@value{SUBSTITUTE-SERVER-1}'... 100.0%
updating list of substitutes from 'https://guix.example.org'... 100.0%
/gnu/store/@dots{}-openssl-1.0.2d contents differ:
@@ -14938,18 +14940,20 @@ updating list of substitutes from 'https://guix.example.org'... 100.0%
@dots{}
-6,406 store items were analyzed:
- - 4,749 (74.1%) were identical
- - 525 (8.2%) differed
- - 1,132 (17.7%) were inconclusive
+5 store items were analyzed:
+ - 2 (40.0%) were identical
+ - 3 (60.0%) differed
+ - 0 (0.0%) were inconclusive
@end smallexample
@noindent
-In this example, @command{guix challenge} first scans the store to
-determine the set of locally-built derivations---as opposed to store
-items that were downloaded from a substitute server---and then queries
-all the substitute servers. It then reports those store items for which
-the servers obtained a result different from the local build.
+In this example, @command{guix challenge} queries all the substitute
+servers for each of the fives packages specified on the command line.
+It then reports those store items for which the servers obtained a
+result different from the local build (if it exists) and/or different
+from one another; here, the @samp{local hash} lines indicate that a
+local build result was available for each of these packages and shows
+its hash.
@cindex non-determinism, in package builds
As an example, @code{guix.example.org} always gets a different answer.
@@ -15005,19 +15009,21 @@ whether @code{@value{SUBSTITUTE-SERVER-1}} and other substitute servers obtain t
same build result as you did with:
@example
-$ guix challenge @var{package}
+guix challenge @var{package}
@end example
-@noindent
-where @var{package} is a package specification such as
-@code{guile@@2.0} or @code{glibc:debug}.
-
The general syntax is:
@example
-guix challenge @var{options} [@var{packages}@dots{}]
+guix challenge @var{options} @var{argument}@dots{}
@end example
+@noindent
+where @var{argument} is a package specification such as
+@code{guile@@2.0} or @code{glibc:debug} or, alternatively, a store file
+name as returned, for example, by @command{guix build} or @command{guix
+gc --list-live}.
+
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
diff --git a/guix/scripts/challenge.scm b/guix/scripts/challenge.scm
index 96ffe53a85..1fdf245505 100644
--- a/guix/scripts/challenge.scm
+++ b/guix/scripts/challenge.scm
@@ -530,8 +530,9 @@ (define-command (guix-challenge . args)
(current-terminal-columns (terminal-columns)))
(let ((files (match files
(()
- (filter (cut locally-built? store <>)
- (live-paths store)))
+ (warning
+ (G_ "no arguments specified, nothing to do~%"))
+ (exit 0))
(x
files))))
(set-build-options store
base-commit: 7f208f68dea828fe02718ca8ce81d5975136cff8
--
2.36.1
Information forwarded
to
guix-patches <at> gnu.org
:
bug#56092
; Package
guix-patches
.
(Mon, 20 Jun 2022 14:50:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 56092 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ludovic Courtès schreef op zo 19-06-2022 om 15:55 [+0200]:
> Hi!
>
> This changes ‘guix challenge’ such that, with no arguments, it does
> nothing, which is arguably less confusing that the current behavior.
Having "guix challenge" be able to check your entire store for
reproducibility seemed a nifty feature to me. E.g., it's as good a
starting point as any to look for which packages need some
reproducibility fixes. I agree that doing the _entire store_ by
_default_ is a bit much, but I'd like the old behaviour to be still
available somewhere (guix challenge --all-local-things?)
Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#56092
; Package
guix-patches
.
(Mon, 20 Jun 2022 20:17:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 56092 <at> debbugs.gnu.org (full text, mbox):
Hi,
Maxime Devos <maximedevos <at> telenet.be> skribis:
> Ludovic Courtès schreef op zo 19-06-2022 om 15:55 [+0200]:
>> Hi!
>>
>> This changes ‘guix challenge’ such that, with no arguments, it does
>> nothing, which is arguably less confusing that the current behavior.
>
> Having "guix challenge" be able to check your entire store for
> reproducibility seemed a nifty feature to me. E.g., it's as good a
> starting point as any to look for which packages need some
> reproducibility fixes.
It seemed to make sense back then, when the store was typically much
smaller. Today it’s no longer a reasonable default as you write.
> I agree that doing the _entire store_ by _default_ is a bit much, but
> I'd like the old behaviour to be still available somewhere (guix
> challenge --all-local-things?)
It can be approximated with ‘guix challenge $(guix gc --list-live)’.
It’s not exactly the same: things not built locally are also included.
But I find that it’s just as useful.
So I’d lean towards not adding an option for that.
WDYT?
Ludo’.
PS: What would be useful is a ‘--manifest’ option—future work!
Information forwarded
to
guix-patches <at> gnu.org
:
bug#56092
; Package
guix-patches
.
(Mon, 20 Jun 2022 20:19:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 56092 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ludovic Courtès schreef op ma 20-06-2022 om 22:15 [+0200]:
> It can be approximated with ‘guix challenge $(guix gc --list-live)’.
> It’s not exactly the same: things not built locally are also included.
> But I find that it’s just as useful.
>
> So I’d lean towards not adding an option for that.
Right, that would work.
Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]
Reply sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
You have taken responsibility.
(Sat, 02 Jul 2022 23:45:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
bug acknowledged by developer.
(Sat, 02 Jul 2022 23:45:02 GMT)
Full text and
rfc822 format available.
Message #19 received at 56092-done <at> debbugs.gnu.org (full text, mbox):
Pushed as e7ab3d33aec3993737cdbc4396a9c44a54a3ce84!
Ludo’.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 31 Jul 2022 11:24:11 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 263 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.