1 How to make a wxPython distribution
2 ===================================
4 This file documents all the steps that need to be taken to make a full
5 dsitribution of wxPython, building source and binary packages for
6 Linux, Windows and OSX. Much of this info is just "notes to self" and
7 are specific to my machines and their custom setup, and may not be
8 entirly applicable to others. If other folks are able to glean some
9 useful information from this then that is wonderful, but is not the
10 main intent of this document...
17 * Ensure that the version info in wxPython/setup.py is correct.
19 * Ensure that all build machines are up to date with CVS, they should
20 have the same versions of all the wxWidgets files if possible. (Use
21 a CVS tag if this is an official release.)
23 * Ensure that all SWIG files have been regnerated, by doing a "b 23 t"
24 in wxPython, and then "b 23". Check CVS status again, committing
25 changes and updating on other build machines as neccessary. This
26 includes build scripts too, so as tweaks are made in the various
27 processes below be sure to check in the scripts.
29 * Make the wxPython metadata XML file and ensure that it is committed
34 * Ensure that docs/CHANGES.txt and docs/MigrationGuide.txt are
35 updated, accurate and checked in to CVS.
37 * Regenerate the html versions of the ReST docs in wxPython/docs, and
38 check in to CVS. On Xavier do:
45 Windows (build env is on Cyclops)
46 ----------------------------------
48 * Clean out unneded files from wx/BIN
51 wx*d_*.dll # debug version of the DLLs
55 * Clean out the same files in wx/lib/vc_dll. (NOTE to self: There is
56 probably no reason any more to move stuff to the BIN dir. Update
57 the build and packager scripts and the PATHs and then get rid of
60 * Do a clean build of the ansi and unicode hybrid versions of
64 .make both-hybrid clean
72 * Build the tools. This btm script makes a static release version of
73 wxWidgets, and then builds copies of wxrc.exe and tex2rtf.exe
74 linking with that lib, placing them in wx/BIN.
78 * Make the HTMLHelp files. In the wx\wxPython directory run:
82 * Clean and old wxPython builds:
84 del /sx build build.unicode
86 * Build all four versions of wxPython installers:
90 * Build the -devel .zip file:
92 dsitrib\makedev.bat $(VERSION)
94 * Copy the all the files created in wx\wxPython\dist to the file
95 server at s:\Development\wxPython\dist\$(VERSION)
102 The distribution build for Linux is split across two machines, one to
103 create the source archives and another to build the binaries. On the
104 primary development box (Xavier) do the following steps from the
107 * Clean out any former RPM build dirs, and any former dist files:
113 * Make the demo tarball:
117 * Make the docs tarball:
121 * Make the source tarball:
123 distrib/makerpm 2.3 skipclean skiprpm
125 * Make the four SRPMs:
127 distrib/makerpm 2.2 skipclean skipcopy skiptar srpm
128 distrib/makerpm 2.3 skipclean skipcopy skiptar srpm
129 distrib/makerpm 2.2 skipclean skipcopy skiptar srpm gtk2
130 distrib/makerpm 2.3 skipclean skipcopy skiptar srpm gtk2
132 * Copy all the files created in wx/wxPython/dist to the file server at
133 /stuff/Development/wxPython/dist/$(VERSION)
137 * The second half of the build process for Linux (building the binary
138 RPMs) is performed on a fairly raw (uncustomized, only used for
139 these builds, etc.) RedHat 9 machine. This is done to make the RPMs
140 as generic as possible, ensuring that there are no dependencies on
141 non-standard libs and such that may be on my main development
142 machine. There are RH-9 VMware VMs both on Cyclops and on Xavier
143 that are setup to do this, with both Python 2.2 and 2.3 installed,
144 gtk+12 and gtk+2 devel libs, etc. As the root user, do the
149 SRCDIR=/stuff/Development/wxPython/dist/$(VERSION)
150 for srpm in $SRCDIR/*.src.rpm; do
151 myrpmbuild --rebuild $srpm
154 * Copy the resulting RPMs to /stuff/Development/wxPython/dist/$(VERSION)
162 The Mac OSX build uses the tarball created on Linux, so it must be
163 created first and in place on the file server. There are currently
164 two builds made of wxPythonOSX, one for Panther and Apple's version of
165 Python, and one for Jaguar and a self-installed MacPythonOSX.
167 * On BigMac run the following as root:
170 distrib/mac/wxPythonOSX/build panther
172 * On Whopper run the following as root:
175 distrib/mac/wxPythonOSX/build jaguar
177 * Copy the resulting disk image files in wx/wxPython/dist on each
178 machine to /stuff/Development/wxPython/dist/$(VERSION) on the file