From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56963) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e8oWT-0003X3-24 for guix-patches@gnu.org; Sun, 29 Oct 2017 10:25:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e8oWO-0002n2-Ka for guix-patches@gnu.org; Sun, 29 Oct 2017 10:25:09 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:60305) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e8oWO-0002m8-HP for guix-patches@gnu.org; Sun, 29 Oct 2017 10:25:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1e8oWM-0003i8-2v for guix-patches@gnu.org; Sun, 29 Oct 2017 10:25:02 -0400 Subject: [bug#29035] [PATCH 1/2] skel: Test for interactive shell instead of $SSH_CLIENT in .bashrc. Resent-Message-ID: From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <87mv4cxi9n.fsf@fastmail.com> <20171027235357.28600-1-mbakke@fastmail.com> <87lgjv7lhu.fsf@gnu.org> <8760ay5kd5.fsf@fastmail.com> Date: Sun, 29 Oct 2017 15:24:44 +0100 In-Reply-To: <8760ay5kd5.fsf@fastmail.com> (Marius Bakke's message of "Sun, 29 Oct 2017 11:17:10 +0100") Message-ID: <877eve3uc3.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: Marius Bakke Cc: 29035@debbugs.gnu.org Hi Marius! Marius Bakke skribis: > Ludovic Court=C3=A8s writes: > >> Heya, >> >> Marius Bakke skribis: >> >>> * gnu/system/shadow.scm (default-skeletons): Instead of testing for >>> $SSH_CLIENT, check whether '$-' includes the letter 'i'. >> >> That=E2=80=99s an improvement indeed, LGTM! > > I realized this will source /etc/profile twice when bash is invoked as > 'bash -l -c foo', which isn't great. It also assumes /etc/profile > exists at all, which might not hold true e.g. in a container. OK. (Though GuixSD containers do have /etc/profile, don=E2=80=99t they?) > The main motivation for this commit is to make things like > 'git-receive-pack', 'rsync' etc work out-of-the-box when installed in > a user profile. The test for `cat` was ineffective on OpenSSH since it > has a default PATH set to "/run/current-system/profile/bin". > > I've tested adding ~/.guix-profile/bin to the compiled-in default > OpenSSH PATH instead, and it works. WDYT of this series? OK. I think it would make sense to add a test to (gnu tests ssh) for this, because it=E2=80=99s one of these things that annoy everyone. > From fc37dd6dfb6beab9cc4e52de7b7c98946125e7cc Mon Sep 17 00:00:00 2001 > From: Marius Bakke > Date: Sun, 29 Oct 2017 10:31:25 +0100 > Subject: [PATCH 1/3] gnu: openssh: Add user profiles to the default PATH. > > * gnu/packages/ssh.scm (openssh)[arguments]<#:configure-flags>: Add > '~/guix-profile/bin' to '--with-default-path' arguments. > --- > gnu/packages/ssh.scm | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm > index 8317f29cd..2aeeeae1e 100644 > --- a/gnu/packages/ssh.scm > +++ b/gnu/packages/ssh.scm > @@ -149,7 +149,9 @@ a server that supports the SSH-2 protocol.") > #:configure-flags `("--sysconfdir=3D/etc/ssh" >=20=20 > ;; Default value of 'PATH' used by sshd. > - "--with-default-path=3D/run/current-system/pro= file/bin" > + ,(string-append "--with-default-path=3D" > + "/run/current-system/profile/= bin:" > + "~/.guix-profile/bin") If sshd performs tilde expansion, that=E2=80=99s fine with me. Should we do something similar for lsh and Dropbear? > From cc817dd809c85571d3e54a226ff16a7a3aa5bdae Mon Sep 17 00:00:00 2001 > From: Marius Bakke > Date: Sun, 29 Oct 2017 11:07:49 +0100 > Subject: [PATCH 2/3] system: Don't try to source /etc/profile in '.bashrc' > skeleton. > > * gnu/system/shadow.scm (default-skeletons)[bashrc]: Remove test for $SSH= _CLIENT. OK. > From 53761ac682cf0de4161c40aa7ec5372a2070c2b2 Mon Sep 17 00:00:00 2001 > From: Marius Bakke > Date: Sat, 28 Oct 2017 01:19:01 +0200 > Subject: [PATCH 3/3] system: Return early in skeleton '.bashrc' when the = shell > is non-interactive. > > * gnu/system/shadow.scm (default-skeletons)[bashrc]: Test if $- includes = the > letter 'i', and return if it doesn't. OK. Thank you! Ludo=E2=80=99.