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:
155
wxPython/distrib/howto-distrib.txt
Normal file
155
wxPython/distrib/howto-distrib.txt
Normal 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
|
||||
-------
|
Reference in New Issue
Block a user