[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#36443: Canonicalized build directory name in container leads to conf
From: |
Ludovic Courtès |
Subject: |
bug#36443: Canonicalized build directory name in container leads to confusion (was guix build mixes build dirs?) |
Date: |
Thu, 04 Jul 2019 09:59:47 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Hi,
Robert Vollmert <address@hidden> skribis:
>> On 2. Jul 2019, at 15:37, Ludovic Courtès <address@hidden> wrote:
>>
>>> /* 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.
>
> Why do you think it would become impossible?
“Impossible” is an exaggeration, but when you source the
‘environment-variables’ file, for example, PWD and other variables will
refer to /tmp/guix-build-….drv, which won’t exist. Likewise, generated
files such as Makefiles would have captured the ….drv name.
Like Mark writes, it’s not the end of the world: you can simply rename
/tmp/guix-build-….drv-0 to /tmp/guix-build-….drv. However, it means
that things would be inconvenient by default, which doesn’t sound great
to me.
WDYT?
Thanks,
Ludo’.