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.
This commit is contained in:
		
							parent
							
								
									cfc149dc07
								
							
						
					
					
						commit
						175ced413c
					
				
					 2 changed files with 13 additions and 3 deletions
				
			
		| 
						 | 
					@ -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
 | 
					is @code{x86_64-linux} for an @code{x86_64} machine already running the
 | 
				
			||||||
kernel Linux, and so on.
 | 
					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
 | 
					@item
 | 
				
			||||||
As @code{root}, run:
 | 
					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.
 | 
					would overwrite its own essential files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@item
 | 
					@item
 | 
				
			||||||
Create the group and user accounts for build users as explained below
 | 
					Run the daemon:
 | 
				
			||||||
(@pxref{Build Environment Setup}), and run the daemon:
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
@example
 | 
					@example
 | 
				
			||||||
# /root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild
 | 
					# /root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -67,9 +67,14 @@ under /root/.guix-profile where GUIX is installed."
 | 
				
			||||||
                                             #:closure "profile")
 | 
					                                             #:closure "profile")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          ;; Create the tarball.  Use GNU format so there's no file name
 | 
					          ;; 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
 | 
					          (with-directory-excursion %root
 | 
				
			||||||
            (zero? (system* "tar" "--xz" "--format=gnu"
 | 
					            (zero? (system* "tar" "--xz" "--format=gnu"
 | 
				
			||||||
 | 
					                            "--owner=guixbuilder01"
 | 
				
			||||||
 | 
					                            "--group=guixbuild"
 | 
				
			||||||
                            "-cvf" #$output ".")))))
 | 
					                            "-cvf" #$output ".")))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    (gexp->derivation "guix-tarball.tar.xz" build
 | 
					    (gexp->derivation "guix-tarball.tar.xz" build
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue