Added a document describing the steps that need to be taken to do a

full wxPython build for distribution.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26187 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2004-03-12 20:01:07 +00:00
parent 6e83b721d9
commit 15eac935e8

View File

@@ -0,0 +1,155 @@
How to make a wxPython distribution
===================================
This file documents all the steps that need to be taken to make a full
dsitribution of wxPython, building source and binary packages for
Linux, Windows and OSX. Much of this info is just "notes to self" and
are specific to my machines and their custom setup, and may not be
entirly applicable to others. If other folks are able to glean some
useful information from this then that is wonderful, but is not the
main intent of this document...
Preflight Checklist
-------------------
* Ensure that the version info in wxPython/setup.py is correct.
* Ensure that all build boxes are up to date with CVS, they should
have the same versions of all the wxWidgets files if possible. (Use
a CVS tag if this is an official release.)
* Ensure that all SWIG files have been regnerated, by doing a "b 23 t"
in wxPython, and then "b 23". Check CVS status again, committing
changes and updating on other build machines as neccessary. This
includes build scripts too, so as tweaks are made in the various
processes below be sure to check in the scripts.
* Make the wxPython metadata XML file and ensure that it is committed
to CVS. On Xavier do:
docs/bin/simplify.py
* Ensure that docs/CHANGES.txt and docs/MigrationGuide.txt are
updated, accurate and checked in to CVS.
* Regenerate the html versions of the ReST docs in wxPython/docs, and
check in to CVS. On Xavier do:
cd wxPython/docs
docutils-buildhtml
Windows (build env is on Cyclops)
----------------------------------
* Clean out unneded files from wx/BIN
*.pdb # debugger data
wx*d_*.dll # debug version of the DLLs
# also old versions
# etc.
* Clean out the same files in wx/lib/vc_dll. (NOTE to self: There is
probably no reason any more to move stuff to the BIN dir. Update
the build and packager scripts and the PATHs and then get rid of
it.)
* Do a clean build of the ansi and unicode hybrid versions of
wxWidgets:
cd wx/build/msw
.make both-hybrid clean
.make both-hybrid
* Build the tools. This btm script makes a static release version of
wxWidgets, and then builds copies of wxrc.exe and tex2rtf.exe
linking with that lib, placing them in wx/BIN.
.make_tools.btm
* Make the HTMLHelp files. In the wx\wxPython directory run:
distrib\makedocs.bat
* Clean and old wxPython builds:
del /sx build build.unicode
* Build all four versions of wxPython installers:
b 23 a
* Build the -devel .zip file:
dsitrib\makedev.bat $(VERSION)
* Copy the all the files created in wx\wxPython\dist to the file
server at s:\Development\wxPython\dist\$(VERSION)
Linux
-----
The distribution build for Linux is split across two machines, one to
create the source archives and another to build the binaries. On the
primary development box (Xavier) do the following steps from the
wx/wxPython dir:
* Clean out any former RPM build dirs, and any former dist files:
rm -r _build_rpm
rm dist/*
* Make the demo tarball:
dsitrib/makedemo
* Make the docs tarball:
distrib/makedocs
* Make the source tarball:
distrib/makerpm 2.3 skipclean skiprpm
* Make the four SRPMs:
distrib/makerpm 2.2 skipclean skipcopy skiptar srpm
distrib/makerpm 2.3 skipclean skipcopy skiptar srpm
distrib/makerpm 2.2 skipclean skipcopy skiptar srpm gtk2
distrib/makerpm 2.3 skipclean skipcopy skiptar srpm gtk2
* Copy all the files created in wx/wxPython/dist to the file server at
/stuff/Development/wxPython/dist/$(VERSION)
* The second half of the build process for Linux (building the binary
RPMs) is performed on a fairly raw (uncustomized, only used for
these builds, etc.) RedHat 9 machine. This is done to make the RPMs
as generic as possible, ensuring that there are no dependencies on
non-standard libs and such that may be on my main development
machine. There are RH-9 VMware VMs both on Cyclops and on Xavier
that are setup to do this, with both Python 2.2 and 2.3 installed,
gtk+12 and gtk+2 devel libs, etc. As the root user, do the
following:
mkdir /tmp/build
cd /tmp/build
SRCDIR=/stuff/Development/wxPython/dist/$(VERSION)
for srpm in $SRCDIR/*.src.rpm; do
myrpmbuild --rebuild $srpm
done
* Copy the resulting RPMs to /stuff/Development/wxPython/dist/$(VERSION)
Mac OSX
-------