Re: git: dcb65c5a94d4 - main - csh: Remove hardlink /.cshrc
Date: Wed, 05 Jun 2024 05:38:09 UTC
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