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 boxes 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
67 * Build the tools. This btm script makes a static release version of
68 wxWidgets, and then builds copies of wxrc.exe and tex2rtf.exe
69 linking with that lib, placing them in wx/BIN.
73 * Make the HTMLHelp files. In the wx\wxPython directory run:
77 * Clean and old wxPython builds:
79 del /sx build build.unicode
81 * Build all four versions of wxPython installers:
85 * Build the -devel .zip file:
87 dsitrib\makedev.bat $(VERSION)
89 * Copy the all the files created in wx\wxPython\dist to the file
90 server at s:\Development\wxPython\dist\$(VERSION)
97 The distribution build for Linux is split across two machines, one to
98 create the source archives and another to build the binaries. On the
99 primary development box (Xavier) do the following steps from the
102 * Clean out any former RPM build dirs, and any former dist files:
108 * Make the demo tarball:
112 * Make the docs tarball:
116 * Make the source tarball:
118 distrib/makerpm 2.3 skipclean skiprpm
120 * Make the four SRPMs:
122 distrib/makerpm 2.2 skipclean skipcopy skiptar srpm
123 distrib/makerpm 2.3 skipclean skipcopy skiptar srpm
124 distrib/makerpm 2.2 skipclean skipcopy skiptar srpm gtk2
125 distrib/makerpm 2.3 skipclean skipcopy skiptar srpm gtk2
127 * Copy all the files created in wx/wxPython/dist to the file server at
128 /stuff/Development/wxPython/dist/$(VERSION)
132 * The second half of the build process for Linux (building the binary
133 RPMs) is performed on a fairly raw (uncustomized, only used for
134 these builds, etc.) RedHat 9 machine. This is done to make the RPMs
135 as generic as possible, ensuring that there are no dependencies on
136 non-standard libs and such that may be on my main development
137 machine. There are RH-9 VMware VMs both on Cyclops and on Xavier
138 that are setup to do this, with both Python 2.2 and 2.3 installed,
139 gtk+12 and gtk+2 devel libs, etc. As the root user, do the
144 SRCDIR=/stuff/Development/wxPython/dist/$(VERSION)
145 for srpm in $SRCDIR/*.src.rpm; do
146 myrpmbuild --rebuild $srpm
149 * Copy the resulting RPMs to /stuff/Development/wxPython/dist/$(VERSION)