guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guix binary tarball


From: Mark H Weaver
Subject: Re: Guix binary tarball
Date: Tue, 19 May 2015 19:03:57 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Andreas Enge <address@hidden> writes:

> - The tarball also contains /, /root and /var. When unpacking it, the owner
>   and permissions are changed on the system. As a consequence, we could not
>   ssh into the machine any more (!). Could these directories be left out of
>   the tarball and only their contents be kept in?

The directories could indeed be left out.  I experimentally verified
that GNU tar will still create those directories if they don't already
exist, but will leave their ownership and permissions unmodified if they
do exist.

Here's a suggested patch:

--8<---------------cut here---------------start------------->8---
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 799851c..10fbfdd 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -71,7 +71,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))
--8<---------------cut here---------------end--------------->8---

If we did this, then we could revert 8c3a5d7059 and avoid any use of
--skip-old-files.  I would be in favor of this.

What do you think?

      Mark



reply via email to

[Prev in Thread] Current Thread [Next in Thread]