Simplify comparing guix challenge results

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Ricardo Wurmus
  • Vagrant Cascadian
Owner
unassigned
Submitted by
Vagrant Cascadian
Severity
normal
V
V
Vagrant Cascadian wrote on 7 May 2019 20:02
(address . bug-guix@gnu.org)
87sgtqxhwi.fsf@yucca
I'd like to see a simpler process for comparing challenge results
producing differences.

While the manual documents how to compare a failing challenge result

| guix archive -x /tmp/git
$ diff -ur --no-dereference /gnu/store/…-git.2.5.0 /tmp/git

To check "git", you need to run "guix challenge git" and if the results
are inconclusive, manually cut-and-paste the correct URL(s) from the
challenge output and manually download it and unpack with guix archive,
and then run a comparison utility...

What about an argument to "guix challenge" that handles the downloading
and unpacking to a temporary directory, and possibly another that also
runs a comparison tool against the results. Maybe something like:

$ guix challenge --download-differences
/tmp/git-XXXXX/SUBSTITTE-X/...-git-2.5.0
/tmp/git-XXXXX/SUBSTITUTE-Y/...-git-2.5.0
/gnu/store/...-git-2.5.0

Downloads and unpacks the substitutes, and outputs the resulting
directories.


$ guix challenge --download-differences --compare-with="diffoscope ..."

This would do the above, plus run diffoscope on the directories
... though I think diffoscope can only compare between two things at a
time... so that might get difficult if many substitutes return results.


live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCXNHIHQAKCRDcUY/If5cW
qmXdAP95qyDG+bnknxZfhFVFZuzE3eLIhLSbvAm76MmQPpHCQgD/UGZudd1dDL2D
hmIIUuXK1VkwbLge+7R2pzOZaJ2uDgs=
=/t7l
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 8 May 2019 15:04
(name . Vagrant Cascadian)(address . vagrant@reproducible-builds.org)(address . 35621@debbugs.gnu.org)
87o94dw10g.fsf@gnu.org
Hi!

Vagrant Cascadian <vagrant@reproducible-builds.org> skribis:

Toggle quote (19 lines)
> What about an argument to "guix challenge" that handles the downloading
> and unpacking to a temporary directory, and possibly another that also
> runs a comparison tool against the results. Maybe something like:
>
> $ guix challenge --download-differences
> /tmp/git-XXXXX/SUBSTITTE-X/...-git-2.5.0
> /tmp/git-XXXXX/SUBSTITUTE-Y/...-git-2.5.0
> /gnu/store/...-git-2.5.0
>
> Downloads and unpacks the substitutes, and outputs the resulting
> directories.
>
>
> $ guix challenge --download-differences --compare-with="diffoscope ..."
>
> This would do the above, plus run diffoscope on the directories
> ... though I think diffoscope can only compare between two things at a
> time... so that might get difficult if many substitutes return results.

Sounds like a good idea. Perhaps ‘--compare-with’ is actually enough
(it would also download things), dunno.

Ludo’.
R
R
Ricardo Wurmus wrote on 8 May 2019 22:28
(name . Ludovic Courtès)(address . ludo@gnu.org)
87zhnwd729.fsf@elephly.net
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (26 lines)
> Hi!
>
> Vagrant Cascadian <vagrant@reproducible-builds.org> skribis:
>
>> What about an argument to "guix challenge" that handles the downloading
>> and unpacking to a temporary directory, and possibly another that also
>> runs a comparison tool against the results. Maybe something like:
>>
>> $ guix challenge --download-differences
>> /tmp/git-XXXXX/SUBSTITTE-X/...-git-2.5.0
>> /tmp/git-XXXXX/SUBSTITUTE-Y/...-git-2.5.0
>> /gnu/store/...-git-2.5.0
>>
>> Downloads and unpacks the substitutes, and outputs the resulting
>> directories.
>>
>>
>> $ guix challenge --download-differences --compare-with="diffoscope ..."
>>
>> This would do the above, plus run diffoscope on the directories
>> ... though I think diffoscope can only compare between two things at a
>> time... so that might get difficult if many substitutes return results.
>
> Sounds like a good idea. Perhaps ‘--compare-with’ is actually enough
> (it would also download things), dunno.

I think it’s fine to have just “--compare-with”, which would print the
location of the downloaded things, so you could compare with “echo” if
all you wanted is to get the differences.

--
Ricardo
L
L
Ludovic Courtès wrote on 9 Dec 2019 12:02
(name . Vagrant Cascadian)(address . vagrant@reproducible-builds.org)
87o8whhict.fsf@gnu.org
Hello!

Vagrant Cascadian <vagrant@reproducible-builds.org> skribis:

Toggle quote (29 lines)
> I'd like to see a simpler process for comparing challenge results
> producing differences.
>
> While the manual documents how to compare a failing challenge result
>
> $ wget -q -O - https://ci.guix.info/nar/…-git-2.5.0 \
> | guix archive -x /tmp/git
> $ diff -ur --no-dereference /gnu/store/…-git.2.5.0 /tmp/git
>
> To check "git", you need to run "guix challenge git" and if the results
> are inconclusive, manually cut-and-paste the correct URL(s) from the
> challenge output and manually download it and unpack with guix archive,
> and then run a comparison utility...
>
> What about an argument to "guix challenge" that handles the downloading
> and unpacking to a temporary directory, and possibly another that also
> runs a comparison tool against the results. Maybe something like:
>
> $ guix challenge --download-differences
> /tmp/git-XXXXX/SUBSTITTE-X/...-git-2.5.0
> /tmp/git-XXXXX/SUBSTITUTE-Y/...-git-2.5.0
> /gnu/store/...-git-2.5.0
>
> Downloads and unpacks the substitutes, and outputs the resulting
> directories.
>
>
> $ guix challenge --download-differences --compare-with="diffoscope ..."

I had forgotten about this bug report (thanks for the reminder on IRC!)
and came up with something similar to/different from it:


Let’s see whether we should adapt it!

Ludo’.
L
L
Ludovic Courtès wrote on 12 Dec 2019 18:21
Re: [bug#38518] [PATCH 0/7] 'guix challenge' can diff archives directly
87o8wd5ujc.fsf@gnu.org
Hi,

Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (8 lines)
> serialization: Add 'fold-archive'.
> guix archive: Add '--list'.
> challenge: Report the best narinfo URI.
> serialization: Remove unused procedure.
> progress: Add 'progress-report-port'.
> challenge: Add "--diff".
> challenge: Support "--diff=diffoscope".

Pushed!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 35621@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 35621
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch