#!/bin/sh #---------------------------------------------------------------------- # Create the unix tools and compile the .py files after Python has been # installed. #---------------------------------------------------------------------- PYVER=2.5 PKG=$1 DEST=$2 # Make sure things are group-writeable umask 2 # if destination is / then use usr/local/bin, otherwise just bin if [ "$DEST" = "/" ]; then TOOLDIR=/usr/local/bin DEST= else TOOLDIR=$DEST/bin fi # Make sure the dir exists mkdir -p $TOOLDIR # Make some links to the python executable ln -fsh $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/bin/python $TOOLDIR/python$PYVER ln -fsh python$PYVER $TOOLDIR/python # make the pythonw script rm -f $TOOLDIR/pythonw$PYVER cat > $TOOLDIR/pythonw$PYVER <<EOF #!/bin/sh exec "$DEST/Library/Frameworks/Python.framework/Versions/$PYVER/Resources/Python.app/Contents/MacOS/Python" "\$@" EOF chmod +x $TOOLDIR/pythonw$PYVER ln -fsh pythonw$PYVER $TOOLDIR/pythonw # Compile the .py files in the Python library to .pyc's and then .pyo's $TOOLDIR/python -Wi -tt \ $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/lib/python$PYVER/compileall.py \ -x badsyntax -x site-packages $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/lib/python$PYVER $TOOLDIR/python -Wi -tt -O \ $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/lib/python$PYVER/compileall.py \ -x badsyntax -x site-packages $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/lib/python$PYVER $TOOLDIR/python -Wi -tt \ $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/lib/python$PYVER/compileall.py \ $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/Mac/Tools $TOOLDIR/python -Wi -tt -O \ $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/lib/python$PYVER/compileall.py \ $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/Mac/Tools # Make the site-packages and other dirs writable by the admin if destination is / if [ "$DEST" = "/" ]; then for d in $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/lib/python$PYVER/site-packages \ $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/bin \ $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/Resources/Python.app/Contents/Resources \ $DEST/Applications/MacPython-$PYVER; do chgrp -R admin $d chmod -R g+w $d done fi if [ "$DEST" != "/" ]; then # The link in the app bundles and in pydoc need updating. installed_python=$DEST/Library/Frameworks/Python.framework/Versions/$PYVER/Resources/Python.app/Contents/MacOS/python for app in BuildApplet IDLE PackageManager PythonIDE; do ln -fsh $installed_python \ $DEST/Applications/MacPython-$PYVER/$app.app/Contents/MacOS ed -s $DEST/Applications/MacPython-$PYVER/$app.app/Contents/MacOS/$app << xyzzy 1c #!$installed_python . w q xyzzy ed -s $DEST/Library/Frameworks/Python.framework/Versions/$PYVER/bin/pydoc << xyzzy 1c #!$installed_python . w q xyzzy done fi