[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#36555] [PATCH 1/2] guix system: Add 'reconfigure' module.
From: |
Jakob L. Kreuze |
Subject: |
[bug#36555] [PATCH 1/2] guix system: Add 'reconfigure' module. |
Date: |
Mon, 15 Jul 2019 11:36:36 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Ludovic Courtès <address@hidden> writes:
> Oh, I see. So in a way the problem is that ‘remote-eval’ doesn’t do
> anything sensible with the output and error ports of that remote
> evaluation.
>
> Ultimately we should probably fix (guix inferior) and (guix remote) so
> that stdout and stderr are properly transmitted.
Thinking about it now, that could make error reporting for 'guix deploy'
less complicated. We'd be able to output the remote's stdout/stderr to
the host's stdout/stderr and be done with it.
> In the meantime, what about this patch?
>
> diff --git a/guix/remote.scm b/guix/remote.scm
> index e503c76167..8ada5c0957 100644
> --- a/guix/remote.scm
> +++ b/guix/remote.scm
> @@ -76,8 +76,14 @@ result to the current output port using the (guix repl)
> protocol."
> (with-imported-modules (source-module-closure '((guix repl)))
> #~(begin
> (use-modules (guix repl))
> - (send-repl-response '(primitive-load #$program)
> +
> + ;; We use CURRENT-OUTPUT-PORT for REPL messages, so redirect
> PROGRAM's
> + ;; output to CURRENT-ERROR-PORT so that it does not interfere.
> + (send-repl-response '(with-output-to-port (current-error-port)
> + (lambda ()
> + (primitive-load #$program)))
> (current-output-port))
> +
> (force-output))))
>
> (define* (remote-eval exp session
LGTM, thanks!
> ‘live-service-requirement’ gives you the graph of the currently loaded
> services, but you also need the target service graph to determine what
> to upgrade; that seems to be missing currently.
Oh, good catch. Reusing 'shepherd-service-upgrade' is certainly the way
to go, then.
Regards,
Jakob
signature.asc
Description: PGP signature
- [bug#36555] [PATCH 0/2] Refactor out common behavior for system reconfiguration., Jakob L. Kreuze, 2019/07/08
- [bug#36555] [PATCH 1/2] guix system: Add 'reconfigure' module., Jakob L. Kreuze, 2019/07/08
- [bug#36555] [PATCH 2/2] guix system: Reimplement 'reconfigure'., Jakob L. Kreuze, 2019/07/08
- [bug#36555] [PATCH 1/2] guix system: Add 'reconfigure' module., Ludovic Courtès, 2019/07/13
- [bug#36555] [PATCH 1/2] guix system: Add 'reconfigure' module., Jakob L. Kreuze, 2019/07/13
- [bug#36555] [PATCH 1/2] guix system: Add 'reconfigure' module., Ludovic Courtès, 2019/07/14
- [bug#36555] [PATCH 1/2] guix system: Add 'reconfigure' module.,
Jakob L. Kreuze <=
- [bug#36555] [PATCH 1/2] guix system: Add 'reconfigure' module., Ludovic Courtès, 2019/07/15
- [bug#36555] [PATCH 1/2] guix system: Add 'reconfigure' module., Jakob L. Kreuze, 2019/07/15
- [bug#36555] [PATCH v3 0/3] Refactor out common behavior for system reconfiguration., Jakob L. Kreuze, 2019/07/16
- [bug#36555] [PATCH v3 1/3] guix system: Add 'reconfigure' module., Jakob L. Kreuze, 2019/07/16
- [bug#36555] [PATCH v3 2/3] guix system: Reimplement 'reconfigure'., Jakob L. Kreuze, 2019/07/16
- [bug#36555] [PATCH v3 3/3] tests: Add reconfigure system test., Jakob L. Kreuze, 2019/07/16
- [bug#36555] [PATCH v3 1/3] guix system: Add 'reconfigure' module., Ludovic Courtès, 2019/07/19
- [bug#36555] [PATCH v3 0/3] Refactor out common behavior for system reconfiguration., Jakob L. Kreuze, 2019/07/18
- [bug#36555] [PATCH v4 0/3] Refactor out common behavior for system reconfiguration., Jakob L. Kreuze, 2019/07/19
- [bug#36555] [PATCH v4 1/3] guix system: Add 'reconfigure' module., Jakob L. Kreuze, 2019/07/19