Subject: Re: bug#66537: [PATCH] doc: Recommend building in‘guix shell -CPW’.

From: Simon Tournier <[email-masked]>
Date: Tue, 19 Dec 2023 10:30:32 +0100

Hi,

On Fri, 08 Dec 2023 at 16:50, Simon Tournier <[email-masked]> wrote:

>>>  @example
>>> -guix shell --pure
>>> +guix shell -CPW
>>>  @end example
>>
>> I would not recommend that or adding also the option -N.  Else, the
>> development experience can be annoying.
>
> As said, I disagree with this change pushed by
> 01361d46b8e0481ad56665d7a06c276b08f59c6d.
>
> Could you revert?  Because as explained by…
>
>> For instance, “make check” will probably fail because some substitutes
>> are missing (see #67532 [1], e.g., tests/derivations.scm).
>
> …the option ’-CPW’ is not a solution.  Other said, it would require in
> addition ’-N’.

Ludo’s answer from bug#67532 [1]:

--8<---------------cut here---------------start------------->8---
I had come to forget about that because for the ‘guix’ package
(obviously built in a network-less environment), we “pre-seed” the store
with the 4 or 5 files needed to run the test suite.

So I propose:
[ text/x-patch ]
diff --git a/doc/contributing.texi b/doc/contributing.texi
index 0833b5d32c..0072e5d42d 100644
--- a/doc/contributing.texi
+++ b/doc/contributing.texi
@@ -76,13 +76,13 @@ Building from Git
 hack on Guix:

 @example
-guix shell -D guix -CPW
+guix shell -D guix -CPWN
 @end example

 or even, from within a Git worktree for Guix:

 @example
-guix shell -CPW
+guix shell -CPWN
 @end example

 If @option{-C} (short for @option{--container}) is not supported on your
[ text/plain ]

(And not going back to ‘--pure’ because as we know it depends too much
of the goodwill of the user’s shell.)
--8<---------------cut here---------------end--------------->8---

Well, IMHO it falls into…

> To me, this recommendation of container is like a bazooka for chasing
> the real bug: about why --pure does not clean all as expected.  Or why
> “guile” is found elsewhere?

…a bazooka for killing a fly.  For instance, in the two message of the
initial bug report, I do not see the output of the current
recommendation: run “guix shell --check”.

Yes, “guix shell” depends on the goodwill of the user’s shell but
recommending first --pure is an opportunity for improving --check and/or
--pure itself, IMHO.

Considering this reported instance of issue, it is not clear for me that
--check would not have reported the problem.  Or why --pure does not
correctly clean all the environment variables?  Or why ./configure set
something system wide?

For me, these questions are the bug.  And -CPWN is just a temporary
workaround avoiding the bug and not a fix.

Somehow, if the use of “-CPWN” instead of “--pure“ is not an idea that
user has when hitting a failure with “guix shell --pure”, yeah maybe it
could be helpful to recommend it in addition.  And not the contrary. :-)
Something like:

diff --git a/doc/contributing.texi b/doc/contributing.texi
index 7337f4bd58..8f66b3642b 100644
--- a/doc/contributing.texi
+++ b/doc/contributing.texi
@@ -76,18 +76,19 @@ Building from Git
 hack on Guix:
 
 @example
-guix shell -D guix -CPW
+guix shell -D guix --pure
 @end example
 
 or even, from within a Git worktree for Guix:
 
 @example
-guix shell -CPW
+guix shell --pure
 @end example
 
-If @option{-C} (short for @option{--container}) is not supported on your
-system, try @command{--pure} instead of @option{-CPW}.
-@xref{Invoking guix shell}, for more information on that command.
+If building Guix fails, please check the environment variables using the
+option @command{--check}.  In the last resort, try @option{-CPWN}
+instead of @command{--pure}.  @xref{Invoking guix shell}, for more
+information on that command.
 
 If you are unable to use Guix when building Guix from a checkout, the
 following are the required packages in addition to those mentioned in the

That’s said, going your road, I would suggest to add option, say
-A/no-long-name doing all (-CPWN) at once.

Cheers,
simon

1: bug#67532: “make check” requires network
Ludovic Courtès <[email-masked]>
Mon, 11 Dec 2023 22:42:30 +0100
id:[email-masked]
https://issues.guix.gnu.org/67532
https://issues.guix.gnu.org/msgid/[email-masked]
https://yhetil.org/guix/[email-masked]