diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-05-18 00:12:39 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-05-18 00:12:39 +0200 |
commit | 175ced413cb1c31ec58e06a4c2de8a0ae53fdaeb (patch) | |
tree | ca6b0b14cd7119f45e446bd22acff25882fdf1d5 | |
parent | cfc149dc07a8577199d93fd967b9023c1badc2a0 (diff) | |
download | patches-175ced413cb1c31ec58e06a4c2de8a0ae53fdaeb.tar patches-175ced413cb1c31ec58e06a4c2de8a0ae53fdaeb.tar.gz |
install: Use the right user and group name for files in the binary tarball.
Suggested by Andreas Enge <andreas@enge.fr>
at <http://lists.gnu.org/archive/html/guix-devel/2015-05/msg00220.html>.
* gnu/system/install.scm (self-contained-tarball): Pass --owner and
--group to 'tar'.
* doc/guix.texi (Binary Installation): Move group and account creation
before extraction. Make "run the daemon" a separate step.
-rw-r--r-- | doc/guix.texi | 9 | ||||
-rw-r--r-- | gnu/system/install.scm | 7 |
2 files changed, 13 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 7c4aa10ac6..bb0d39cb8f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -265,6 +265,12 @@ is @code{x86_64-linux} for an @code{x86_64} machine already running the kernel Linux, and so on. @item +Create the group and user accounts for build users as explained below +(@pxref{Build Environment Setup}). Use the exact same names as given in +the example so that files extracted from the archive will have the right +ownership. + +@item As @code{root}, run: @example @@ -286,8 +292,7 @@ Do @emph{not} unpack the tarball on a working Guix system since that would overwrite its own essential files. @item -Create the group and user accounts for build users as explained below -(@pxref{Build Environment Setup}), and run the daemon: +Run the daemon: @example # /root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 82793a6648..2ae7f27690 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -67,9 +67,14 @@ under /root/.guix-profile where GUIX is installed." #:closure "profile") ;; Create the tarball. Use GNU format so there's no file name - ;; length limitation. + ;; length limitation. Use the owner and group names given in the + ;; manual. + ;; XXX: /var and /root should rather be root-owned, but it doesn't + ;; make any difference in practice. (with-directory-excursion %root (zero? (system* "tar" "--xz" "--format=gnu" + "--owner=guixbuilder01" + "--group=guixbuild" "-cvf" #$output "."))))) (gexp->derivation "guix-tarball.tar.xz" build |