Subject: Re: bug#52103: guix pull: guix-manual.drv' failed with exit code 1, In procedure copy-file: Permission denied

From: Ludovic Courtès <[email-masked]>
Date: Sun, 12 Dec 2021 22:55:35 +0100

Hi,

Christopher Baines <[email-masked]> skribis:

> I've had a go at debugging this further, I'm not confident I've found
> the relevant part of the strace output, but I think it could be this bit:
>
> 14403 newfstatat(AT_FDCWD, "/gnu/store/vcgx18jbb4dyk8kxx2gn8046jsavlgf8-guix-translated-texinfo/guix.de.texi", {st_mode=S_IFREG|0444, st_size=925279, ...}, AT_SYMLINK_NOFOLLOW) = 0
> 14403 openat(AT_FDCWD, "/gnu/store/vcgx18jbb4dyk8kxx2gn8046jsavlgf8-guix-translated-texinfo/guix.de.texi", O_RDONLY) = 15
> 14403 fstat(15, {st_mode=S_IFREG|0444, st_size=925279, ...}) = 0
> 14403 openat(AT_FDCWD, "./guix.de.texi", O_WRONLY|O_CREAT|O_TRUNC, 0444) = -1 EACCES (Permission denied)

It could be that ./guix.de.texi already exists and is read-only, or that
“.” is read-only.

> There's more information below. I wonder if this could somehow be
> connected to guix.de.texi being both in the -doc store item, and
> -guix-translated-texinfo. Reading the builder, it looks like it copies
> it first from -doc, then again from -guix-translated-texinfo, and that's
> the point at which it fails?

Ah yes, that looks like a problem: “doc”, which is taken straight from
the checkout, normally does not contain *.LANG.texi; those files are not
checked in.

Could it be that ~/.cache/guix/checkouts contains a non-pristine
checkout of Guix with that extra file?

Thanks for investigating!

Ludo’.