From 175ced413cb1c31ec58e06a4c2de8a0ae53fdaeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 18 May 2015 00:12:39 +0200 Subject: [PATCH] install: Use the right user and group name for files in the binary tarball. Suggested by Andreas Enge at . * 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. --- doc/guix.texi | 9 +++++++-- 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 @@ -264,6 +264,12 @@ verify the authenticity of the tarball against it!}, where @var{system} 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: @@ -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