unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Roel Janssen <roel@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: Workflow management with GNU Guix
Date: Fri, 28 Oct 2016 17:27:01 +0200	[thread overview]
Message-ID: <87k2cs8pfe.fsf@gnu.org> (raw)
In-Reply-To: <874m3wh6yu.fsf@gnu.org> (Roel Janssen's message of "Fri, 28 Oct 2016 16:40:57 +0200")

Roel Janssen <roel@gnu.org> skribis:

> Ludovic Courtès writes:

[...]

>> So I guess that’s an argument in favor of the approach you chose.
>
> Can't a derivation write its output to some other place than the store?
> Maybe by running it "by hand"?

Yes, if you run it “by hand”, then you can tweak things as you see fit.

>> Fundamentally, a derivation just describes a command, its arguments, its
>> dependencies, its outputs, and its environment variables.
>>
>> So you’re right: you can very much run a derivation “by hand” instead of
>> letting the daemon do it on your behalf.  The only difference is that
>> you won’t have write access to the store.
>
> And that's fine, because we don't want to write the output to the store :).
>
> So, the workflow language should create a derivation, but then
> guix-daemon should not execute the derivation, but instead, the workflow
> execution engine can do it so it can avoid writing the output to the
> store.. right?

Right.  In addition to the snippet I gave, you’d need to set the
environment variables that are specified in the derivation.

For each output of the derivation, one environment variable is defined
that points to its /gnu/store/… file name.  So for instance, you’d also
need to do:

  (setenv "out" "/home/roel/something")

if you want to “redirect” the “out” output to a place that’s not its
normal place in the store.

With user namespaces, you could simply bind mount /home/roel/something
to /gnu/store/… in the process that runs the derivation builder, instead
using of the ‘setenv’ hack above.

Ludo’.

  reply	other threads:[~2016-10-28 15:27 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-12  8:43 Workflow management with GNU Guix Roel Janssen
2016-05-12 11:41 ` Taylan Ulrich Bayırlı/Kammer
2016-05-12 16:06 ` Ludovic Courtès
2016-10-25 13:28   ` Roel Janssen
2016-10-26 12:41     ` Ludovic Courtès
2016-10-26 13:41       ` Roel Janssen
2016-10-28 13:15         ` Ludovic Courtès
2016-10-28 14:40           ` Roel Janssen
2016-10-28 15:27             ` Ludovic Courtès [this message]
2016-10-28 17:25               ` Roel Janssen
2016-10-29 20:56                 ` Ludovic Courtès
     [not found] ` <idjfutnih58.fsf@bimsb-sys02.mdc-berlin.net>
2016-05-16 12:22   ` Ricardo Wurmus
2016-06-14  9:16     ` Roel Janssen

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=87k2cs8pfe.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=roel@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).