From 736123605c29e5bf7cac7b3c39a61250f480824a Mon Sep 17 00:00:00 2001 From: Ronald Oussoren Date: Fri, 26 May 2006 12:23:20 +0000 Subject: [PATCH] - Remove previous version of the binary distribution script for OSX - Some small bugfixes for the IDLE.app wrapper - Tweaks to build-installer to ensure that python gets build in the right way, including sqlite3. - Updated readme files --- Mac/OSX/BuildScript/build-installer.py | 7 +- Mac/OSX/Dist/README.txt | 50 ------- Mac/OSX/Dist/build | 164 ----------------------- Mac/OSX/Dist/example-pimp-database.plist | 51 ------- Mac/OSX/Dist/makedmg | 95 ------------- Mac/OSX/Dist/resources/ReadMe.txt | 31 ----- Mac/OSX/Dist/resources/Welcome.rtf | 15 --- Mac/OSX/Dist/resources/postflight | 92 ------------- Mac/OSX/Extras.ReadMe.txt | 9 -- Mac/OSX/Extras.install.py | 1 + Mac/OSX/IDLE/Makefile.in | 2 +- Mac/OSX/IDLE/idlemain.py | 2 +- Mac/OSX/README | 156 ++++++++++----------- Mac/OSX/fixversions.py | 69 ---------- Mac/OSX/sample_sitecustomize.py | 6 - 15 files changed, 87 insertions(+), 663 deletions(-) delete mode 100644 Mac/OSX/Dist/README.txt delete mode 100755 Mac/OSX/Dist/build delete mode 100644 Mac/OSX/Dist/example-pimp-database.plist delete mode 100755 Mac/OSX/Dist/makedmg delete mode 100644 Mac/OSX/Dist/resources/ReadMe.txt delete mode 100644 Mac/OSX/Dist/resources/Welcome.rtf delete mode 100755 Mac/OSX/Dist/resources/postflight delete mode 100644 Mac/OSX/fixversions.py delete mode 100644 Mac/OSX/sample_sitecustomize.py diff --git a/Mac/OSX/BuildScript/build-installer.py b/Mac/OSX/BuildScript/build-installer.py index 03f5696477..2308059a03 100755 --- a/Mac/OSX/BuildScript/build-installer.py +++ b/Mac/OSX/BuildScript/build-installer.py @@ -591,10 +591,10 @@ def buildPython(): version = getVersion() print "Running configure..." - runCommand("%s -C --enable-framework --enable-universalsdk=%s LDFLAGS='-g -L'%s/libraries/usr/local/lib OPT='-g -O3 -I'%s/libraries/usr/local/include 2>&1"%( + runCommand("%s -C --enable-framework --enable-universalsdk=%s LDFLAGS='-g -L%s/libraries/usr/local/lib' OPT='-g -O3 -I%s/libraries/usr/local/include' 2>&1"%( shellQuote(os.path.join(SRCDIR, 'configure')), - shellQuote(SDKPATH), shellQuote(WORKDIR), - shellQuote(WORKDIR))) + shellQuote(SDKPATH), shellQuote(WORKDIR)[1:-1], + shellQuote(WORKDIR)[1:-1])) print "Running make" runCommand("make") @@ -839,6 +839,7 @@ def buildInstaller(): writePlist(pl, os.path.join(pkgroot, 'Resources', 'Description.plist')) for fn in os.listdir('resources'): + if fn == '.svn': continue if fn.endswith('.jpg'): shutil.copy(os.path.join('resources', fn), os.path.join(rsrcDir, fn)) else: diff --git a/Mac/OSX/Dist/README.txt b/Mac/OSX/Dist/README.txt deleted file mode 100644 index 371c3fe99a..0000000000 --- a/Mac/OSX/Dist/README.txt +++ /dev/null @@ -1,50 +0,0 @@ -Building a MacPython distribution -================================= - -The ``build`` shell script here creates MacPython distributions. -It builds a complete framework-based Python out-of-tree, installs -it in a funny place with $DESTROOT, massages that installation to remove -.pyc files and such, creates an Installer package from the installation -plus the stuff in ``resources`` and compresses that installer as a -``.dmg`` disk image. - -Here are the steps you ned to follow to build a MacPython installer: - -- There are various version numbers that need to be updated. Weed through - ``Mac/OSXResources``, ``Mac/scripts`` and ``Mac/Tools`` and inspect the - various ``.plist`` and ``.strings`` files. Note that the latter are - UTF-16 files. -- Edit ``resource/ReadMe.txt`` and ``resources/Welcome.rtf`` to reflect - version number and such. -- Edit ``build`` to change ``PYVERSION``, ``PYVER`` and ``BUILDNUM``. -- Edit ``resources/postflight`` and change version number. -- Run ``./build``. Optionally you can pass the name of the directory - where Python will be built, so you don't have to wait for the complete - build when you're debugging the process. For the final distribution use - a clean build. -- When done the script will tell you where the DMG image is. - -Currently (November 2003) there is still a bug in the build procedure -for $DESTROOT builds: building some of the applets will fail (in -``Mac/OSX/Makefile``) if you don't have the same version of Python installed -normally. So before doing the distribution you should build and install -a framework Python in the normal way. - -When all is done, announcements can be posted to at least the following -places: -- pythonmac-sig@python.org -- python-dev@python.org -- python-announce@python.org -- archivist@info-mac.org -- adcnews@apple.com -- news@macnn.com -- http://www.macupdate.com -- http://guide.apple.com/usindex.lasso -- http://www.apple.com/downloads/macosx/submit -- http://www.versiontracker.com/ (userid Jack.Jansen@oratrix.com) -- http://www.macshareware.net (userid jackjansen) - -Also, check out Stephan Deibels http://pythonology.org/market contact list - -After all this is done you may also need to update the Package Manager -database for the new distribution. A description of this remains TBD. diff --git a/Mac/OSX/Dist/build b/Mac/OSX/Dist/build deleted file mode 100755 index b5ebe3edbc..0000000000 --- a/Mac/OSX/Dist/build +++ /dev/null @@ -1,164 +0,0 @@ -#!/bin/sh -e -#---------------------------------------------------------------------- -# Build MacPython 2.5 and make an Installer package of it - -# TODO: Parameterize the versions, builddirs, etc... - -# Script configs -PYVERSION=2.5a0 -PYVER=2.5 -BUILDNUM=1 -DOCLEANUP=no - -PROGDIR="`dirname \"$0\"`" -case x$PROGDIR in -x|x.) PROGDIR=`pwd` ;; -x/*) ;; -*) echo "Please run with a full pathname" - exit 1 - ;; -esac - -TMPDIR=/tmp/_py -#TMPDIR=/projects/_py - -INSTALLROOT=$TMPDIR/install -DMGDIR=$TMPDIR/dmg -RESOURCEDIR=$PROGDIR/resources -DESTDIR=$TMPDIR/dist -PYTHONSRC=$PROGDIR/../../.. -WASTEDIR=$PYTHONSRC/../waste - -case x$1 in -x) - BUILDROOT=$TMPDIR/build - ;; -*) - BUILDROOT=$1 - ;; -esac - -# Setup -if [ -e $BUILDROOT ]; then - echo Using existing build directory $BUILDROOT - CLEANBUILD=no -else - echo Creating clean build directory $BUILDROOT - CLEANBUILD=yes - mkdir -p $BUILDROOT -fi -rm -rf $DMGDIR -if [ ! -e $TMPDIR ]; then - mkdir $TMPDIR -fi -chgrp admin $TMPDIR -mkdir -p $DMGDIR/root - - -# Configure and build Python -pushd $BUILDROOT - -# Ask the user whether s/he has edited Welcome.txt -read -p "Have you updated $RESOURCEDIR/Welcome.txt (Y/n)? " welcome - -if [ "$welcome" = "n" -o "$welcome" = "N" ]; then - echo "Please do so and retry" - exit -fi - -# Check if we should build and install the docs, but only if it -# doesn't appear to be done already. TODO: fix this path to be version independent -if [ ! -e "build/temp.darwin-6.3-Power Macintosh-2.3/build-html/build-html idx" ]; then - read -p "Build the Python docs? (y/N)? " builddocs -fi - -# If the filesystem is case-sensitive then "python" will be built, but -# some parts of the install expect "python.exe which is what is built -# on a case-insensitive filesystem. Make a link just in case it is -# needed. -if [ ! -e python.exe ]; then - ln -s python python.exe -fi - -# Make a link to the waste dir so that lib can be found. This allows -# the PythonIDE to be built -if [ ! -e waste ]; then - ln -s $WASTEDIR waste -fi - -#$PYTHONSRC/configure -C --enable-framework LDFLAGS=-Wl,-x -$PYTHONSRC/configure -C --enable-framework -make -make DIRMODE=775 EXEMODE=775 FILEMODE=664 DESTDIR=$INSTALLROOT frameworkinstall -make DIRMODE=775 EXEMODE=775 FILEMODE=664 DESTDIR=$INSTALLROOT frameworkinstallextras - -# Unfortunately all the ...MODE arguments above still don't do the trick. -# Cop out, and recursively set everything group-writeable. -chmod -R ug+w $INSTALLROOT - -if [ "$builddocs" = "y" -o "$builddocs" = "Y" ]; then - ./python.exe $PYTHONSRC/Mac/OSX/setupDocs.py build - echo "" - read -p "When the help indexer is done press Enter..." ans - ./python.exe $PYTHONSRC/Mac/OSX/setupDocs.py install \ - --prefix=$INSTALLROOT/Library/Frameworks/Python.framework/Versions/$PYVER -fi - -popd - - - -# Make the Installer package: -# First, remove the unix tools as their paths will be wrong. We'll recreate -# them in the postinstall. -rm -rf $INSTALLROOT/usr - -# Next, remove the .pyc/.pyo files -python $PYTHONSRC/Mac/scripts/zappycfiles.py $INSTALLROOT/Library/Frameworks/Python.framework/Versions/$PYVER/lib/python$PYVER -python $PYTHONSRC/Mac/scripts/zappycfiles.py $INSTALLROOT/Library/Frameworks/Python.framework/Versions/$PYVER/Mac/Tools - -# Finally, build the package... -rm -rf MacPython-OSX.pkg -python $PYTHONSRC/Mac/scripts/buildpkg.py \ - --Title=MacPython-OSX \ - --Version=$PYVERSION-$BUILDNUM \ - --Description="Python $PYVERSION for Mac OS X, framework based" \ - --NeedsAuthorization="YES" \ - --Relocatable="NO" \ - --InstallOnly="YES" \ - --UseUserMask="NO" \ - $INSTALLROOT \ - $RESOURCEDIR - -# --RootVolumeOnly="YES" \ - -# ...and then make a disk image containing the package. -mv MacPython-OSX.pkg $DMGDIR/root -cp $RESOURCEDIR/ReadMe.txt $DMGDIR/root/ReadMe.txt -$PROGDIR/makedmg $DMGDIR/root $DMGDIR MacPython-OSX-$PYVERSION-$BUILDNUM - -echo Moving $DMGDIR/MacPython-OSX-$PYVERSION-$BUILDNUM to $DESTDIR -if [ ! -e $DESTDIR ]; then - mkdir $DESTDIR -fi -mv $DMGDIR/MacPython-OSX-$PYVERSION-$BUILDNUM.dmg $DESTDIR - - -# Cleanup build/install dirs -if [ $DOCLEANUP = yes ]; then - echo "Cleaning up..." - if [ $CLEANBUILD = yes ]; then - rm -rf $BUILDROOT - fi - rm -rf $INSTALLROOT - rm -rf $DMGDIR -else - echo "Cleanup is disabled. You should remove these dirs when done:" - if [ $CLEANBUILD = yes ]; then - echo " $BUILDROOT" - fi - echo " $INSTALLROOT" - echo " $DMGDIR" -fi -echo "Your installer can be found in $DESTDIR" - diff --git a/Mac/OSX/Dist/example-pimp-database.plist b/Mac/OSX/Dist/example-pimp-database.plist deleted file mode 100644 index c0c52ab41e..0000000000 --- a/Mac/OSX/Dist/example-pimp-database.plist +++ /dev/null @@ -1,51 +0,0 @@ - - - - - Description - Enter database description - Maintainer - Enter your email address - Packages - - - Description - Enter package description - Download-URL - Enter URL for archive download, delete for pseudo-pkgs - Flavor - Enter binary or source - Home-page - Enter URL of human-readable webpage - Install-command - Enter shell commands to run for installation - Install-test - Enter Python code to test for already installed - MD5Sum - Enter checksum of package archive - Name - Enter name of package - Post-install-command - Enter shell command to run after install - Pre-install-command - Enter shell command to run before install - Prerequisites - - Enter human-readable recipy for pseudo-dependencies - - Flavor - Enter optional flavor for real dependency - Name - Enter name for real dependency - Version - - - - Version - Enter version string for package - - - Version - 0.1 - - diff --git a/Mac/OSX/Dist/makedmg b/Mac/OSX/Dist/makedmg deleted file mode 100755 index de13ef93bb..0000000000 --- a/Mac/OSX/Dist/makedmg +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/bin/perl -w -# -# make disk image from folder -# -# usage: makedmg src dst name -# -# Donated by Frank Vercruesse - - -$hdiUtilExec = "/usr/bin/hdiutil"; -$hdiDrvExec = "/usr/bin/hdid"; -$newfsExec = "/sbin/newfs_hfs"; -$duExec = "/usr/bin/du"; -$dittoExec = "/usr/bin/ditto"; - -if ( $#ARGV != 2 ) { - die "Wrong number of arguments.\nUsage: makedmg src dst name\n"; -} - -&make_dmg( $ARGV[0], $ARGV[1], $ARGV[2]); - - -sub make_dmg -{ - my $src = $_[0]; - my $dst = $_[1]; - my $name = $_[2]; - - # check dirs - if( not -d $dst && -d $src ) { - die "src and dst must be directories\n"; - } - - # calc disk image size - if( not open( MYPIPE, "$duExec -sk \"${src}\" |") ) { - die "couldn't open pipe\n"; - } - (my $dmgsize) = split( /\s+/, ); - close( MYPIPE); - $dmgsize /= 1024; - $dmgsize = int($dmgsize + 4); - if( $dmgsize < 5 ) { - $dmgsize = 5 - } - - # create disk image - system "cd \"$dst\"; $hdiUtilExec create -megabytes $dmgsize -ov \"_${name}\""; - if( $? ) { die "couldn't create disk image\n"; } - - # format disk image - if( not open( MYPIPE, "cd \"$dst\"; $hdiDrvExec -nomount \"_${name}.dmg\" |") ) { - die "couldn't open pipe\n"; - } - (my $dev) = split( /\t/, ); - $dev =~ s/^(.*\S)\s*$/$1/; - my( $part, $raw, $pname); - while( ) { - ($part,$pname) = split /\t/; - if( $pname =~ m/^Apple_HFS/ ) { - $part =~ s/^\s*(.*\S)\s*$/$1/; - $raw = $part; - $raw =~ s/^(\/dev\/)(.+)/$1r$2/; - last; - } - } - close( MYPIPE); - system "cd \"$dst\" ; $newfsExec -v \"$name\" $raw"; - if( $? ) { system "$hdiUtilExec eject $dev"; die "couldn't format disk image\n"; } - system "$hdiUtilExec eject $dev"; - if( $? ) { die "couldn't eject disk image\n"; } - - # copy files - if( not open( MYPIPE, "cd \"$dst\"; $hdiDrvExec \"_${name}.dmg\" |") ) { - die "couldn't open pipe\n"; - } - ($dev) = split( /\t/, ); - $dev =~ s/^(.*\S)\s*$/$1/; - my $vname; - while( ) { - ($part,$pname,$vname) = split /\t/; - if( $pname =~ m/^Apple_HFS/ ) { - $vname =~ s/^(.*\S)\s*$/$1/; - last; - } - } - close( MYPIPE); - system "$dittoExec \"${src}\" \"${vname}\""; - if( $? ) { system "$hdiUtilExec eject $dev"; die "couldn't copy files\n"; } - system "$hdiUtilExec eject $dev"; - if( $? ) { die "couldn't eject disk image\n"; } - - # convert disk image - system "cd \"$dst\"; $hdiUtilExec convert \"_${name}.dmg\" -format UDCO -o \"${name}\""; - if( $? ) { die "couldn't convert disk image\n"; } -} diff --git a/Mac/OSX/Dist/resources/ReadMe.txt b/Mac/OSX/Dist/resources/ReadMe.txt deleted file mode 100644 index 39a7b82421..0000000000 --- a/Mac/OSX/Dist/resources/ReadMe.txt +++ /dev/null @@ -1,31 +0,0 @@ -This package will install MacPython 2.5a0 for Mac OS X -10.3. - -Installation requires approximately 20 MB of disk -space, ignore the message that it will take zero bytes. - -You must install onto your current boot disk, even -though the installer does not enforce this, otherwise -things will not work. - -MacPython consists of the Python programming language -interpreter, plus a set of programs to allow easy -access to it for Mac users (an integrated development -environment, a Python extension package manager), plus -a set of pre-built extension modules that open up -specific Macintosh technologies to Python programs -(Carbon, AppleScript, Quicktime, more). - -The installer puts the applications in MacPython-2.5 in -your Applications folder, command-line tools in -/usr/local/bin and the underlying machinery in -/Library/Frameworks/Python.framework. - -The PythonIDE application has a Help command that gets -you started quickly with MacPython and contains -references to other documentation. - -More information on MacPython can be found at -http://www.cwi.nl/~jack/macpython, more -information on Python in general at -http://www.python.org. diff --git a/Mac/OSX/Dist/resources/Welcome.rtf b/Mac/OSX/Dist/resources/Welcome.rtf deleted file mode 100644 index ec6bb1a404..0000000000 --- a/Mac/OSX/Dist/resources/Welcome.rtf +++ /dev/null @@ -1,15 +0,0 @@ -{\rtf1\mac\ansicpg10000\cocoartf102 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;} -{\colortbl;\red255\green255\blue255;} -\paperw11900\paperh16840\margl1440\margr1440\vieww9920\viewh10660\viewkind0 -\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural - -\f0\fs24 \cf0 This package will install -\f1\b MacPython 2.5a0 -\f0\b0 for -\f1\b Mac OS X 10.3 -\f0\b0 . Installation on 10.2 or earlier will not work.\ -\ -MacPython consists of the Python programming language interpreter, plus a set of programs to allow easy access to it for Mac users (an integrated development environment, a Python extension package manager), plus a set of pre-built extension modules that open up specific Macintosh technologies to Python programs (Carbon, AppleScript, Quicktime, more).\ -\ -See the ReadMe file for more information.} \ No newline at end of file diff --git a/Mac/OSX/Dist/resources/postflight b/Mac/OSX/Dist/resources/postflight deleted file mode 100755 index 878b6d4b64..0000000000 --- a/Mac/OSX/Dist/resources/postflight +++ /dev/null @@ -1,92 +0,0 @@ -#!/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 <