unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Tomáš Čech" <sleep_walker@gnu.org>
To: guix-devel@gnu.org
Subject: Re: ‘guix publish’ now compresses archives
Date: Tue, 19 Jul 2016 15:42:45 +0200	[thread overview]
Message-ID: <20160719134245.jyk3m6cs5374bwso@crashnator.suse.cz> (raw)
In-Reply-To: <877fchkbut.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 3515 bytes --]

On Tue, Jul 19, 2016 at 03:15:38PM +0200, Ludovic Courtès wrote:
>Hello Tomáš,
>
>Tomáš Čech <sleep_walker@gnu.org> skribis:
>
>> As I am happy to see enthusiasm about Guix, I don't think that current
>> archive format is usable for distribution of binary packages of
>> whatever origin. Problem is that we have package definition as part of
>> package manager GIT snapshot or local files but this information is
>> not distributed along with the package archive.
>
>I’m not sure what you mean.  The “substitute” mechanism is meant as a
>cache.  Guix locally compiles the package recipe to a low-level
>representation of the build process (a derivation), and then, it can
>*optionally* ask substitute servers whether they have the result
>corresponding to that derivation.
>
>A derivation is self-contained and unambiguous.  I can do:
>
>--8<---------------cut here---------------start------------->8---
>$ guix build -d sed
>/gnu/store/whkb4d5sq2326m54zpdz6hhmi37jy6j4-sed-4.2.2.drv
>$ cat $(guix build -d sed) | cut -d ']' -f 1
>Derive([("out","/gnu/store/4ls9kdy1w6ichvmbrl5wn98lxmznbkd6-sed-4.2.2","","")
>$ wget -O /tmp/sed-binary.nar.bz2 https://mirror.hydra.gnu.org/nar/4ls9kdy1w6ichvmbrl5wn98lxmznbkd6-sed-4.2.2
>--2016-07-19 15:09:02--  https://mirror.hydra.gnu.org/nar/4ls9kdy1w6ichvmbrl5wn98lxmznbkd6-sed-4.2.2
>Ni solvigas mirror.hydra.gnu.org (mirror.hydra.gnu.org)... 131.159.14.26, 2001:4ca0:2001:10:225:90ff:fedb:c720
>Konektado al mirror.hydra.gnu.org (mirror.hydra.gnu.org)|131.159.14.26|:443... konektita.
>HTTP peto sendita, ni atendas respondon... 200 OK
>Grando: nespecifita [application/x-nix-archive]
>Ni konservas al: '/tmp/sed-binary.nar.bz2'
>
>/tmp/sed-binary.nar     [ <=>                ] 145.07K  --.-KB/s    in 0.07s
>
>2016-07-19 15:09:02 (2.04 MB/s) - '/tmp/sed-binary.nar.bz2' konservita [148549]
>--8<---------------cut here---------------end--------------->8---
>
>… and now I have the binary corresponds to that sed-4.2.2.drv, or so
>claims mirror.hydra.gnu.org.  (This URL scheme is what ‘guix publish’
>implements.)
>
>Thus, mirror.hydra.gnu.org does not need to know about the (package …)
>form, the Git revision of Guix, whether the recipe was local or not,
>etc.
>
>Of course I have to trust mirror.hydra.gnu.org to genuinely serve
>binaries resulting corresponding to the derivations.  To express this
>trust, I register its archive signing key, as explained at
><https://www.gnu.org/software/guix/manual/html_node/Substitutes.html>.
>
>Does that clarify things, or am I misunderstanding?

Thanks for lenghty mail, but I'm sorry, no, I mean something
different. Let's try example situation instead.

Imagine situation where person A is running some distribution with
Guix package manager on top and has some set of his personal packages
containing additional patches which are not part of Guix GIT.

He'd like to share the package with person B, running different
distribution with Guix package manager at different revision on top,
with different set of personal packages and alterations.

I'd like to provide them a way, how to pass from person A to person B
some binary archive in a way that he could understand (and verify)
what he received. If it requries out-of-tree package definitions of
person A, patches, etc, bundle it together.

IOW, prepare Guix for being package manager for packages which are not
defined in Guix GIT.

Is that better understood?

Thanks,

S_W

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2016-07-19 13:42 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-18 22:22 ‘guix publish’ now compresses archives Ludovic Courtès
2016-07-19  6:29 ` Tomáš Čech
2016-07-19 10:03   ` Pjotr Prins
2016-07-19 13:15   ` Ludovic Courtès
2016-07-19 13:42     ` Tomáš Čech [this message]
2016-07-19 14:23       ` Ricardo Wurmus
2016-07-19 15:50         ` Tomáš Čech
2016-07-20 11:20           ` Ricardo Wurmus
2016-07-20 13:05             ` Tomáš Čech
2016-07-20 13:12               ` Thompson, David
2016-07-20 16:10                 ` Tomáš Čech
2016-07-21  5:33                 ` Ricardo Wurmus
2016-07-21 15:58                   ` Thompson, David
2016-07-21  5:53               ` Ricardo Wurmus
2016-07-21 20:50                 ` Tomáš Čech
2016-07-21 10:12 ` Andy Wingo
2016-07-21 12:43   ` 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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=20160719134245.jyk3m6cs5374bwso@crashnator.suse.cz \
    --to=sleep_walker@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 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).