[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gwl-devel] support for containers

From: Ricardo Wurmus
Subject: Re: [gwl-devel] support for containers
Date: Tue, 29 Jan 2019 18:19:57 +0100
User-agent: mu4e 1.0; emacs 26.1

zimoun <address@hidden> writes:

> On Tue, 29 Jan 2019 at 12:46, Ricardo Wurmus <address@hidden> wrote:
>> zimoun <address@hidden> writes:
>> > By inputs, do you mean data-inputs and package-inputs?
>> Data inputs only.
> I understand that only the input files need to be part of the input hash.
> However, I do not know if the output hash need to also contain the
> tool hash and the input hash.
> Therefore, when chaining (an input is another output), the store
> should track the tools used, somehow.

Ah, I understand now.

> Maybe, it is what you are explaining with the quote: "we just hash the
> inputs leading up to the output, excluding the output itself".

Right, “inputs” is very vague at this point.  It should be derived from
the process and all of its data inputs (which are the result of other

As you can see this is analogous to Guix.  I’m not clear on how exactly
this should be accomplished, to be honest.  In Guix we have packages
referencing other packages directly (through inputs or through the build
system); this is all compiled down to derivations, which have clear
inputs and outputs.

In the GWL we have processes, which are linked through workflows.
Processes compile to derivations that build scripts and the inputs to
these derivations are only package derivations — no data inputs, because
they only become important when the generated scripts are executed.

We could start by assuming that the generated *script* of the current
process (which references a particular package profile) is an input to
the process’s output, as are the other data inputs, which have other
processes scripts as inputs.

We could thus cheaply hash the scripts — since they contain references
to the tools they use.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]