From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: =?utf-8?Q?=E2=80=98guix_publish=E2=80=99?= now compresses archives Date: Wed, 20 Jul 2016 13:20:26 +0200 Message-ID: References: <878twytwlp.fsf@gnu.org> <20160719062915.3cdpmb6xhcg3l6mw@venom> <877fchkbut.fsf@gnu.org> <20160719134245.jyk3m6cs5374bwso@crashnator.suse.cz> <20160719155024.ti4bqvenntoucgmz@crashnator.suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:57683) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPpYN-0003Sf-QW for guix-devel@gnu.org; Wed, 20 Jul 2016 07:20:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bPpYI-0006hQ-Bl for guix-devel@gnu.org; Wed, 20 Jul 2016 07:20:38 -0400 Received: from sinope02.bbbm.mdc-berlin.de ([141.80.25.24]:59136) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPpYH-0006hM-Kj for guix-devel@gnu.org; Wed, 20 Jul 2016 07:20:33 -0400 In-Reply-To: <20160719155024.ti4bqvenntoucgmz@crashnator.suse.cz> 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" To: =?utf-8?B?VG9tw6HFoSDEjGVjaA==?= Cc: guix-devel@gnu.org Tom=C3=A1=C5=A1 =C4=8Cech writes: > On Tue, Jul 19, 2016 at 04:23:14PM +0200, Ricardo Wurmus wrote: >> >>Tom=C3=A1=C5=A1 =C4=8Cech writes: >> >>> Imagine situation where person A is running some distribution with >>> Guix package manager on top and has some set of his personal packages >>> containing additional patches which are not part of Guix GIT. >>> >>> He'd like to share the package with person B, running different >>> distribution with Guix package manager at different revision on top, >>> with different set of personal packages and alterations. >>> >>> I'd like to provide them a way, how to pass from person A to person B >>> some binary archive in a way that he could understand (and verify) >>> what he received. If it requries out-of-tree package definitions of >>> person A, patches, etc, bundle it together. >> >>This is already possible with =E2=80=9Cguix archive --export=E2=80=9D a= nd =E2=80=9C--import=E2=80=9D. >> ... >>What=E2=80=99s not so nice about this is that you can end up with binar= ies in >>your store that you cannot rebuild yourself (because you never had the >>sources to begin with). (I wonder if this has implications on software >>freedom.) >> >>~~ Ricardo >> > > Ooops, I answered to Ricardo only... > > Yes, you can take exported archive (optionally with it's dependencies > - --recursive) and add it to the person B's store. That is comparable > to tarball (and making Guix aware of new items in store). > > The thing that you can't rebuild the binaries is exactly my point, > because person A knows how to build it, but person B does not. Thanks! Are you suggesting that package archives and store exports must include all package expressions (and all supporting code to build them) needed to reproduce them? The store can hold packages that were built with different versions of Guix. Does this mean that each version of Guix that has been used should also be kept in the store? But wait, this goes even further than just versions of Guix. There may be stuff in the GUIX_PACKAGE_PATH. Are you suggesting that all of this should become part of package archives? If so: how? ~~ Ricardo