From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Guix binary tarball Date: Wed, 20 May 2015 12:19:47 +0200 Message-ID: <87y4kjczzw.fsf@gnu.org> References: <20150515164602.GA13539@debian> <87382smaoy.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([208.118.235.92]:47945) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yv1Kv-0004nO-7G for guix-devel@gnu.org; Wed, 20 May 2015 06:34:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yv1Kq-0003UI-86 for guix-devel@gnu.org; Wed, 20 May 2015 06:34:53 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37093) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yv16P-0006K4-Bi for guix-devel@gnu.org; Wed, 20 May 2015 06:19:53 -0400 In-Reply-To: <87382smaoy.fsf@netris.org> (Mark H. Weaver's message of "Tue, 19 May 2015 19:03:57 -0400") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Mark H Weaver Cc: guix-devel@gnu.org Mark H Weaver skribis: > Andreas Enge writes: > >> - The tarball also contains /, /root and /var. When unpacking it, the ow= ner >> 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. Oh you mean the *parent* directories, right? Sorry I hadn=E2=80=99t unders= tood that. > 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: > > 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=3Dgnu" > "--owner=3Droot:0" "--group=3Droot:0" > - "-cvf" #$output "."))))) > + "-cvf" #$output > + ;; Avoid adding /, /var, or /root to the tar= ball, > + ;; so that the ownership and permissions of = those > + ;; directories will not be overwritten when > + ;; extracting the archive. > + "./root/.guix-profile" > + "./var/guix" > + "./gnu"))))) >=20=20 > (gexp->derivation "guix-tarball.tar.xz" build > #:references-graphs `(("profile" ,profile)) > > 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? Yes, that=E2=80=99s even better, please commit and revert 8c3a5d7059. Thanks! Ludo=E2=80=99.