install: Omit /root from the binary tarball.

Suggested by Thomas Schwinge <thomas@codesourcery.com>.

* gnu/system/install.scm (self-contained-tarball): Remove
  "/root/.guix-profile" from the 'tar' arguments.
* doc/guix.texi (Binary Installation): Add a step to create
  ~root/.guix-profile.
master
Ludovic Courtès 2015-06-08 23:25:51 +02:00
parent 751630c9c3
commit 7acd3439ea
2 changed files with 17 additions and 8 deletions

View File

@ -284,18 +284,26 @@ As @code{root}, run:
# tar xf guix-binary-@value{VERSION}.@var{system}.tar.xz
@end example
This creates @file{/gnu/store} (@pxref{The Store}), @file{/var/guix},
and @file{/root/.guix-profile}. @file{/root/.guix-profile} is a
ready-to-use profile for @code{root} where Guix is installed.
This creates @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}.
The latter contains a ready-to-use profile for @code{root} (see next
step.)
Do @emph{not} unpack the tarball on a working Guix system since that
would overwrite its own essential files.
@item
Make @code{root}'s profile available under @file{~/.guix-profile}:
@example
# ln -sf /var/guix/profiles/per-user/root/guix-profile \
~root/.guix-profile
@end example
@item
Run the daemon:
@example
# /root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild
# ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild
@end example
@item
@ -313,7 +321,7 @@ To use substitutes from @code{hydra.gnu.org} (@pxref{Substitutes}),
authorize them:
@example
# guix archive --authorize < /root/.guix-profile/share/guix/hydra.gnu.org.pub
# guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub
@end example
@end enumerate

View File

@ -73,11 +73,12 @@ under /root/.guix-profile where GUIX is installed."
(zero? (system* "tar" "--xz" "--format=gnu"
"--owner=root:0" "--group=root:0"
"-cvf" #$output
;; Avoid adding /, /var, or /root to the tarball,
;; Avoid adding / and /var to the tarball,
;; so that the ownership and permissions of those
;; directories will not be overwritten when
;; extracting the archive.
"./root/.guix-profile"
;; extracting the archive. Do not include /root
;; because the root account might have a different
;; home directory.
"./var/guix"
(string-append "." (%store-directory)))))))