--- Begin Message ---
Subject: |
TMPDIR and build containers |
Date: |
Sat, 27 Oct 2018 03:23:36 +0200 |
User-agent: |
NeoMutt/20180716 |
Hello,
The manual says that TMPDIR does not leak into the build environment:
> You can influence the directory where the daemon stores build trees
> via the ‘TMPDIR’ environment variable. However, the build tree within
> the chroot is always called ‘/tmp/guix-build-NAME.drv-0’, where NAME is
> the derivation name—e.g., ‘coreutils-8.24’. This way, the value of
> ‘TMPDIR’ does not leak inside build environments, which avoids
> discrepancies in cases where build processes capture the name of their
> build tree.
However, later it says:
> When the daemon performs a build on behalf of the user, it creates a
> build directory under ‘/tmp’ or under the directory specified by its
> ‘TMPDIR’ environment variable; this directory is shared with the
> container for the duration of the build. Be aware that using a
> directory other than ‘/tmp’ can affect build results—for example, with a
> longer directory name, a build process that uses Unix-domain sockets
> might hit the name length limitation for ‘sun_path’, which it would
> otherwise not hit.
This seems like a contradiction, or do I misunderstand?
Regards,
Florian
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#33171: TMPDIR and build containers |
Date: |
Thu, 01 Nov 2018 16:09:02 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hello Florian,
"pelzflorian (Florian Pelz)" <address@hidden> skribis:
> The manual says that TMPDIR does not leak into the build environment:
>
>> You can influence the directory where the daemon stores build trees
>> via the ‘TMPDIR’ environment variable. However, the build tree within
>> the chroot is always called ‘/tmp/guix-build-NAME.drv-0’, where NAME is
>> the derivation name—e.g., ‘coreutils-8.24’. This way, the value of
>> ‘TMPDIR’ does not leak inside build environments, which avoids
>> discrepancies in cases where build processes capture the name of their
>> build tree.
>
>
> However, later it says:
>
>> When the daemon performs a build on behalf of the user, it creates a
>> build directory under ‘/tmp’ or under the directory specified by its
>> ‘TMPDIR’ environment variable; this directory is shared with the
>> container for the duration of the build. Be aware that using a
>> directory other than ‘/tmp’ can affect build results—for example, with a
>> longer directory name, a build process that uses Unix-domain sockets
>> might hit the name length limitation for ‘sun_path’, which it would
>> otherwise not hit.
>
>
> This seems like a contradiction, or do I misunderstand?
Indeed. The sentences that starts with “Be aware” is inaccurate; I’ll
remove it.
Thank you!
Ludo’.
--- End Message ---