From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?R=C3=A9mi?= Birot-Delrue Subject: [GSoC] Guix + GNUnet: =?utf-8?Q?what=E2=80=99s?= next Date: Thu, 02 Jul 2015 13:15:30 +0200 Message-ID: <87vbe23j59.fsf@free.fr> 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]:41872) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAcWy-0007HF-AF for guix-devel@gnu.org; Thu, 02 Jul 2015 07:19:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZAcWt-0007MB-AZ for guix-devel@gnu.org; Thu, 02 Jul 2015 07:19:48 -0400 Received: from smtp4-g21.free.fr ([212.27.42.4]:47930) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAcWt-0007Ko-4T for guix-devel@gnu.org; Thu, 02 Jul 2015 07:19:43 -0400 Received: from scotty (unknown [82.243.96.129]) by smtp4-g21.free.fr (Postfix) with ESMTPS id 120A74C80AF for ; Thu, 2 Jul 2015 13:19:40 +0200 (CEST) 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 Hello Guix! Here=E2=80=99s a little update. The current binary package distribution (through HTTP) is based on two components: a substituer (that retrieves packages) and a publisher. The current plan is to start with adapting the publisher for GNUnet before attacking the substituer; this work will be started once I=E2=80=99ll hav= e successfully bound the download and publish operations. Here=E2=80=99s an overview of how these components will work: After a call to `guix package -i foo`, the GNUnet substituer will search GNUnet for a specific build of the `foo` package and if it finds one, it will download it and install it (as if it had been downloaded through HTTP). An interesting point is handling of metadata: in Guix (and Nix), each binary package=E2=80=99s metadata (size, signature, compression method=E2= =80=A6) is downloaded separatedly, before its archive. In the HTTP substituer, that means you have to download two files: one for the metadata, one for the archive. In the GNUnet substituer, we take advantage of the functionning of GNUnet: when you search for a file, some metadata is automatically retrieved (its size, signature, direct access URI=E2=80=A6) with the sear= ch result, and an archive=E2=80=99s metadata can be shipped along. In order to make this work, the publisher will basically inline the `narinfo' file of each archive into its metadata before indexing (uploading) it on GNUnet. As usual, feel free to contact me for any question, suggestion, advice, idea, critic or joke. --=20 R=C3=A9mi Birot-Delrue