Subject: Re: [bug#30572] [PATCH 1/7] gnu: bootstrap: Add trivial packages for bash, mkdir, tar, and xz.

From: [email-masked] (Ludovic Courtès)
Date: Wed, 21 Mar 2018 21:54:37 +0100

Chris Marusich <[email-masked]> skribis:

> [email-masked] (Ludovic Courtès) writes:
>
>> Chris Marusich <[email-masked]> skribis:
>>
>>> * gnu/packages/bootstrap.scm (bootstrap-binary): New procedure.
>>>   (%bootstrap-bash, %bootstrap-mkdir, %bootstrap-tar, %bootstrap-xz):
>>>   Use it to create these new packages, and export them.
>>
>> For ‘guix pack --bootstrap’, I believe we could avoid defining these
>> packages and simply use ‘%bootstrap-coreutils&co’ when ‘--bootstrap’ is
>> used.
>>
>> Would that work for you?
>>
>> I’m asking because we may not keep these 4 binaries around forever.
>
> %bootstrap-coreutils&co requires a network connection to build.  Is it
> OK to use it in tests even though it requires a network connection?  If
> it's OK, then I'll use it, but I thought we wanted to avoid relying on a
> network connection in tests, which is why I defined new packages that do
> not rely on the network.

Oh, I see.  I think it’s OK to use ‘bootstrap-coreutils&co’
nevertheless, and to simply check for networking in the test, as done in
tests/guix-package-net.sh and tests/guix-environment.sh.

The downside is that those tests will indeed require networking (though
they remain cheap).  The upside is that we don’t clutter the package set
with “weird” packages.  :-)

Another option would be to define these packages in a temporary file in
the test and add that to GUIX_PACKAGE_PATH, but maybe that’s overkill…

Thoughts?

Ludo’.