summaryrefslogtreecommitdiffstats
path: root/Mac/BuildScript/scripts/postflight.patch-profile
diff options
context:
space:
mode:
authorRonald Oussoren <ronaldoussoren@mac.com>2006-08-01 20:30:31 (GMT)
committerRonald Oussoren <ronaldoussoren@mac.com>2006-08-01 20:30:31 (GMT)
commit0f53bb1cbe09886291f880c66220db534d40d6a1 (patch)
tree604dce361eefa63e4b379119b48b074934dcadec /Mac/BuildScript/scripts/postflight.patch-profile
parentd61d0733cbd6ee341cbc51cc42bc065654335e23 (diff)
downloadcpython-0f53bb1cbe09886291f880c66220db534d40d6a1.zip
cpython-0f53bb1cbe09886291f880c66220db534d40d6a1.tar.gz
cpython-0f53bb1cbe09886291f880c66220db534d40d6a1.tar.bz2
Make sure the postinstall action that optionally updates the user's profile
on MacOS X actually works correctly in all cases.
Diffstat (limited to 'Mac/BuildScript/scripts/postflight.patch-profile')
-rwxr-xr-xMac/BuildScript/scripts/postflight.patch-profile28
1 files changed, 23 insertions, 5 deletions
diff --git a/Mac/BuildScript/scripts/postflight.patch-profile b/Mac/BuildScript/scripts/postflight.patch-profile
index 48bf701..c42e11e 100755
--- a/Mac/BuildScript/scripts/postflight.patch-profile
+++ b/Mac/BuildScript/scripts/postflight.patch-profile
@@ -5,14 +5,27 @@ echo "of python is not early enough of the PATH of your shell."
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"
@@ -42,10 +55,15 @@ case "${BSH}" in
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"
+ if [ `id -ur` = 0 ]; then
+ chown "${USER}" "${HOME}/.cshrc"
+ fi
exit 0
;;
bash)
- if [ -e "${HOME}/.profile" ]; then
+ if [ -e "${HOME}/.bash_profile" ]; then
+ PR="${HOME}/.bash_profile"
+ elif [ -e "${HOME}/.profile" ]; then
PR="${HOME}/.profile"
else
PR="${HOME}/.bash_profile"
@@ -66,6 +84,6 @@ echo "# The orginal version is saved in `basename ${PR}`.pysave" >> "${PR}"
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