NSPR Release Engineering Guide

This paper is for engineers performing formal release for the NetScape Portable Runtime (NSPR) across all platforms.

NSPR generally follows the iPlanet product lifecycle.

Feature Complete

  1. Update ...pr/include/prinit.h with release numbers
  2. Build all targets, debug and optimized on all platforms using local directories
  3. Run the test suite on all targets
  4. Verify release numbers show up in binaries
  5. Resolve testing anomalies
  6. Tag the tree with NSPRPUB_RELEASE_x_y_z_BETA

Beta Release

  1. Checkout a whole new tree using the tag from above
  2. Build all targets, debug and optimized on all platforms using the command:
 gmake release MDIST=<dir>/MDist BUILD_NUMBER=vx.y.z [BUILD_OPT=1 | USE_DEBUG_RTL=1]
  1. Copy the bits from MDist to /share/builds/components/nspr20/.vx.y.z 1
  2. Run explode.pl
  3. Run the test suite on all targets, using binaries & headers from shipped bits
  4. Resolve testing anomalies
  5. Tag the tree with NSPRPUB_RELEASE_x_y[_z]

Release Candidate

  1. Checkout a whole new tree using tag (including fixes)
  2. Tag the treey with NSPRPUB_RELEASE_x_y_z
  3. Build all targets, debug and optimized on all platforms using the command:
 gmake release MDIST=<dir>/MDist BUILD_NUMBER=vx.y.z [BUILD_OPT=1 | USE_DEBUG_RTL=1]
  1. Copy the bits from MDist to /share/builds/components/nspr20/.vx.y.z
  2. In /share/builds/components/nspr20/ run the following scripts:
  • explode.pl
  • rename.sh
  • symlink.sh

RTM Bits

Rename the .vx.y.z directory to vx.y.z (remove the hidden directory 'dot').

Copy /share/builds/components/nspr20/vx.y.z/* to /share/systems/mozilla/pub/nspr/vx.y.z/

Original Document Information

1 Copying files to /share/builds/components requires that one be logged on to a machine named "smithers" as user "svbld". The password to this account is restricted to a small set of designated release engineers.