summaryrefslogtreecommitdiffstats
path: root/profile
diff options
context:
space:
mode:
Diffstat (limited to 'profile')
-rw-r--r--profile67
1 files changed, 54 insertions, 13 deletions
diff --git a/profile b/profile
index 7a5a6d5..639c91b 100644
--- a/profile
+++ b/profile
@@ -1,15 +1,51 @@
-# /etc/profile -*- Mode: shell-script -*-
-# (c) MandrakeSoft, Chmouel Boudjnah <chmouel@mandrakesoft.com>
+# /etc/profile
+
+# System wide environment and startup programs, for login setup
+# Functions and aliases go in /etc/bashrc
loginsh=1
-if [ "$UID" -ge 1000 ] ; then
- if ! echo ${PATH} |grep -q /usr/local/games ; then
- PATH=$PATH:/usr/local/games
- fi
- if ! echo ${PATH} |grep -q /usr/games ; then
- PATH=$PATH:/usr/games
+# It's NOT a good idea to change this file unless you know what you
+# are doing. It's much better to create a custom.sh shell script in
+# /etc/profile.d/ to make custom changes to your environment, as this
+# will prevent the need for merging in future updates.
+
+pathmunge () {
+ case ":${PATH}:" in
+ *:"$1":*)
+ ;;
+ *)
+ if [ "$2" = "after" ] ; then
+ PATH=$PATH:$1
+ else
+ PATH=$1:$PATH
+ fi
+ esac
+}
+
+
+if [ -x /usr/bin/id ]; then
+ if [ -z "$EUID" ]; then
+ # ksh workaround
+ EUID=`/usr/bin/id -u`
+ UID=`/usr/bin/id -ru`
fi
+ USER="`/usr/bin/id -un`"
+ LOGNAME=$USER
+ MAIL="/var/spool/mail/$USER"
+fi
+
+# Path manipulation
+if [ "$UID" -ge 1000 ] ; then
+ pathmunge /usr/local/games after
+ pathmunge /usr/games after
+fi
+if [ "$EUID" = "0" ]; then
+ pathmunge /usr/sbin
+ pathmunge /usr/local/sbin
+else
+ pathmunge /usr/local/sbin after
+ pathmunge /usr/sbin after
fi
umask 022
@@ -18,7 +54,7 @@ USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
HISTCONTROL=ignoredups
-HOSTNAME=`/bin/hostname`
+HOSTNAME=`/usr/bin/hostnamectl --transient 2>/dev/null`
HISTSIZE=1000
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
@@ -32,10 +68,15 @@ NLSPATH=/usr/share/locale/%l/%N
export PATH PS1 USER LOGNAME MAIL HOSTNAME INPUTRC NLSPATH
export HISTCONTROL HISTSIZE
-for i in /etc/profile.d/*.sh ; do
- if [ -r $i ]; then
- . $i
- fi
+for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
+ if [ -r "$i" ]; then
+ if [ "${-#*i}" != "$-" ]; then
+ . "$i"
+ else
+ . "$i" >/dev/null
+ fi
+ fi
done
unset i
+unset -f pathmunge