summary refs log tree commit diff
path: root/gnu/system
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-05-20 12:57:50 -0400
committerMark H Weaver <mhw@netris.org>2015-05-20 13:03:03 -0400
commitb2a5fa594e66b9d929df11fc7a38e4b367a00a5e (patch)
tree6e3118a513a53ff27ab354e28ceae524e8a0ceed /gnu/system
parent1b6764477fda1a71f0ed377546f49adf2e36e5cb (diff)
downloadguix-b2a5fa594e66b9d929df11fc7a38e4b367a00a5e.tar.gz
install: Omit /, /root, and /var from binary tarball.
* gnu/system/install.scm (self-contained-tarball): Pass
  "./root/.guix-profile", "./var/guix", and "./gnu" to 'tar' command instead
  of ".".
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/install.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 799851c9d7..007bd25ae6 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -71,7 +72,14 @@ under /root/.guix-profile where GUIX is installed."
           (with-directory-excursion %root
             (zero? (system* "tar" "--xz" "--format=gnu"
                             "--owner=root:0" "--group=root:0"
-                            "-cvf" #$output ".")))))
+                            "-cvf" #$output
+                            ;; Avoid adding /, /var, or /root to the tarball,
+                            ;; so that the ownership and permissions of those
+                            ;; directories will not be overwritten when
+                            ;; extracting the archive.
+                            "./root/.guix-profile"
+                            "./var/guix"
+                            "./gnu")))))
 
     (gexp->derivation "guix-tarball.tar.xz" build
                       #:references-graphs `(("profile" ,profile))