diff options
Diffstat (limited to 'Mac/OSX/Dist')
-rw-r--r-- | Mac/OSX/Dist/README.txt | 50 | ||||
-rwxr-xr-x | Mac/OSX/Dist/build | 164 | ||||
-rw-r--r-- | Mac/OSX/Dist/example-pimp-database.plist | 51 | ||||
-rwxr-xr-x | Mac/OSX/Dist/makedmg | 95 | ||||
-rw-r--r-- | Mac/OSX/Dist/resources/ReadMe.txt | 31 | ||||
-rw-r--r-- | Mac/OSX/Dist/resources/Welcome.rtf | 15 | ||||
-rwxr-xr-x | Mac/OSX/Dist/resources/postflight | 92 |
7 files changed, 0 insertions, 498 deletions
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 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Description</key> - <string>Enter database description</string> - <key>Maintainer</key> - <string>Enter your email address</string> - <key>Packages</key> - <array> - <dict> - <key>Description</key> - <string>Enter package description</string> - <key>Download-URL</key> - <string>Enter URL for archive download, delete for pseudo-pkgs</string> - <key>Flavor</key> - <string>Enter binary or source</string> - <key>Home-page</key> - <string>Enter URL of human-readable webpage</string> - <key>Install-command</key> - <string>Enter shell commands to run for installation</string> - <key>Install-test</key> - <string>Enter Python code to test for already installed</string> - <key>MD5Sum</key> - <string>Enter checksum of package archive</string> - <key>Name</key> - <string>Enter name of package</string> - <key>Post-install-command</key> - <string>Enter shell command to run after install</string> - <key>Pre-install-command</key> - <string>Enter shell command to run before install</string> - <key>Prerequisites</key> - <array> - <string>Enter human-readable recipy for pseudo-dependencies</string> - <dict> - <key>Flavor</key> - <string>Enter optional flavor for real dependency</string> - <key>Name</key> - <string>Enter name for real dependency</string> - <key>Version</key> - <string></string> - </dict> - </array> - <key>Version</key> - <string>Enter version string for package</string> - </dict> - </array> - <key>Version</key> - <string>0.1</string> -</dict> -</plist> 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+/, <MYPIPE>); - 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/, <MYPIPE>); - $dev =~ s/^(.*\S)\s*$/$1/; - my( $part, $raw, $pname); - while( <MYPIPE> ) { - ($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/, <MYPIPE>); - $dev =~ s/^(.*\S)\s*$/$1/; - my $vname; - while( <MYPIPE> ) { - ($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 <<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 |