zerodaysfordays@sdf.lonestar.org (Jakob L. Kreuze) skribis: > Ludovic Courtès writes: [...] >> 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! Cool, pushed as 6f8eb9f1d8bc8660349658602698db36965bba5d. >> ‘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. I think so, which brings us back to the need to de-monadify (guix graph). :-) Ludo’.