Subject: Re: New ‘guix pull’ dosen’tupdate the guix manual in GuixSD

From: [email-masked] (Ludovic Courtès)
Date: Sun, 10 Jun 2018 21:33:45 +0200

Hello 宋文武!

[email-masked] (宋文武) skribis:

> After run ‘guix pull’ twice, I have got ‘~/.config/guix/current’, then
> use it to do a system reconfigure for ‘/etc/profile’.
>
> But the guix manual doesn’t got updated, my ‘INFOPATH’ contains:
>
> - /home/iyzsong/.guix-profile/share/info
> - /run/current-system/profile/share/info
> - /home/iyzsong/.config/guix/current/share/info
> - /home/iyzsong/.guix-profile/share/info
> - /run/current-system/profile/share/info
>
> The last there are from the ‘export’ statement of ‘/etc/profile’, the
> first two are added by ‘source’ the profiles.  Since there is a guix in
> the system profile contains the old info manual, the current one won’t
> be picked.

Ooh!  I think the change below should be enough to ensure
~/.config/guix/current comes first:

--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -602,7 +602,7 @@ directory."
 # because they would require combining both profiles.
 # FIXME: See <http://bugs.gnu.org/20255>.
 export MANPATH=$HOME/.guix-profile/share/man:/run/current-system/profile/share/man
-export INFOPATH=$HOME/.config/guix/current/share/info:$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
+export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
 export XDG_DATA_DIRS=$HOME/.guix-profile/share:/run/current-system/profile/share
 export XDG_CONFIG_DIRS=$HOME/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg
 
@@ -630,7 +630,7 @@ then
   export `cat /etc/environment | cut -d= -f1`
 fi
 
-for profile in \"$HOME/.config/guix/current\" \"$HOME/.guix-profile\"
+for profile in \"$HOME/.guix-profile\" \"$HOME/.config/guix/current\"
 do
   if [ -f \"$profile/etc/profile\" ]
   then
@@ -644,6 +644,8 @@ do
   fi
 done
 
+export INFOPATH=\"$HOME/.config/guix/current/share/info:$INFOPATH\"
+
 # Set the umask, notably for users logging in via 'lsh'.
 # See <http://bugs.gnu.org/22650>.
 umask 022

How does that sound?

(Note that in the meantime you can always work around the bug by using
‘info -f ~/.config/guix/current/share/info/guix.info’ or ‘C-u C-h i …’
in Emacs.)

Thanks for the heads-up!

Ludo’.