1 Building a MacPython distribution
2 =================================
4 The ``build`` shell script here creates MacPython distributions.
5 It builds a complete framework-based Python out-of-tree, installs
6 it in a funny place with $DESTROOT, massages that installation to remove
7 .pyc files and such, creates an Installer package from the installation
8 plus the stuff in ``resources`` and compresses that installer as a
11 Here are the steps you ned to follow to build a MacPython installer:
13 - There are various version numbers that need to be updated. Weed through
14 ``Mac/OSXResources``, ``Mac/scripts`` and ``Mac/Tools`` and inspect the
15 various ``.plist`` and ``.strings`` files. Note that the latter are
17 - Edit ``resource/ReadMe.txt`` and ``resources/Welcome.rtf`` to reflect
18 version number and such.
19 - Edit ``build`` to change ``PYVERSION``, ``PYVER`` and ``BUILDNUM``.
20 - Run ``./build``. Optionally you can pass the name of the directory
21 where Python will be built, so you don't have to wait for the complete
22 build when you're debugging the process. For the final distribution use
24 - When done the script will tell you where the DMG image is.
26 Currently (November 2003) there is still a bug in the build procedure
27 for $DESTROOT builds: building some of the applets will fail (in
28 ``Mac/OSX/Makefile``) if you don't have the same version of Python installed
29 normally. So before doing the distribution you should build and install
30 a framework Python in the normal way.
32 When all is done, announcements can be posted to at least the following
34 - pythonmac-sig@python.org
35 - python-dev@python.org
36 - python-announce@python.org
37 - archivist@info-mac.org
40 - http://www.macupdate.com
41 - http://guide.apple.com/usindex.lasso
42 - http://www.apple.com/downloads/macosx/submit
43 - http://www.versiontracker.com/ (userid Jack.Jansen@oratrix.com)
44 - http://www.macshareware.net (userid jackjansen)
46 Also, check out Stephan Deibels http://pythonology.org/market contact list
48 After all this is done you may also need to update the Package Manager
49 database for the new distribution. A description of this remains TBD.
51 Building a MacPython Panther Additions distribution
52 ===================================================
54 *warning*: this section has not been debugged yet.
56 Note that this procedure is completely independent from building a minor
57 Python release: a minor Python release will be called something like
58 2.3.3, a new release of the MacPython Panther additions will be called
59 something like "third build of MacPython 2.3 additions for Panther".
60 This is because the additions will not include the 2.3.3 fixes: the Python
61 core installation is in ``/System`` and cannot be touched.
63 If you have made changes to PythonIDE or Package Manager that you want
64 to include in the additions distribution you need to include the changed
65 source files in the ``Resources`` folder of the ``.app`` bundle, where they
66 will override the source files installed into the Python framework installed
67 by Apple. You can do this in ``../Makefile.panther``, see how ``PythonIDEMain.py``
68 is included in the IDE for an example. It is not pretty but it works.
70 Next, make sure your ``/Library/Python/2.3`` directory, which is where
71 ``site-packages`` points, is empty. Having ``_tkinter`` in there will
72 erronously include IDLE in the installer.
74 Now, edit ``resources.panther`` and ``build.panther``. See above for what to
77 There is probably more to come here.