1 if tty -s || [ "${0:0:1}" = "-" -o "$1" = "force" ]; then
2 # Remember if nocaseglob was on.
5 # Turn it off so we source stuff in the right order.
10 # Turn it off to set case-sensitive matching
13 # Force these to come before everything else.
18 # Remember PATH so we can mangle it to find tsort and sed.
20 PATH=/usr/bin:/bin:/usr/ccs/bin
22 # Sort all scripts by dependencies.
23 profile_d=${PROFILE_HOME:-~}/.profile.d
26 for i in $profile_d/*.bashrc; do
27 dep=$(sed -n 's/^##*[ ]*profile-required:[ ]*//p' "$i")
29 if [ -n "$dep" ]; then
42 # Avoid odd number of tokens for tsort.
43 n=$(echo "$deps" | wc -w)
44 if [ $((n%2)) = 1 ]; then
49 deps=$(echo "$deps" | tsort)
56 # Source them all in the right order.
59 [ -e "$profile_d/$i" ] || continue
60 [ "${sourced/ $i /}" = "$sourced" ] || continue
62 sourced="$sourced $i "
65 # Maybe turn nocaseglob back on.
66 [ $nocg = 0 ] && shopt -s nocaseglob
71 unset i d n dep deps profile_d path required unsorted sourced
74 # Don't inherit failure from the last script.