From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Signed archive export/import Date: Sun, 22 Dec 2013 01:14:14 +0100 Message-ID: <87y53divxl.fsf@gnu.org> References: <87bo0bqy7k.fsf@gnu.org> 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]:58704) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VuWgY-0004UJ-NA for guix-devel@gnu.org; Sat, 21 Dec 2013 19:14:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VuWgS-0008Fa-S5 for guix-devel@gnu.org; Sat, 21 Dec 2013 19:14:22 -0500 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:56005) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VuWgS-0008FU-Ld for guix-devel@gnu.org; Sat, 21 Dec 2013 19:14:16 -0500 In-Reply-To: <87bo0bqy7k.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 20 Dec 2013 17:33:19 +0100") 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: guix-devel@gnu.org ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > - a =E2=80=98guix archive=E2=80=99 command to easily import/export arch= ives, and to > generate a key pair; Done in commit 760c60d; see the doc below. Ludo=E2=80=99. 3.6 Invoking =E2=80=98guix archive=E2=80=99 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D The =E2=80=98guix archive=E2=80=99 command allows users to "export" files f= rom the store into a single archive, and to later "import" them. In particular, it allows store files to be transferred from one machine to another machine=E2=80=99s store. For example, to transfer the =E2=80=98emacs=E2=80= =99 package to a machine connected over SSH, one would run: guix archive --export emacs | ssh the-machine guix archive --import Archives are stored in the =E2=80=9CNix archive=E2=80=9D or =E2=80=9CNar= =E2=80=9D format, which is comparable in spirit to =E2=80=98tar=E2=80=99. When exporting, the daemon = digitally signs the contents of the archive, and that digital signature is appended. When importing, the daemon verifies the signature and rejects the import in case of an invalid signature. The main options are: =E2=80=98--export=E2=80=99 Export the specified store files or packages (see below.) Write the resulting archive to the standard output. =E2=80=98--import=E2=80=99 Read an archive from the standard input, and import the files listed therein into the store. Abort if the archive has an invalid digital signature. To export store files as an archive to the standard output, run: guix archive --export OPTIONS SPECIFICATIONS... SPECIFICATIONS may be either store file names or package specifications, as for =E2=80=98guix package=E2=80=99 (*note Invoking guix = package::). For instance, the following command creates an archive containing the =E2=80=98gui=E2=80=99 output of the =E2=80=98git=E2=80=99 package and the m= ain output of =E2=80=98emacs=E2=80=99: guix archive --export git:gui /nix/store/...-emacs-24.3 > great.nar If the specified packages are not built yet, =E2=80=98guix archive=E2=80= =99 automatically builds them. The build process may be controlled with the same options that can be passed to the =E2=80=98guix build=E2=80=99 command= (*note Invoking guix build::).