GNU bug report logs - #55822
option to run diffoscope with guix build --rounds=N and --check

Previous Next

Package: guix;

Reported by: Vagrant Cascadian <vagrant <at> reproducible-builds.org>

Date: Mon, 6 Jun 2022 21:10:01 UTC

Severity: normal

To reply to this bug, email your comments to 55822 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#55822; Package guix. (Mon, 06 Jun 2022 21:10:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Vagrant Cascadian <vagrant <at> reproducible-builds.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 06 Jun 2022 21:10:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Vagrant Cascadian <vagrant <at> reproducible-builds.org>
To: bug-guix <at> gnu.org
Subject: option to run diffoscope with guix build --rounds=N and --check
Date: Mon, 06 Jun 2022 14:09:23 -0700
[Message part 1 (text/plain, inline)]
When I do:

  guix build --rounds=2 PACKAGE

And the results differ, the process of actually running diffoscope on
the results is very manual and a bit hard to automate. I might get
output like:

  guix build: error: derivation
  `/gnu/store/dn50zya4d1zh21q6s3nh7f394s7ksknv-autogen-5.18.16.drv' may
  not be deterministic: output
  `/gnu/store/04byv4py1firka28h3nl70bj1g0a3n6k-autogen-5.18.16' differs
  from
  ?/gnu/store/04byv4py1firka28h3nl70bj1g0a3n6k-autogen-5.18.16-check?

First of all, I have to actually remember to run:

  guix build --rounds=2 --keep-failed PACKAGE

Would it be crazy for --rounds=N resonably assume --keep-failed ?

Then it'll actually keep the produced /gnu/store/*-check ... then I have
to screen-scrape the right files, sometimes accidentally grabbing the
.drv instead of the right directory, and pass both the regular store
item and the /gnu/store/*-check item ... if i get everything right I end
up with:

  diffoscope /gnu/store/HASH-PACKAGE-VERSION /gnu/store/HASH-PACKAGE-VERSION-check

And that basically works... but it is a very manual process...

guix already has a similar tool to handle this sort of thing:

  guix challenge --diff=diffoscope PACKAGE

But that assumes you are comparing things from your local build and the
substitute server or servers, not two locally built things.

How plausible would it be to implement something simile to "guix
challenge --diff=diffoscope" like:

  guix build --rounds=2 --keep-failed --diff=diffoscope

(or could --diff=diffoscope *assume* --keep-failed ?)

Oh, and... basically all of the above applies for:

  guix build --check PACKAGE

e.g. --keep-failed by default, option to support --diff=diffoscope, etc.


Thanks for considering!


live well,
  vagrant
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 1 year and 316 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.