Re: git: 497cdf9673ec - main - sh: read more profile files.
- Reply: Cy Schubert : "Re: git: 497cdf9673ec - main - sh: read more profile files."
- Reply: Dag-Erling_Smørgrav : "Re: git: 497cdf9673ec - main - sh: read more profile files."
- In reply to: Dag-Erling Smørgrav : "git: 497cdf9673ec - main - sh: read more profile files."
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 09 Oct 2022 07:13:38 UTC
Am Sat, 1 Oct 2022 21:31:18 GMT Dag-Erling Smørgrav <des@FreeBSD.org> schrieb: > The branch main has been updated by des: > > URL: https://cgit.FreeBSD.org/src/commit/?id=497cdf9673ec53d59634bb78862cd8dea3d5c155 > > commit 497cdf9673ec53d59634bb78862cd8dea3d5c155 > Author: Dag-Erling Smørgrav <des@FreeBSD.org> > AuthorDate: 2022-09-09 13:08:43 +0000 > Commit: Dag-Erling Smørgrav <des@FreeBSD.org> > CommitDate: 2022-10-01 21:30:56 +0000 > > sh: read more profile files. > > Differential Revision: https://reviews.freebsd.org/D36505 > MFC after: 1 month > --- > bin/sh/profile | 20 ++++++++++++++++++++ > etc/mtree/BSD.root.dist | 2 ++ > 2 files changed, 22 insertions(+) > > diff --git a/bin/sh/profile b/bin/sh/profile > index b77c8787c79d..afcbeaf4110b 100644 > --- a/bin/sh/profile > +++ b/bin/sh/profile > @@ -12,3 +12,23 @@ > # msgs -q > # Allow terminal messages > # mesg y > + > +# Load each file in /etc/profile.d/, then /usr/local/etc/profile, then > +# each file in /usr/local/etc/profile.d/. > +_loaded=${_loaded:-/etc/profile} > +export _loaded > +for _dir in /etc /usr/local/etc ; do > + for _file in "${_dir}"/profile "${_dir}"/profile.d/* ; do > + if [ -f "${_file}" ] ; then > + case :${_loaded}: in > + *:"${_file}":*) > + ;; > + *) > + _loaded="${_loaded:+${_loaded}:}${_file}" > + . "${_file}" > + ;; > + esac > + fi > + done > +done > +unset _loaded _dir _file > diff --git a/etc/mtree/BSD.root.dist b/etc/mtree/BSD.root.dist > index 8bea31212217..5ee5da8ee149 100644 > --- a/etc/mtree/BSD.root.dist > +++ b/etc/mtree/BSD.root.dist > @@ -84,6 +84,8 @@ > .. > ppp > .. > + profile.d > + .. > rc.conf.d > .. > rc.d > According to this commit, I took the liberty opening a PR (id=266913) because some ports, like lang/gawk and x11-toolkits/vte3, install their SH and CSH set of shell configuration files into ${LOCALBASE}/etc/profile.d/, i.e. vte.{sh|csh}. The proposed/commited /etc/profile includes also *.csh files, which triggers some disturbing error messages during a full login (i.e. su - ) and the list of those messages increase with the number of unfitting shell configuration files. I do not have a general solution, maybe someone more enlighted can take a look at this. Thanks and kind regards, O. Hartmann -- O. Hartmann