]> arthur.barton.de Git - ConfigScripts.git/blobdiff - sys/profile
Only setup MANPATH if manpath(1) is not available
[ConfigScripts.git] / sys / profile
index c4a05d5f1b6dc034dd8c8ee55fc437a6a5eb8c3c..e673b016601fb6da6feee4bee7868f13a39dfc08 100644 (file)
@@ -1,58 +1,24 @@
 #
 # /etc/profile: system-wide profile for the Bourne shell (sh(1)) and
 # Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
-#
-# 2008-08-07, alex@barton.de
-#  - Added support for /etc/profile.d
-#  - Added support for /etc/chroot_name
-#  - Restructure PATH and MANPATH detecttion.
-#  - Add ~/Applications to PATH.
-#  - Add generic chroot name check.
-#  - Check if debian_chroot is readable (insted of if it exists).
-#  - Fix quota check, don't use full path name
-# 2007-10-28, alex@barton.de
-#  - Look for /usr/libexec/path_helper, used by Mac OS X 10.5
-# 2007-04-05, alex@barton.de
-#  - Check for and read /etc/bashrc as well, if /etc/bash.bashrc doesn't exist
-# 2006-01-04, alex@barton.de
-#  - Use "hostname -s" (not "--short") for compatibility to [Net]BSD.
-#  - Added /usr/pkg/bin to optional PATH components.
-# 2005-04-23, alex@Arthur.Ath.CX
-#  - Removed umask, we do use the system default now.
-# 2005-02-19, alex@Arthur.Ath.CX
-#  - Removed export of CVS_RSH and MANWIDTH: use /etc/environment!
-# 2005-02-04, alex@Arthur.Ath.CX
-#  - Added export of CVS_RSH.
-#  - Added export of MANWIDTH=80.
-# 2005-01-23, alex@Arthur.Ath.CX
-#  - Added check for quotas
-# 2004-09-13, alex@Arthur.Ath.CX
-#  - I made this script more generic, so that it is usabe for other systems
-#    than Arthur as well: read in local profile from /var/lib/$ME/profile
-#    after the initialization done in here.
-#  - Changed shell prompt to generic version using "<" and ">".
-#  - Make sure that $ME is set, even when not running interactive.
-# 2004-08-11, alex@Arthur.Ath.CX
-#  - Make sure that $USER is set.
-#  - Always export $UID and $USER variables.
-# 2004-07-30, alex@Arthur.Ath.CX
-#  - Make sure $UID is set.
-#  - Let ksh read in "/etc/ksh.kshrc".
-# 2004-05-20, alex@Arthur.Ath.CX
-#  - Added support for "$debian_chroot"
-# 2004-02-16, alex@Arthur.Ath.CX
-#  - Removed test for old home directory.
-# 2004-02-02, alex@Arthur.Ath.CX
-#  - Added scan for optional PATH elements.
-# 2003-12-18, alex@Arthur.Ath.CX
-#  - Initial version.
+# Written 2003-2009 by Alexander Barton (alex@barton.de)
 #
 
-[ -e /tmp/ConfigDebug.$USER ] && echo " >> /etc/profile ..."
+[ -e ~/.ConfigScripts.debug ] && echo " >> /etc/profile ..."
 
 PROFILEREAD="true"
 export PROFILEREAD
 
+# Make sure UID is set
+[ -n "$UID" ] || UID=`id -u`
+export UID
+
+# Set locale if it is not set or doesn't contain a dot;
+# but all system messages should still be in "native" ("C") language.
+[ "$LANG" = "${LANG#*.}" -a "$LANG" != "C" ] \
+       && export LANG="${LANG:-de_DE}.ISO8859-1"
+export LC_MESSAGES="C"
+
 # Initialize PATH variable
 export PATH MANPATH
 if [ -x /usr/libexec/path_helper ]; then
@@ -64,7 +30,7 @@ else
 fi
 # prepend optional directories to PATH ...
 path=""
-for d in /usr/pkg/bin /opt/*/bin; do
+for d in /Developer/usr/bin /usr/pkg/bin /opt/*/bin; do
        [ -d "$d" -o -h "$d" ] && path="$path$d:"
 done
 [ -n "$path" ] && PATH="$path$PATH"
@@ -84,16 +50,18 @@ done
 [ -d ~/bin ] && PATH=~/bin:"${PATH}"
 [ -d ~/sbin ] && PATH=~/sbin:"${PATH}"
 
-# set MANPATH so it includes user's private man files
-if [ -n "$MANPATH" ]; then
+# Setup MANPATH, if manpath(1) isn't available
+if [ ! "$(type manpath)" ]; then
+       [ -z "$MANPATH" ] \
+               && MANPATH="/usr/local/share/man:/usr/share/man:/usr/man"
        path=""
        for d in /usr/pkg/share/man /usr/pkg/man /opt/*/share/man /opt/*/man; do
                [ -d "$d" -o -h "$d" ] && path="$path$d:"
        done
        [ -n "$path" ] && MANPATH="$path$MANPATH"
+       [ -d ~/share/man ] && MANPATH=~/share/man:"${MANPATH}"
+       [ -d ~/man ] && MANPATH=~/man:"${MANPATH}"
 fi
-[ -d ~/man ] && MANPATH=~/man:"${MANPATH}"
-[ -d ~/share/man ] && MANPATH=~/share/man:"${MANPATH}"
 
 # set variable identifying the chroot you work in
 [ -r /etc/debian_chroot ] && chroot_name=$(cat /etc/debian_chroot)
@@ -111,10 +79,25 @@ export UID USER
 ME=`hostname -s`
 export ME
 
+# Move Xauthority file to local storage, so that sudo et all work
+if [ -z "$XAUTHORITY" -a -r ~/.Xauthority ]; then
+       cp ~/.Xauthority /tmp/Xauthority-$USER
+       chmod 600 /tmp/Xauthority-$USER
+       export XAUTHORITY="/tmp/Xauthority-$USER"
+fi
+
 # read profile additions
 if [ -d /etc/profile.d ]; then
        for f in /etc/profile.d/*; do
-               [ -r "$f" ] && . "$f"
+               [ -r "$f" ] || continue
+               case "$f" in
+                       *.csh)
+                               ;;
+                       *)
+                               [ -e ~/.ConfigScripts.debug ] \
+                                       && echo " >> $f ..."
+                               . "$f"
+               esac
        done
 fi
 
@@ -139,7 +122,7 @@ fi
 [ "$KSH_VERSION" -a -z "$KSHRCREAD" -a -r /etc/ksh.kshrc ] \
        && . /etc/ksh.kshrc
 
-# Check quotas
+# Check filesystem quotas
 which quota >/dev/null 2>&1
 [ $? -eq 0 ] && quota -q