all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: guix-devel <guix-devel@gnu.org>
Subject: ‘guix publish’ as a content-addressed file server
Date: Wed, 20 Jul 2016 17:25:30 +0200	[thread overview]
Message-ID: <87bn1s9vrp.fsf@gnu.org> (raw)

Hi!

Until now, if hydra.gnu.org had a source file in its store (the result
of an ‘origin’), you could get it via substitutes.  However, 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 ‘guix publish’ such that it can be used as a content-addressed
mirror for source files¹.

If you run ‘guix publish -p 9999’ 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/0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i

… gives you hello-2.10.tar.gz.

This works by constructing the corresponding store file name, assuming
the file being requested results from a fixed-output derivation using
the same hash algorithm (SHA256 here) or was added with ‘add-to-store’.
That the hash algorithm must match is a limitation, but it’s probably
“good enough” for our purposes.

Eventually I think we’ll run it on our build farm and add the URL to
‘%content-addressed-mirrors’ in (guix download).

Feedback welcome.  :-)

Ludo’.

¹ https://lists.gnu.org/archive/html/guix-devel/2016-05/msg00450.html

             reply	other threads:[~2016-07-20 15:25 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-20 15:25 Ludovic Courtès [this message]
2016-07-20 16:04 ` ???guix publish??? as a content-addressed file server John Darrington
2016-07-21 12:45   ` Ludovic Courtès
2016-07-31 16:33 ` ‘guix publish’ " Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bn1s9vrp.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.