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/config.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 * Do a clean build of the ansi and unicode hybrid versions of
52 .make both-hybrid clean
55 * Build the tools. This btm script makes a static release version of
56 wxWidgets, and then builds copies of wxrc.exe and tex2rtf.exe
57 linking with that lib, placing them in wx/lib/vc_dll, (which you
58 should have on the PATH.)
67 * Make the HTMLHelp files. In the wx\wxPython directory run:
71 * Clean any old wxPython builds:
73 del /sx build build.unicode
75 * Build all four versions of wxPython installers:
79 * Build the -devel .zip file:
81 dsitrib\makedev.bat $(VERSION)
83 * Copy the all the files created in wx\wxPython\dist to the file
84 server at s:\Development\wxPython\dist\$(VERSION)
91 The distribution build for Linux is split across two machines, one to
92 create the source archives and another to build the binaries. On the
93 primary development box (Xavier) do the following steps from the
96 * Clean out any former RPM build dirs, and any former dist files:
102 * Make the demo tarball:
106 * Make the docs tarball:
110 * Make the source tarball:
112 distrib/makerpm 2.3 skipclean skiprpm
114 * Make the four SRPMs:
116 distrib/makerpm 2.2 skipclean skipcopy skiptar srpm
117 distrib/makerpm 2.3 skipclean skipcopy skiptar srpm
118 distrib/makerpm 2.2 skipclean skipcopy skiptar srpm gtk2
119 distrib/makerpm 2.3 skipclean skipcopy skiptar srpm gtk2
121 * Copy all the files created in wx/wxPython/dist to the file server at
122 /stuff/Development/wxPython/dist/$(VERSION)
126 * The second half of the build process for Linux (building the binary
127 RPMs) is performed on a fairly raw (uncustomized, only used for
128 these builds, etc.) RedHat 9 machine. This is done to make the RPMs
129 as generic as possible, ensuring that there are no dependencies on
130 non-standard libs and such that may be on my main development
131 machine. There are RH-9 VMware VMs both on Cyclops and on Xavier
132 that are setup to do this, with both Python 2.2 and 2.3 installed,
133 gtk+12 and gtk+2 devel libs, etc. As the root user, do the
138 SRCDIR=/stuff/Development/wxPython/dist/$(VERSION)
139 for srpm in $SRCDIR/*.src.rpm; do
140 myrpmbuild --rebuild $srpm
143 * Copy the resulting RPMs to /stuff/Development/wxPython/dist/$(VERSION)
151 The Mac OSX build uses the tarball created on Linux, so it must be
152 created first and in place on the file server. There are currently
153 two builds made of wxPythonOSX, one for Panther and Apple's version of
154 Python, and one for Jaguar and a self-installed MacPythonOSX.
156 * On BigMac run the following as root:
159 distrib/mac/wxPythonOSX/build panther
161 * On Whopper run the following as root:
164 distrib/mac/wxPythonOSX/build jaguar
166 * Copy the resulting disk image files in wx/wxPython/dist on each
167 machine to /stuff/Development/wxPython/dist/$(VERSION) on the file