mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Make sure the postinstall action that optionally updates the user's profile
on MacOS X actually works correctly in all cases.
This commit is contained in:
parent
d61d0733cb
commit
0f53bb1cbe
1 changed files with 23 additions and 5 deletions
|
@ -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 "These changes will be effective only in shell windows that you open"
|
||||||
echo "after running this script."
|
echo "after running this script."
|
||||||
|
|
||||||
PYVER=@PYVER@
|
PYVER=2.5
|
||||||
PYTHON_ROOT="/Library/Frameworks/Python.framework/Versions/Current"
|
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.
|
# Make sure the directory ${PYTHON_ROOT}/bin is on the users PATH.
|
||||||
BSH="`basename "${SHELL}"`"
|
BSH="`basename "${theShell}"`"
|
||||||
case "${BSH}" in
|
case "${BSH}" in
|
||||||
bash|ksh|sh|*csh)
|
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"
|
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 "# Setting PATH for MacPython ${PYVER}" >> "${HOME}/.cshrc"
|
||||||
echo "# The orginal version is saved in .cshrc.pysave" >> "${HOME}/.cshrc"
|
echo "# The orginal version is saved in .cshrc.pysave" >> "${HOME}/.cshrc"
|
||||||
echo "set path=(${PYTHON_ROOT}/bin "'$path'")" >> "${HOME}/.cshrc"
|
echo "set path=(${PYTHON_ROOT}/bin "'$path'")" >> "${HOME}/.cshrc"
|
||||||
|
if [ `id -ur` = 0 ]; then
|
||||||
|
chown "${USER}" "${HOME}/.cshrc"
|
||||||
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
bash)
|
bash)
|
||||||
if [ -e "${HOME}/.profile" ]; then
|
if [ -e "${HOME}/.bash_profile" ]; then
|
||||||
|
PR="${HOME}/.bash_profile"
|
||||||
|
elif [ -e "${HOME}/.profile" ]; then
|
||||||
PR="${HOME}/.profile"
|
PR="${HOME}/.profile"
|
||||||
else
|
else
|
||||||
PR="${HOME}/.bash_profile"
|
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 'PATH="'"${PYTHON_ROOT}/bin"':${PATH}"' >> "${PR}"
|
||||||
echo 'export PATH' >> "${PR}"
|
echo 'export PATH' >> "${PR}"
|
||||||
if [ `id -ur` = 0 ]; then
|
if [ `id -ur` = 0 ]; then
|
||||||
chown "${LOGNAME}" "${PR}"
|
chown "${USER}" "${PR}"
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue