Subject: bug#21803: Bug #21803 Hunting: status?

From: Ludovic Courtès <[email-masked]>
Date: Thu, 14 Nov 2019 22:09:06 +0100

Hello,

zimoun <[email-masked]> skribis:

> On Wed, 13 Nov 2019 at 14:42, Ludovic Courtès <[email-masked]> wrote:
>
>> zimoun <[email-masked]> skribis:
>>
>> > From my test with Guix d258d9c7d222e6b64531c14293f41bd8d62ea4f7,
>> > "guix challenge guitarix" and "guix build --rounds=3" do not report
>> > issues about reproducibility.
>> >
>> > And from my knowledge, the waf-based packages are not affected.
>> >
>> > Do you agree to close this bug since it is not relevant anymore?
>>
>> If you’ve checked that a local build gives the same result several times
>> in a row (make sure it actually rebuilt things; “guix build --rounds=3
>> foo” does nothing if “foo” is already in the store), then you can
>> definitely close it!
>
> I think I did but how do you do that cleanly?
>
>
>
> I am testing with "brute force" method: "guix gc -C" then proceed. I
> notice unexpected behaviour; not sure it is the right place to report.

I would probably do “guix build guitarix” (get the substitute) and then
“guix build guitarix --check --no-grafts -K”, possibly several times*,
which builds guitarix alone from source.

(*) ‘--rounds’ is ignored when combined with ‘--check’, go figure…

> 1. The first issue is that the two following commands do not populate
> the same way.
>
> (Because my machine is not very powerful, before building I populate
> the store with the dependencies from substitutes.)
>
> $ guix environment guitarix -- echo Done

That should work.

> $ guix build `guix show guitarix | recsel -R dependencies`

That gives a different result because ‘dependencies’ does not show
implicit inputs.

> Why `ghostscript` is downloaded and not reported; neither by the two
> populating commands?

This is because of grafts, which lead to a poor UX as things are…

Perhaps there are genuine issues described in the rest of your message
but we’d need to isolate them first.  :-)

Thanks,
Ludo’.