From 15eac935e8910329c3c9aaf0c16b03d42010fb6b Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Fri, 12 Mar 2004 20:01:07 +0000 Subject: [PATCH] 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 --- wxPython/distrib/howto-distrib.txt | 155 +++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 wxPython/distrib/howto-distrib.txt diff --git a/wxPython/distrib/howto-distrib.txt b/wxPython/distrib/howto-distrib.txt new file mode 100644 index 0000000000..f498c2ede9 --- /dev/null +++ b/wxPython/distrib/howto-distrib.txt @@ -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 +------- \ No newline at end of file -- 2.45.2