[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#34638] [PATCH v2 2/4] linux-container: Add 'start-child-in-containe
From: |
Christopher Baines |
Subject: |
[bug#34638] [PATCH v2 2/4] linux-container: Add 'start-child-in-container'. |
Date: |
Sat, 28 Mar 2020 11:26:40 +0000 |
User-agent: |
mu4e 1.2.0; emacs 26.3 |
Ludovic Courtès <address@hidden> writes:
> Christopher Baines <address@hidden> skribis:
>
>> This new procedure is similar to open-pipe* in (ice-9 popen), but using
>> run-container from (gnu build linux-container).
>>
>> * gnu/build/linux-container.scm (start-child-in-container): New procedure.
>
> [...]
>
>> +(define* (start-child-in-container command
>> + #:key read? write?
>> + (root 'temporary)
>> + (mounts '())
>> + (namespaces %namespaces)
>> + (host-uids 1)
>> + (extra-environment-variables '()))
>
> Please add a docstring. :-)
>
> I’d change (extra-environment-variables '()) to:
>
> (environment-variables (environ))
>
> I always find it too hard to reason about “extra” thing; it’s just more
> convenient as an interface to specify the whole thing rather than a list
> of “extras”.
I had a go at this, but I think trying to copy the environment variables
from the host Guix to the inferior one caused problems, at least this
backtrace appears when calling open-inferior/container and I'm guessing
it comes from the inferior guix.
I think calling it environment-variables and having it be '() is OK, the
only change I can see being made elsewhere is that
open-inferior/container adds HOME=/tmp, and that's just to avoid issues
with (guix profiles).
Does that make sense?
Backtrace:
6 (apply-smob/1 #<catch-closure 7f77e0a889a0>)
In ice-9/boot-9.scm:
705:2 5 (call-with-prompt ("prompt") #<procedure 7f77e0a9f560 at
ice-9/eval.scm:330:13 ()> #<procedure default-prompt-handler (k proc)>)
In ice-9/eval.scm:
619:8 4 (_ #(#(#<directory (guile-user) 7f77e0717140>)))
293:34 3 (_ #(#(#<directory (guile-user) 7f77e0717140>)
("/gnu/store/ain1rvg7vrrcr85v0fgpyjm8k2sflxpz-guix-1.0.1-15.0984481/bin/.guix-real"
"repl" "-t" "machi?")))
159:9 2 (_ #(#(#<directory (guile-user) 7f77e0717140>)
("/gnu/store/ain1rvg7vrrcr85v0fgpyjm8k2sflxpz-guix-1.0.1-15.0984481/bin/.guix-real"
"repl" "-t" "machi?")))
In ice-9/boot-9.scm:
2803:6 1 (resolve-interface _ #:select _ #:hide _ #:prefix _ #:renamer _
#:version _)
In unknown file:
0 (scm-error misc-error #f "~A ~S" ("no code for module" (guix ui))
#f)
signature.asc
Description: PGP signature