summaryrefslogtreecommitdiffstats
path: root/Mac/BuildScript/scripts/postflight.patch-profile
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/BuildScript/scripts/postflight.patch-profile')
-rwxr-xr-xMac/BuildScript/scripts/postflight.patch-profile71
1 files changed, 71 insertions, 0 deletions
diff --git a/Mac/BuildScript/scripts/postflight.patch-profile b/Mac/BuildScript/scripts/postflight.patch-profile
new file mode 100755
index 0000000..48bf701
--- /dev/null
+++ b/Mac/BuildScript/scripts/postflight.patch-profile
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+echo "This script will update your shell profile when the 'bin' directory"
+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@
+PYTHON_ROOT="/Library/Frameworks/Python.framework/Versions/Current"
+
+# Make sure the directory ${PYTHON_ROOT}/bin is on the users PATH.
+BSH="`basename "${SHELL}"`"
+case "${BSH}" in
+bash|ksh|sh|*csh)
+ P="`${SHELL} -c 'echo $PATH'`"
+ ;;
+*)
+ echo "Sorry, I don't know how to patch $BSH shells"
+ exit 0
+ ;;
+esac
+
+# Now ensure that our bin directory is on $P and before /usr/bin at that
+for elem in `echo $P | tr ':' ' '`
+do
+ if [ "${elem}" == "${PYTHON_ROOT}/bin" ]; then
+ echo "All right, you're a python lover already"
+ exit 0
+ elif [ "${elem}" == "/usr/bin" ]; then
+ break
+ fi
+done
+
+echo "${PYTHON_ROOT}/bin is not on your PATH or at least not early enough"
+case "${BSH}" in
+*csh)
+ # Create backup copy before patching
+ if [ -f "${HOME}/.cshrc" ]; then
+ cp -fp "${HOME}/.cshrc" "${HOME}/.cshrc.pysave"
+ 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
+ PR="${HOME}/.profile"
+ else
+ PR="${HOME}/.bash_profile"
+ fi
+ ;;
+*sh)
+ PR="${HOME}/.profile"
+ ;;
+esac
+
+# Create backup copy before patching
+if [ -f "${PR}" ]; then
+ cp -fp "${PR}" "${PR}.pysave"
+fi
+echo "" >> "${PR}"
+echo "# Setting PATH for MacPython ${PYVER}" >> "${PR}"
+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}"
+fi
+exit 0