Subject: Re: bug#42810: Guix doesn't follow all symlinks
From: zimoun <[email-masked]>
To: Steffen Rytter Postas <[email-masked]>
Cc: [email-masked]
Date: Mon, 05 Jul 2021 11:35:52 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Thanks for your report.

On Tue, 11 Aug 2020 at 15:54, Steffen Rytter Postas <[email-masked]> wrote:

> Some background first, to better understand the issue:
> I've been running Guix on a foreign distribution
> with my own channel in ~/.config/guix/channels.scm for some time now.
> However this means having to deal with doing both a `guix pull` as
>  a user, but also `guix pull` as superuser to keep the system
> builder daemon etc up to date.
> I wanted to avoid this, by using simply a system-wide guix install, and
> not have my own user have a guix variant. I tried simply deleting
> ~/.config/guix/current symlink, and confirmed that `guix` was now using
> the `/usr/local/bin/guix` symlink.
> Then I moved my ~/.config/guix/channels.scm file to
> /etc/guix/channels.scm
> and satisfied with my setup, performed `sudo guix pull --fallback` to
> pull the latest changes and verify it worked.
> The command ran as expected, and printed the new packages from my
> channel that were now available.
>
> So, that's the background of what I've been trying to do. Here's what
> happened:
>
> I have in my own channel a package called `entr-git`. Installing it is
> simple:
>
> `guix show entr-git`
>
> Expected result:
>
> name: entr-git
> version: 4.5-0.6b13a97
> outputs: out
> systems: x86_64-linux i686-linux
> dependencies: [email-masked]
> location: gnu/packages/entr-git.scm:25:2
> homepage: http://entrproject.org/
> license: ISC
> synopsis: Run arbitrary commands when files change
> description: entr is a zero-configuration tool with no external build
> or run-time dependencies.  The interface to entr is not only minimal,
> it aims to be simple enough to create a new
> + category of ad hoc automation.  These micro-tests reduce keystrokes,
> but more importantly they emphasize the utility of automated checks.
>
> Actual result:
>
> guix show: error: entr-git: package not found
>
> Additional information:
>
> `type guix`:
> /usr/local/bin/guix
>
> `readlink /usr/local/bin/guix`
> /var/guix/profiles/per-user/root/current-guix/bin/guix
>
> `/usr/local/bin/guix show entr-git`
> guix show: error: entr-git: package not found
>
> `/var/guix/profiles/per-user/root/current-guix/bin/guix show entr-git`
> name: entr-git
> version: 4.5-0.6b13a97
> outputs: out
> systems: x86_64-linux i686-linux
> dependencies: [email-masked]
> location: gnu/packages/entr-git.scm:25:2
> homepage: http://entrproject.org/
> license: ISC
> synopsis: Run arbitrary commands when files change
> description: entr is a zero-configuration tool with no external build
> or run-time dependencies.  The interface to entr is not only minimal,
> it aims to be simple enough to create a new
> + category of ad hoc automation.  These micro-tests reduce keystrokes,
> but more importantly they emphasize the utility of automated checks.
>
> Simplest reproduction of issue:
>
> * Ubuntu 20.04 AMD64 Desktop/Server system.
> * Install Guix using guix-install.sh script.
> * As a user, ensure absence of ~/.config/guix/current symlink.
> * As a user, run `guix pull --fallback`
> * As a user, run `guix describe`.
> * As a user, run `sudo guix describe`.
> * As root, run `guix describe`.
>
> Workaround:
>
> Use `/var/guix/profiles/per-user/root/current-guix/bin/guix` "directly"
> (despite this also being a symlink).
>
>
> I hope this is enough relevant information, otherwise it appears very
> straight forward to reproduce.

This bug is marked ’moreinfo’ since months and because I do not see how
it is actionable, I am closing.

If I miss something, please reopen it.

All the best,
simon