New release script docs.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Kevin Ollivier 2009-03-22 00:44:12 +00:00
parent a823df225a
commit c7428e0813

View File

@ -1,49 +1,20 @@
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.
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
Adding/removing a file from releases
------------------------------------
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:
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.
build/tools/create-archive.py --compression=all /path/to/output/dir
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.
This will produce zip, gzip and bzip archives of the tree.
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.
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.