Subject: bug#36443: Canonicalized build directory name in container leads to confusion (was guix build mixes build dirs?)

From: Ludovic Courtès <[email-masked]>
Date: Tue, 02 Jul 2019 15:37:58 +0200

Hello,

Mark H Weaver <[email-masked]> skribis:

> Robert Vollmert <[email-masked]> writes:
>> How about dropping the “-0” suffix inside the container? The major part
>> of my confusion was that the directory “-0” actually existed in /tmp
>> from a previous failed build; this change might avoid that.

Bah, I see.

> Sounds good to me.  I think that would clearly be an improvement.
> See below for an (untested but trivial) patch to make this change.
>
> Ludovic, what do you think?  See <https://bugs.gnu.org/36443> for
> context.

[...]

>      /* In a sandbox, for determinism, always use the same temporary
>         directory. */
> -    tmpDirInSandbox = useChroot ? canonPath("/tmp", true) + "/guix-build-" + drvName + "-0" : tmpDir;
> +    tmpDirInSandbox = useChroot ? canonPath("/tmp", true) + "/guix-build-" + drvName : tmpDir;

The result would be that the temporary directory would always have a
different name inside and outside the container.  Consequently,
debugging along the lines of what the manual suggests (info "(guix)
Debugging Build Failures") would become pretty much impossible.

Thus, I’m in favor of the status quo.

Thoughts?

Ludo’.