This is a menu-driven REXX program, found in the base directory of the repository, which...
- provides guidance through this process
- facilitates many of the following tasks, including (but not limited to):
- the changes to version numbers
- the changes to copyright dates and strings
To avoid omissions and/or errors in some of the following tasks, the use of this program is recommended.
Ensure work in progress is committed and new files added:
Post a message to the Netlabs FM/2 developer's mailing list, FM2_Dev, asking if all developers have committed their changes for the release build. Allow at least 24 hours for responses.
Process completed tickets
Verify all completed tickets marked closed.
Any residual open tickets must be moved to a future version milestone before or when the version milestone is marked complete. See marking milestones complete.
Select version #
Version numbers are of the form x.yy.zz, where x is the major version, yy is the minor version and zz is the CSD level. The CSD level is typically 00 and is not displayed unless it has some other value.
The separator for user visible version numbers is a period. The period may be transformed to an underscore or dash when the version number is used to derive a directory name.
The current version is 3.17.00.
WarpIN drops leading zeros, but we supply them to get alpha sorts in directory and file listings.
Final check source code and update markings
Check build level and copyright dates in
The bldlevel and copyright strings are of the form
@#SLAInc:3.14#@##1## 07/21/2008 03:14:00 GKYBuild::EN:US:0:U:@@FM/2 Runtime DLL Copyright (c) 1993, 1998 M. Kimes Copyright (c) 2001, 2008 Steven Levine and Associates, Inc.
Check warpin\fm2.wis post build (use wmake -a to assure it updates).
Include the date for all releases. Include the time on BETA releases
version # (major releases only)
Commit modified files and verify
Verify everything checked in with
svn status -v |& less
Look for unexpected ?s in column 1. These can indicate new files that must be added to the repository.
To prevent spurious ?s, edit global-ignores in %HOME%\.subversion\config to suppress the marking for known build products.
Verify no regressions.
Tags are of the form FM2-3_xx-yy, where xx is the minor version and yy is the CSD level. The CSD will typically be 00.
Create the tag with a command similar to
svn copy -m"Tag release FM2-3_17_00" http://svn.netlabs.org/repos/fm2/trunk http://svn.netlabs.org/repos/fm2/tags/FM2-3_17_00
Build for release
If fm2_workspace\trunk is the root directory of your FM/2 source workspace, build with
cd fm2_workspace\trunk set HIMEM= set DEBUG= set WARNALL= set FORTIFY= wmake -a
Test release build
Test the binaries. At a minimum you should run all the exes and do some basic file manipulation with each. You should, where possible, also verify that any bugs that were fixed for the release are working as expected.
to compress exes and dlls.
Retest final build
Verify that all exes continue to load and run after being compressed. Lxlite has no known defects, but it's better to be safe.
to build distribution .wpi. See Building FM/2 WarpIN installation files for more information.
Zip the distribution FM2*.wpi and add the FM2utilities wpi package if desired.
We do not routinely build source distributions since the source is available from Netlabs.
Do both an install over an existing install and a clean install.
Do it with just the FM/2 package and with the FM/2utils package.
Prepare fm2-x.xx.txt for Hobbes.
Upload the distro to /pub/incoming on Hobbes and to /incoming/fm2 Netlabs.
Post a request to community@… to move the distro from /incoming/fm2 to /pub/fm2.
If Netlabs /pub/fm2 is looking cluttered, request that the older version be moved to /pub/fm2/archives.
If Netlabs /incoming/fm2 has obsolete test files, request that they be deleted.
Mark milestone complete
Create a TRAC version for the next version, if needed.
Mark the current version as the default version for new tickets.
Create a TRAC milestone for the next version release, if needed.
Mark the new milestone as the default milestone.
Mark the completed milestone as complete and move any residual tickets to a future milestone.
TRAC can move the tickets in bulk when you mark the version milestone complete.
See source:tags for the full list.
Some recent tags are
FM2-3_24_0 FM2-3_23_0 FM2-3_22_0 FM2-3_21_0 FM2-3_20_0 FM2-3_19_1 FM2-3_19_00 FM2-3.18-00 FM2-3.17-00 FM2-3.16-00 FM2-3.15-00 FM2-3.14-00 FM2-3.13-00 FM2-3.12-00 FM2-3.11-00 FM2-3.10-00 FM2-3.09-00 FM2-3.08 FM2-3.07 FM2-3.07.BETA-01 FM2-3.06.00 First OpenWatcom Build FM2-3.05.09