Subject: Re: bug#47786: Several build --keep-failed result in wrong env variables

From: Leo Famulari <[email-masked]>
Date: Thu, 15 Apr 2021 13:06:47 -0400

On Thu, Apr 15, 2021 at 08:31:54AM +0600, Dmitry Matveyev wrote:
> Hello,
> 
> I use guix on Arch Linux, version
> 050be36cbf3a42199f64f2e44c59f1cb1b3afab5.
> 
> Several invocations of guix build --keep-failed creates directories in
> /tmp like this one guix-build-hello-2.10.drv-0 for 1st build and then
> guix-build-hello-2.10.drv-1 for 2nd and so on (with last digit
> increasing). But environment variables for all of them are set to point
> to the very 1st directory.
> 
> Reproduce:
> 
> $ guix build --check --keep-failed hello
> ^C
> $ guix build --check --keep-failed hello
> ^C
> $ cd /tmp/guix-build-hello-2.10.drv-1/
> $ grep PWD environment-variables
> export OLDPWD
> export PWD="/tmp/guix-build-hello-2.10.drv-0/hello-2.10"
> 
> Here although we are in directory /tmp/guix-build-hello-2.10.drv-1/, PWD
> is set to .drv-0 directory.

I see, thanks for the report.

This is probably because, within the build environment, the directory is
always named '/tmp/guix-build-$name-$version.drv-0/', for
reproducibility.

We should see about changing the PWD variable after the build fails.