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