Subject: bug#53355: guix shell --check: confusing error message

From: Ludovic Courtès <[email-masked]>
Date: Tue, 25 Jan 2022 14:39:46 +0100

Hi Chris,

Chris Marusich <[email-masked]> skribis:

> Ludovic Courtès <[email-masked]> writes:
>
>> What’s confusing is that ‘--check’ does the same job whether or not
>> ‘--container’ is passed: it checks the behavior of your shell *outside*
>> a container.
>>
>> I think ‘--check’ should just do nothing when ‘--container’ is used,
>> possibly emitting a warning saying it’s not doing anything (patch
>> below).
>>
>> Now, the diagnostic is hopefully correct if you use, say, ‘--pure’
>> instead of ‘--container’.  Could you check whether this is the case?
>
> That sounds reasonable.  I tested your patch.  It now correctly emits a
> warning when both --container and --check are provided.

Great, I’ll commit it.

> First, I tried without --pure or --container.  Below, you can see that
> it claims LIBRARY_PATH is missing, but it does not seem to be missing:

[...]

> Next, I tried with --pure and --check - once again, it claims
> LIBRARY_PATH is missing, even though it does not seem to be missing:

It looks like the shell-check machinery is misdiagnosing things, as
Vagrant reported in <https://issues.guix.gnu.org/51466> (is this on
Debian too?).

Could you try the debugging tricks I proposed there?

TIA,
Ludo’.