Subject: Re: bug#34402: Inferior channel (I believe 'inferior-for-channels' function specifically) sometimes fails

From: Ludovic Courtès <[email-masked]>
Date: Tue, 12 Feb 2019 23:35:44 +0100

Hi,

<[email-masked]> skribis:

> It looks like line 16205 (at the bottom pretty much) shows that a permissions issue is the culprit:
>
> openat(AT_FDCWD, "/home/itsme/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/FETCH_HEAD", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 EACCES (Permission denied)
>
> That file, along with  is owned by root and is in the root group, and permissions are set to `-rw-r--r--`.
>
> It looks like this is caused by me running a guix command as root, with `sudo -E` (the -E is probably why it's modifying ownership of files in my user's guix cache directory), that checks out the git commit (I assume since it's only changing the ownership on those two files, the rest in that directory are owned by my user).
>
> Changing the owner of that file back to my user has made the error go away when running `guix package -n -m example-manifest.scm` - and if i then run that command again with 'sudo -E', the ownership of those files is changed back to root.

Great that you found out!

Commits 70a50305c495ca96fdec3d31e7e7972cfc54f8ee and
1d8b10d00f0c242bc5ce9540737af3d3f24a05c0 fix error reporting in this
case: you now get an error message mentioning Git and the invalid
permissions on a file in ~/.cache/guix/checkouts.

Thanks,
Ludo'.