git: 497cdf9673ec - main - sh: read more profile files.

From: Dag-Erling Smørgrav <des_at_FreeBSD.org>
Date: Sat, 01 Oct 2022 21:31:18 UTC
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