From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:34963) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1hyHMG-0002vh-Uq for guix-patches@gnu.org; Thu, 15 Aug 2019 11:08:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hyHMA-0002Sy-Qd for guix-patches@gnu.org; Thu, 15 Aug 2019 11:08:08 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:43408) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hyHMA-0002Sf-HJ for guix-patches@gnu.org; Thu, 15 Aug 2019 11:08:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hyHMA-0006yP-AA for guix-patches@gnu.org; Thu, 15 Aug 2019 11:08:02 -0400 Subject: [bug#36957] [PATCH 1/5] machine: Allow non-root users to deploy. Resent-Message-ID: References: <87a7cl3zyy.fsf@sdf.lonestar.org> <87sgqcobds.fsf@dustycloud.org> <87pnlgjymv.fsf_-_@sdf.lonestar.org> <87y304vyyo.fsf@elephly.net> <87tvarjtgw.fsf@sdf.lonestar.org> <87h86jxyea.fsf@dustycloud.org> <875zmy26u6.fsf_-_@sdf.lonestar.org> <871rxm26rz.fsf_-_@sdf.lonestar.org> From: Ricardo Wurmus In-reply-to: <871rxm26rz.fsf_-_@sdf.lonestar.org> Date: Thu, 15 Aug 2019 17:07:07 +0200 Message-ID: <87ef1m79ic.fsf@elephly.net> 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: 36957@debbugs.gnu.org Hi Jakob, > * doc/guix.texi (Invoking guix deploy): Add section describing > prerequisites for deploying as a non-root user. > * guix/remote.scm (remote-pipe-for-gexp): New optional 'become-command' > argument. > (%remote-eval): New optional 'become-command' argument. > (remote-eval): New 'become-command' keyword argument. > * guix/ssh.scm (remote-inferior): New optional 'become-command' > argument.=20=20 > (inferior-remote-eval): New optional 'become-command' argument. > (remote-authorize-signing-key): New optional 'become-command' argument. > * gnu/machine/ssh.scm (machine-become-command): New variable. > (managed-host-remote-eval): Invoke 'remote-eval' with the > '#:become-command' keyword. > (deploy-managed-host): Invoke 'remote-authorize-signing-key' with the > '#:become-command' keyword. [=E2=80=A6] > -(define (%remote-eval lowered session) > + (let ((pipe (apply open-remote-pipe* session OPEN_READ repl-command))) > + (when (eof-object? (peek-char pipe)) > + (raise (condition > + (&message > + (message (format #f (G_ "failed to run '~{~a~^ ~}'") > + repl-command)))))) > + pipe)) This leads to a compile warning because G_ isn=E2=80=99t available. --=20 Ricardo