unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* ‘guix publish’ as a content-addressed file server
@ 2016-07-20 15:25 Ludovic Courtès
  2016-07-20 16:04 ` ???guix publish??? " John Darrington
  2016-07-31 16:33 ` ‘guix publish’ " Ludovic Courtès
  0 siblings, 2 replies; 4+ messages in thread
From: Ludovic Courtès @ 2016-07-20 15:25 UTC (permalink / raw)
  To: guix-devel

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-07-31 16:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-20 15:25 ‘guix publish’ as a content-addressed file server Ludovic Courtès
2016-07-20 16:04 ` ???guix publish??? " John Darrington
2016-07-21 12:45   ` Ludovic Courtès
2016-07-31 16:33 ` ‘guix publish’ " Ludovic Courtès

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).