Commits

Ronald Oussoren committed 0ace3c8

Backport of r52238

Comments (0)

Files changed (1)

Mac/BuildScript/scripts/postflight.patch-profile

 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"
 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 "" >> "${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"
+	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
 	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"
 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
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.