0c81d1b8eb
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
171 lines
4.7 KiB
Plaintext
171 lines
4.7 KiB
Plaintext
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/config.py is correct.
|
|
|
|
* Ensure that all build machines 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)
|
|
----------------------------------
|
|
|
|
* 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/lib/vc_dll, (which you
|
|
should have on the PATH.)
|
|
|
|
.make_tools.btm
|
|
|
|
* Make the .mo files
|
|
|
|
cd wx/locale
|
|
makemo.py
|
|
|
|
* Make the HTMLHelp files. In the wx\wxPython directory run:
|
|
|
|
distrib\makedocs.bat
|
|
|
|
* Clean any 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:
|
|
|
|
distrib/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+1.2 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
|
|
-------
|
|
|
|
The Mac OSX build uses the tarball created on Linux, so it must be
|
|
created first and in place on the file server. There are currently
|
|
two builds made of wxPythonOSX, one for Panther and Apple's version of
|
|
Python, and one for Jaguar and a self-installed MacPythonOSX.
|
|
|
|
* On BigMac run the following as root:
|
|
|
|
cd wx/wxPython
|
|
distrib/mac/wxPythonOSX/build panther
|
|
|
|
* On Whopper run the following as root:
|
|
|
|
cd wx/wxPython
|
|
distrib/mac/wxPythonOSX/build jaguar
|
|
|
|
* Copy the resulting disk image files in wx/wxPython/dist on each
|
|
machine to /stuff/Development/wxPython/dist/$(VERSION) on the file
|
|
server.
|
|
|
|
|