[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
Re: Guix binary tarball, Andreas Enge, 2015/05/16
Re: Guix binary tarball, Ludovic Courtès, 2015/05/17
Re: Guix binary tarball,
Mark H Weaver <=