Subject: bug#33171: closed (Re: bug#33171: TMPDIR and build containers)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 01 Nov 2018 15:10:03 +0000

Your bug report

#33171: TMPDIR and build containers

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
33171: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=33171
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#33171: TMPDIR and build containers
From: [email-masked] (Ludovic Courtès)
To: "pelzflorian \(Florian Pelz\)" <[email-masked]>
Cc: [email-masked]
Date: Thu, 01 Nov 2018 16:09:02 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Florian,

"pelzflorian (Florian Pelz)" <[email-masked]> 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’.

Subject: TMPDIR and build containers
From: "pelzflorian (Florian Pelz)" <[email-masked]>
To: [email-masked]
Date: Sat, 27 Oct 2018 03:23:36 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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