]> git.saurik.com Git - wxWidgets.git/commitdiff
Added a document describing the steps that need to be taken to do a
authorRobin Dunn <robin@alldunn.com>
Fri, 12 Mar 2004 20:01:07 +0000 (20:01 +0000)
committerRobin Dunn <robin@alldunn.com>
Fri, 12 Mar 2004 20:01:07 +0000 (20:01 +0000)
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 [new file with mode: 0644]

diff --git a/wxPython/distrib/howto-distrib.txt b/wxPython/distrib/howto-distrib.txt
new file mode 100644 (file)
index 0000000..f498c2e
--- /dev/null
@@ -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