Subject: Re: bug#19278: guix needs to be installed for guix pull

From: Tomas Cech <[email-masked]>
Date: Fri, 12 Dec 2014 21:45:39 +0100

At Fri, 12 Dec 2014 21:01:15 +0100,
Ludovic Courtès wrote:
> 
> Tomas Cech <[email-masked]> skribis:
> 
> > At Sat, 06 Dec 2014 23:56:48 +0100,
> > Ludovic Courtès wrote:
> >> 
> >> Tomas Cech <[email-masked]> skribis:
> >> 
> >> > `guix pull' requires to have guix among installed packages (`guix
> >> > package -i guix')
> >> 
> >> That shouldn’t be the case.
> >> 
> >> Do you still have the error handy, or can you reproduce it?
> >
> > Yes, I just reproduced it. It can bee seen on version:
> >
> > tcech@venom ~ $ LC_ALL=C LANG=C guix --version
> > guix (GNU Guix) 0.9
> > Copyright (C) 2014 the Guix authors
> > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> > This is free software: you are free to change and redistribute it.
> > There is NO WARRANTY, to the extent permitted by law.
> >
> > tcech@venom ~ $ LC_ALL=C LANG=C guix package -r guix
> > The following package will be removed:
> >    guix 0.8.3b09332     /gnu/store/nr7yppxdwb8gz8j323124bp06j9n6nz6-guix-0.8.3b09332
> >
> > The following derivations will be built:
> >    /gnu/store/bc6fnvrf4h2k2m8b9w5ypgyadcyllqjp-profile.drv
> >    /gnu/store/fi05mwsgaabbg0xdg5s4r9s0sv9jwamq-info-dir.drv
> > 5 packages in profile
> > ;;; note: source file /home/tcech/.config/guix/latest/gnu/packages/dwm.scm
> > ;;;       newer than compiled /home/tcech/.config/guix/latest/gnu/packages/dwm.go
> >
> > tcech@venom ~ $ LC_ALL=C LANG=C /usr/bin/guix --version
> > guix (GNU Guix) 0.8
> > Copyright (C) 2014 the Guix authors
> > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> > This is free software: you are free to change and redistribute it.
> > There is NO WARRANTY, to the extent permitted by law.
> 
> But ‘guix pull’ is not used here.  I thought the problem had to do with
> ‘guix pull’, no?
> 
> AFAICS, in the example above, it’s just that at the beginning,
> ~/.guix-profile/bin/guix is being used (marked as “0.9”), and then
> /usr/bin/guix is used instead (marked as “0.8”.)  Nothing special.

I'm afraid that I
1] poorly worded the report
2] misunderstood

OK, let me retry.

I have Gentoo installation, guix 0.8 built using my ebuild and installed into system.

According to this part of documentation
http://www.gnu.org/software/guix/manual/guix.html#Invoking-guix-pull

I should be able to call `guix pull' and my guix will be updated.

It's not written there that it will be installed to
~/.config/guix/latest but guix prints it in the end.

So, when I call it:

tcech@venom ~ $ LC_ALL=C LANG=C /usr/bin/guix pull
starting download of `/tmp/guix-file.cSPiQM' from `http://git.savannah.gnu.org/cgit/guix.git/snapshot/guix-master.tar.gz'...
http://git.savannah.gnu.org/.../guix-master.tar.gz      6836.6 KiB transferred
unpacking '/gnu/store/6z3z7lfk7a52l6pd28qz0qzq9q4mpfjq-guix-latest.tar.gz'...
;;; note: source file /home/tcech/.config/guix/latest/gnu/packages/dwm.scm
;;;       newer than compiled /home/tcech/.config/guix/latest/gnu/packages/dwm.go
substitute-binary: guix substitute-binary: warning: while fetching http://hydra.gnu.org/nix-cache-info: server is unresponsive
substitute-binary: guix substitute-binary: warning: try `--no-substitutes' if the problem persists
substitute-binary: guix substitute-binary: warning: while fetching http://hydra.gnu.org/hkc3fkchhwsan4g6f6hyvcja2i9xzwhs.narinfo: server is unresponsive
substitute-binary: guix substitute-binary: warning: try `--no-substitutes' if the problem persists
The following derivation will be built:
   /gnu/store/0nygspjlcxh0p1wijdlpia8qda0qnbby-guix-latest.drv
waiting for locks or build slots...
updated GNU Guix successfully deployed under `/home/tcech/.config/guix/latest'

and then ask for version:

tcech@venom ~ $ LC_ALL=C LANG=C /usr/bin/guix --version
guix (GNU Guix) 0.8
Copyright (C) 2014 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
   
I can see that still old version is used.

The problem is

- documentation is missing some important part that I need to set up
  environment so new version will be used (adjusting PATH and
  GUIX_PACKAGE_PATH?)

or

- guix should check for installation in ~/.config/guix/latest by
  itself and does not

Please, ignore the part with `guix package -i guix' - it will just
cause installation of third instance of guix and this one will show
higher version as environment is set for installed packages
correctly. And this part confused me before.

I hope I made it more clear now.

Thanks,

S_W