8 Preparing Releases
There are a number of utilities and software packages that are needed
to prepare a PPW release (these are in addition to the normal
requirements to build PPW). For the PPW backend, the following are
needed:
- GNU Autotools
- GNU Texinfo
- ImageMagick (used by scripts for image processing)
- A Latex installation (e.g., TeX Live on Linux)
- Ghostscript (probably...)
- Doxygen
For the PPW frontend GUI:
- For Windows:
- Launch4j, to wrap JARs in Windows executables
- NSIS (nullsoft scriptable install system), for the installer
- NetBeans, recommended for working with the Java code on Windows
- For Linux (and similar platforms), tools to build RPM and DEB archives
- For Mac OS X, tools to build disk image
Steps to release a new version of PPW:
- Start with a fresh working copy of the PPW source (from trunk). To
build a PPW release, you will need to be able to run
configure
directly within the working copy (not in a separate build directory).
- Bootstrap the source tree (you may need to bootstrap gasnet-tools
first).
- Do
configure
(probably with appropriate options) and
make
within the working copy.
- Double-check version number in configure.ac, and any other
places that include that version number. Usually just running the
update-versions.pl script that gets generated by autoconf will
ensure that the version number is updated in the correct places.
- Update the docs (especially user manual) to reflect any changes or feature
enhancements.
- Update the NEWS file to show changes and release date.
- Commit any changes made in the steps above to trunk. Now is a good time for
some final testing that everything still looks good.
- Make new tag in tags directory (server-side svn cp) of the form RELEASE_X_Y.
- Within the docs directory, do
make gen
to generate
documentation. You will now have docs files in docs/site,
along with updated man pages, etc. and files such as MANUAL within
your working copy. The online (HTML) docs (and images) within
javasrc will also have been updated automatically.
- Within the javasrc directory, do
ant dist
to update the
JAR files to be distributed with the PPW release.
- Create UNIX source distribution by doing
make distcheck
. You will
now have a ppw-X.Y.tar.gz
file in your working copy.
Note that typing make release
might do some of the above steps
for you automatically, aside from updating the NEWS file and making the
svn tags.
- Create new Java webstart, windows, and OSX versions of GUI (see
javasrc/deploy).
- Test all source tarballs and binaries above on as many platforms as
feasible.
- Update the PPW website with the following:
- New downloads
- New Java web start version in the site/jws directory
- Appropriate files in the site/vX.Y/sampledata directory
- New HTML versions of the user manual that you obtained from the
make gen
command above
- Update the PPW Bugzilla (under http://bugzilla.hcs.ufl.edu) to include
the latest version of PPW (navigate to the “Products” page, where
you should see Parallel Performance Wizard listed). Also make sure
the milestones, default milestone, components, etc. are up to date.
- Update the docs/ppw-devguide.texi file for any new additions
to the release process.
- Send email announcements out, including to ppw AT hcs DOT ufl DOT edu.