Re: git: dcb65c5a94d4 - main - csh: Remove hardlink /.cshrc

From: Emmanuel Vadot <manu_at_bidouilliste.com>
Date: Wed, 05 Jun 2024 05:30:06 UTC
 Hi John,

On Tue, 4 Jun 2024 16:07:53 -0700
John Baldwin <jhb@FreeBSD.org> wrote:

> On 5/29/24 3:57 AM, Emmanuel Vadot wrote:
> > The branch main has been updated by manu:
> > 
> > URL: https://cgit.FreeBSD.org/src/commit/?id=dcb65c5a94d4c622b1d486847dc20488f59974e7
> > 
> > commit dcb65c5a94d4c622b1d486847dc20488f59974e7
> > Author:     Emmanuel Vadot <manu@FreeBSD.org>
> > AuthorDate: 2024-05-27 13:12:18 +0000
> > Commit:     Emmanuel Vadot <manu@FreeBSD.org>
> > CommitDate: 2024-05-29 07:56:58 +0000
> > 
> >      csh: Remove hardlink /.cshrc
> >      
> >      Remove this historical artifact.
> >      csh will try to use /.csrch if the user has no home directory defined which
> >      is rather unlikely (To be exact if the concatenation of $HOME and "/.cshrc"
> >      fail which is the same thing).
> >      
> >      Also, with this change pkg will happily handle 3way merge for /root/.cshrc
> >      
> >      Differential Revision:  https://reviews.freebsd.org/D45382
> >      Reviewed by:            emaste, imp
> >      Sponsored by:           Beckhoff Automation GmbH & Co. KG
> 
> FWIW, this happens anytime you use /bin/csh as root's shell and boot into
> single user mode.  Similar to /.profile being used for single user mode if
> root's shell is /bin/sh.  Given we've changed the default shell for root,
> then it's fine to do this change, but that probably should have been noted
> in the commit log (in part to serve as a reminder so we don't remove the
> links for sh).

 I've thought about single user and csh and yes that's a case where csh
will try to use /.cshrc but root shell doesn't matter here as you need
to specify /bin/csh as the init prompt for single user mode, the
default is still /bin/sh no matter what.
 For /.profile, /bin/sh in single-user mode does have $HOME point
to /root so I think we can remove safely the /.profile hardlink. I
haven't looked at why /bin/csh doesn't have $HOME set but if someone
cares about using /bin/csh in single user mode (again nothing to do
with root shell) they probably wants to do something about setting
$HOME to /root/.

 Cheers,

-- 
Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>