https://github.com/python/cpython
Raw File
Tip revision: 624af829a7d930d29f359c3d8a2408efc36b34e8 authored by Trent Mick on 19 June 2006, 23:57:41 UTC
[ 1295808 ] expat symbols should be namespaced in pyexpat
Tip revision: 624af82
postflight.patch-profile
#!/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
back to top