~ruther/guix-local

175ced413cb1c31ec58e06a4c2de8a0ae53fdaeb — Ludovic Courtès 11 years ago cfc149d
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.
2 files changed, 13 insertions(+), 3 deletions(-)

M doc/guix.texi
M gnu/system/install.scm
M doc/guix.texi => doc/guix.texi +7 -2
@@ 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

M gnu/system/install.scm => gnu/system/install.scm +6 -1
@@ 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