On Tue, Sep 21, 2021 at 12:28:50PM +0200, pelzflorian (Florian Pelz) wrote:
> On Mon, Sep 20, 2021 at 09:25:27AM +0200, Ludovic Courtès wrote:
> > To test it, you can first start the new daemon, along these lines:
> >
> > sudo herd stop guix-daemon
> > sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
>
> No, going back one generation and guix gc -D’ing the
> /gnu/store/*hello-2.10* after adding web.archive.org to /etc/hosts
> again, I for some reason get a
>
> florian@florianacer ~$ bzcat /var/log/guix/drvs/wy/24jyd0mm2jlgpzsxxlip03df065g35-hello-2.10.tar.gz.drv.bz2
> error: failed to run download program '/home/florian/src/guix/scripts/guix': Keine Berechtigung
>
> (Keine Berechtigung is German for Permission denied) but it does not
> matter, since the reconfigure and reboot works when and only when
> adding web.archive.org to /etc/hosts.
>
> Actually I will later take another look at this, because the manual
> says ./pre-inst-env guix-daemon should work.
There is no regression. Without the web.archive.org patch,
`guix install hello' via
sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
always shows the same error, regardless of whether I misdirected DNS
lookups or not. The patch is not at fault. Though I don’t know why.
sudo -E strace -f ./pre-inst-env guix-daemon --build-users-group=guixbuild
shows
[pid 1854] execve("/home/florian/src/guix/scripts/guix", ["guix", "perform-download", "/gnu/store/wy24jyd0mm2jlgpzsxxli"..., "/gnu/store/hbdalsf5lpf01x4dcknwx"...], 0x1d8f9a0 /* 80 vars */) = -1 EACCES (Keine Berechtigung)
says:
> The exec functions shall fail if:
> …
> [EACCES]
> The new process image file is not a regular file and the implementation does not support execution of files of its type.
> The exec functions, except for fexecve(), shall fail if:
> [EACCES]
> Search permission is denied for a directory listed in the new process image file's path prefix, or the new process image file denies execution permission.
I run:
florian@florianacer ~$ ls -ahl /home/florian/src/guix/scripts/guix
-r-xr-xr-x 1 florian users 2,0K 21. Sep 07:30 /home/florian/src/guix/scripts/guix
florian@florianacer ~$ ls -ahl /home/florian/src/guix | grep scripts
drwxr-xr-x 2 florian users 4,0K 21. Sep 07:30 scripts/
florian@florianacer ~$ lsattr /home/florian/src/guix/scripts/guix
--------------e----- /home/florian/src/guix/scripts/guix
florian@florianacer ~ [env]$ cat test-execv.c
#include
int main ()
{
const char *const argv[] =
{
"guix", "perform-download",
"/gnu/store/wy24jyd0mm2jlgpzsxxlip03df065g35-hello-2.10.tar.gz.drv",
"/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz.lock",
NULL
};
execv ("/home/florian/src/guix/scripts/guix", (char *const *) argv);
return 0;
}
florian@florianacer ~ [env]$ gcc test-execv.c -o test-execv
florian@florianacer ~ [env]$ LC_ALL=en_US.utf8 ~/test-execv
Starting download of /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz.lock
From https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz...
following redirection to `https://ftp.wayne.edu/gnu/hello/hello-2.10.tar.gz'...
In procedure open-file: Read-only file system: "/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz.lock"
[and more expected failures …]
Whatever. It is not important.
Regards,
Florian