- Working with the the wxWidgets release system
- =====================================
-
-Currently, to generate the release tarballs, wxWidgets uses a script which
-reads from a series of manifest files to determine which files should be
-installed for a particular port. This document explains how to alter the list
-of files that are distributed in the release tarballs.
-
-The scripts are located in the <wxWidgets root>/distrib/scripts folder, with
-create_archives.sh doing most of the work to create the actual tarballs.
-pre-flight.sh runs the entire process of doing a checkout, building the releases,
-and putting them into the <wxWidgets root>/deliver folder. The manifest files
-are located in the <wxWidgets root>/distrib/scripts/manifests folder and
-they have a .rsp extension for historical reasons.
-
-
-Adding/removing a file from releases
-------------------------------------
-
-First, you must decide which tarballs you'd like to make the change to, in
-order to determine which manifest file(s) the file should appear in.
-
-Below is a list of each port and the primary manifest files that are used to
-generate that release. The "ALL" in the list is not for wxALL, it means that
-those manifests are where things that go in all ports should be.
-
-tarball primary manifests
-------- ----------------
-ALL generic.rsp
-wxBase base.rsp
-wxMSW msw.rsp, wince.rsp
-wxOS2 os2.rsp
-wxGTK gtk.rsp
-wxMAC mac.rsp cocoa.rsp
-wxMotif motif.rsp
-wxMGL mgl.rsp
-wxX11 x11.rsp
-
-Once you've decided which manifest file is most appropriate to add your file
-in, then open that manifest and add a line with your file(s) at the bottom.
-The file(s) should give the path relative to the wxWidgets root directory,
-like so:
-
-docs/tech/tn0033.txt
-
-At the current time, wildcards in filenames are also accepted. Once the files are
-added, they should show up in releases when distrib/scripts/pre-flight.sh is run.
+ Working with the wxWidgets release system
+ =========================================
+Process Overview:
+- run build/tools/create-archive.py --compression=all /path/to/output/dir
+- upload release to sf.net
+- update wxwidgets.org
+- promote release on software download sites
+
+
+Currently our release system uses a Python 2.x script to generate releases.
+The script requires Unix utilities such as tar, zip and unix2dos and thus must
+be run either on Unix or using Cygwin on Windows. To generate a release, simply
+run the following command:
+
+build/tools/create-archive.py --compression=all /path/to/output/dir
+
+This will produce zip, gzip and bzip archives of the tree (without
+"compression" argument only .gz is made). Note that this commands produces huge
+amounts of output so redirecting it to a file is recommended.
+
+To add a prefix to the release, such as RC1, the SVN revision, or a date, just
+pass --postfix="postfix" to the script. More info on the options and their
+possible values can be found by calling `create-archive.py --help`.
+
+IMPORTANT NOTE: You *must* run this script from a clean source tree, that is,
+ with no junk files in it or modifications. This is because the
+ release should be a pristine copy of the tree as of the time of
+ release. If you have legitimate modifications in the tree that need
+ to be in the release, commit them first.