58 lines
2.2 KiB
Diff
58 lines
2.2 KiB
Diff
diff -ru baselayout-1.12.5.orig/etc/profile baselayout-1.12.5/etc/profile
|
|
--- baselayout-1.12.5.orig/etc/profile 2009-12-09 13:48:07 +0100
|
|
+++ baselayout-1.12.5/etc/profile 2009-12-09 13:54:52 +0100
|
|
@@ -110,9 +110,34 @@
|
|
# it in the user's dot-files), but it shouldn't make any
|
|
# difference.
|
|
. "@GENTOO_PORTAGE_EPREFIX@"/etc/bash/bashrc
|
|
+ elif [ -n "${_ro_root}" ]; then
|
|
+ # We're in a prefix chain, but have no local bash. we rely on bash
|
|
+ # beeing there _somewhere_ in the chain, so we do not need to set
|
|
+ # PS1 explicitly.
|
|
+ if [ -z "${PS1}" ]; then
|
|
+ # try harder to find something in the parent prefix of the chain.
|
|
+ # dont bother to search multiple chain members up to the top.
|
|
+ if [ -f "${_ro_root}/etc/bash/bashrc" ]; then
|
|
+ . "${_ro_root}/etc/bash/bashrc"
|
|
+ fi
|
|
+ fi
|
|
else
|
|
PS1='\u@\h \w \$ '
|
|
fi
|
|
+
|
|
+ # Set the last dirpart of the current prefix somewhere
|
|
+ # in the prompt, so one immediately knows where he/she is.
|
|
+ if [ ${_ro_recursion_level} == 0 ]; then
|
|
+ # we're in the last prefix of the chain here.
|
|
+ _ro_name="@GENTOO_PORTAGE_EPREFIX@"
|
|
+ _ro_name="${_ro_name##*/}"
|
|
+
|
|
+ # use color only if the prompt already contains color escapes
|
|
+ case "${PS1}" in
|
|
+ *'\[\033['*'m\]'*) PS1="\[\033[01;36m\][${_ro_name}]\[\033[00m\] ${PS1}" ;;
|
|
+ *) PS1="[${_ro_name}] ${PS1}" ;;
|
|
+ esac
|
|
+ fi
|
|
else
|
|
# Setup a bland default prompt. Since this prompt should be useable
|
|
# on color and non-color terminals, as well as shells that don't
|
|
@@ -120,6 +145,10 @@
|
|
PS1="`whoami`@`uname -n | cut -f1 -d.` \$ "
|
|
fi
|
|
|
|
+# when chaining prefixes, we want the prompt to be passed to the child too,
|
|
+# so we need to export it.
|
|
+export PS1
|
|
+
|
|
for sh in "@GENTOO_PORTAGE_EPREFIX@"/etc/profile.d/*.sh ; do
|
|
if [ -r "$sh" ] ; then
|
|
. "$sh"
|
|
@@ -146,7 +175,7 @@
|
|
if [[ ! -x "@GENTOO_PORTAGE_EPREFIX@"/usr/bin/emerge ]]; then
|
|
export EPREFIX="@GENTOO_PORTAGE_EPREFIX@"
|
|
fi
|
|
-elif [[ "${EPREFIX}" != "@GENTOO_PORTAGE_EPREFIX@" ]]; then
|
|
+elif [[ "${EPREFIX}" != "@GENTOO_PORTAGE_EPREFIX@" && ${_ro_recursion_level} == 0 ]]; then
|
|
echo "WARNING: EPREFIX is set from environment to \"${EPREFIX}\"."
|
|
echo " You are entering the prefix \"@GENTOO_PORTAGE_EPREFIX@\"."
|
|
echo " Having EPREFIX set this way will probably render this environment unusable."
|