[Python-checkins] r52240 - python/branches/release24-maint/Mac/BuildScript/scripts/postflight.patch-profile
ronald.oussoren
python-checkins at python.org
Sun Oct 8 20:20:10 CEST 2006
Author: ronald.oussoren
Date: Sun Oct 8 20:20:10 2006
New Revision: 52240
Modified:
python/branches/release24-maint/Mac/BuildScript/scripts/postflight.patch-profile
Log:
Backport of r52238
Modified: python/branches/release24-maint/Mac/BuildScript/scripts/postflight.patch-profile
==============================================================================
--- python/branches/release24-maint/Mac/BuildScript/scripts/postflight.patch-profile (original)
+++ python/branches/release24-maint/Mac/BuildScript/scripts/postflight.patch-profile Sun Oct 8 20:20:10 2006
@@ -5,14 +5,27 @@
echo "These changes will be effective only in shell windows that you open"
echo "after running this script."
-PYVER=@PYVER@
+PYVER=2.5
PYTHON_ROOT="/Library/Frameworks/Python.framework/Versions/Current"
+if [ `id -ur` = 0 ]; then
+ # Run from the installer, do some trickery to fetch the information
+ # we need.
+ theShell="`finger $USER | grep Shell: | head -1 | awk '{ print $NF }'`"
+
+else
+ theShell="${SHELL}"
+fi
+
# Make sure the directory ${PYTHON_ROOT}/bin is on the users PATH.
-BSH="`basename "${SHELL}"`"
+BSH="`basename "${theShell}"`"
case "${BSH}" in
bash|ksh|sh|*csh)
- P="`${SHELL} -c 'echo $PATH'`"
+ if [ `id -ur` = 0 ]; then
+ P=`su - ${USER} -c 'echo A-X-4-X@@$PATH@@X-4-X-A' | grep 'A-X-4-X@@.*@@X-4-X-A' | sed -e 's/^A-X-4-X@@//g' -e 's/@@X-4-X-A$//g'`
+ else
+ P="`(exec -l ${theShell} -c 'echo $PATH')`"
+ fi
;;
*)
echo "Sorry, I don't know how to patch $BSH shells"
@@ -34,18 +47,30 @@
echo "${PYTHON_ROOT}/bin is not on your PATH or at least not early enough"
case "${BSH}" in
*csh)
+ if [ -f "${HOME}/.tcshrc" ]; then
+ RC="${HOME}/.tcshrc"
+ else
+ RC="${HOME}/.cshrc"
+ fi
# Create backup copy before patching
- if [ -f "${HOME}/.cshrc" ]; then
- cp -fp "${HOME}/.cshrc" "${HOME}/.cshrc.pysave"
+ if [ -f "${RC}" ]; then
+ cp -fp "${RC}" "${RC}.pysave"
+ fi
+ echo "" >> "${RC}"
+ echo "# Setting PATH for MacPython ${PYVER}" >> "${RC}"
+ echo "# The orginal version is saved in .cshrc.pysave" >> "${RC}"
+ echo "set path=(${PYTHON_ROOT}/bin "'$path'")" >> "${RC}"
+ if [ `id -ur` = 0 ]; then
+ chown "${USER}" "${RC}"
fi
- echo "" >> "${HOME}/.cshrc"
- echo "# Setting PATH for MacPython ${PYVER}" >> "${HOME}/.cshrc"
- echo "# The orginal version is saved in .cshrc.pysave" >> "${HOME}/.cshrc"
- echo "set path=(${PYTHON_ROOT}/bin "'$path'")" >> "${HOME}/.cshrc"
exit 0
;;
bash)
- if [ -e "${HOME}/.profile" ]; then
+ if [ -e "${HOME}/.bash_profile" ]; then
+ PR="${HOME}/.bash_profile"
+ elif [ -e "${HOME}/.bash_login" ]; then
+ PR="${HOME}/.bash_login"
+ elif [ -e "${HOME}/.profile" ]; then
PR="${HOME}/.profile"
else
PR="${HOME}/.bash_profile"
@@ -66,6 +91,6 @@
echo 'PATH="'"${PYTHON_ROOT}/bin"':${PATH}"' >> "${PR}"
echo 'export PATH' >> "${PR}"
if [ `id -ur` = 0 ]; then
- chown "${LOGNAME}" "${PR}"
+ chown "${USER}" "${PR}"
fi
exit 0
More information about the Python-checkins
mailing list