From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: =?utf-8?Q?=E2=80=98guix_publish=E2=80=99?= as a content-addressed file server Date: Sun, 31 Jul 2016 18:33:56 +0200 Message-ID: <87ziox4vij.fsf@gnu.org> References: <87bn1s9vrp.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]:44548) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTtgj-00031G-Lk for guix-devel@gnu.org; Sun, 31 Jul 2016 12:34:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bTtgd-0000nT-Mr for guix-devel@gnu.org; Sun, 31 Jul 2016 12:34:04 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:59355) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTtgd-0000nD-JZ for guix-devel@gnu.org; Sun, 31 Jul 2016 12:33:59 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:35154 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1bTtgc-0002CB-OL for guix-devel@gnu.org; Sun, 31 Jul 2016 12:33:59 -0400 In-Reply-To: <87bn1s9vrp.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Wed, 20 Jul 2016 17:25:30 +0200") 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: guix-devel Hello, ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > Until now, if hydra.gnu.org had a source file in its store (the result > of an =E2=80=98origin=E2=80=99), you could get it via substitutes. Howev= er, with > substitutes disabled, hydra.gnu.org was of no help, even though it did > have the source file. > > Commit ff6638d112d794c9c433731643711932452fd2ff helps address that: it > augments =E2=80=98guix publish=E2=80=99 such that it can be used as a con= tent-addressed > mirror for source files=C2=B9. > > If you run =E2=80=98guix publish -p 9999=E2=80=99 on your machine, and if > hello-2.10.tar.gz is in the store, then this URL: > > http://localhost:9999/file/hello-2.10.tar.gz/sha256/0ssi1wpaf7plaswqqjw= igppsg5fyh99vdlb9kzl7c9lng89ndq1i > > =E2=80=A6 gives you hello-2.10.tar.gz. guix-maintenance commit 7f59985566b384e31da7e6f1a36744e9edfba54f adds nginx proxying for those /file URLs (=E2=80=98guix publish=E2=80=99 is now = running on hydra.gnu.org, though we only use it for those /file URLs; mirror.hydra.gnu.org proxies and caches those requests): --8<---------------cut here---------------start------------->8--- $ wget -q -O - https://mirror.hydra.gnu.org/file/hello-2.10.tar.gz/sha256/0= ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i | guix hash /dev/stdin 0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i --8<---------------cut here---------------end--------------->8--- Guix commit 40f788b9f6184436d9cc36a4dd8e7d101cd2f0ba adds mirror.hydra.gnu.org as a content-addressable mirror. Ludo=E2=80=99.