From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:33357) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hn3vP-0003pi-UL for guix-patches@gnu.org; Mon, 15 Jul 2019 12:34:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hn3vO-0003Mt-Qk for guix-patches@gnu.org; Mon, 15 Jul 2019 12:34:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:40070) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hn3vO-0003Mj-MW for guix-patches@gnu.org; Mon, 15 Jul 2019 12:34:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hn3vO-0008M0-Ex for guix-patches@gnu.org; Mon, 15 Jul 2019 12:34:02 -0400 Subject: [bug#36555] [PATCH 1/2] guix system: Add 'reconfigure' module. Resent-Message-ID: From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <87imsci9sj.fsf@sdf.lonestar.org> <87ef30i9fl.fsf@sdf.lonestar.org> <87y3129qsn.fsf@gnu.org> <87sgr9bziq.fsf@sdf.lonestar.org> <87pnmc7nt1.fsf@gnu.org> <8736j7nwcb.fsf@sdf.lonestar.org> Date: Mon, 15 Jul 2019 18:32:55 +0200 In-Reply-To: <8736j7nwcb.fsf@sdf.lonestar.org> (Jakob L. Kreuze's message of "Mon, 15 Jul 2019 11:36:36 -0400") Message-ID: <87muhfjm14.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: "Jakob L. Kreuze" Cc: 36555@debbugs.gnu.org zerodaysfordays@sdf.lonestar.org (Jakob L. Kreuze) skribis: > Ludovic Court=C3=A8s 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 rep= l) 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 PR= OGRAM'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)))) >>=20=20 >> (define* (remote-eval exp session > > LGTM, thanks! Cool, pushed as 6f8eb9f1d8bc8660349658602698db36965bba5d. >> =E2=80=98live-service-requirement=E2=80=99 gives you the graph of the cu= rrently 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=E2=80=99.