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

From: Emmanuel Vadot <manu_at_bidouilliste.com>
Date: Wed, 05 Jun 2024 05:45:34 UTC
On Wed, 5 Jun 2024 06:38:09 +0100
Jessica Clarke <jrtc27@freebsd.org> wrote:

> On 5 Jun 2024, at 06:30, Emmanuel Vadot <manu@bidouilliste.com> wrote:
> > 
> > 
> > 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/.
> 
> Are you sure it?s /root before .profile is sourced? root?s .profile
> sets and exports HOME itself, so echo $HOME will be misleading at a
> single-user prompt for the environment at .profile source time.
> 
> Note that root?s .cshrc doesn?t do this, which is likely what you?re
> seeing?
> 
> Jess
> 

 Yes indeed that's what I'm seeing, my bad :)

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