Version 45 (modified by mtmoore, 21 months ago)

--

How to Make an OrangeFS Release

1. Create release branch in CVS

  • Prerequisites
    • write access to CVS
    • identified the branch/code base for the release
  • Steps
    • create a branch in CVS against the code the release should be based on. Usually, this is the current Orange-Branch. You do not require a working copy to perform this step. You can do this using:
      cvs rtag -b -r Orange-Branch orangefs-2-8-4 pvfs2

The branch name should be of the format orangefs-<major>-<minor>-<sub>

2. Update files in release branch

  • Prerequisites
    • A working copy of the release branch created in the first step
  • Steps
    • Update configure.in to a release configuration by:
      • Commenting out PVFS2_VERSION_PRE
      • Changing PVFS2_VERSION_MAJOR, PVFS2_VERSION_MINOR, and/or PVFS2_VERSION_SUB as needed
      • Un-commenting PVFS2_VERSION_RELEASE and setting it to the appropriate value (e.g. PVFS2_VERSION_RELEASE=orangefs-2.8.4)
      • Change PVFS2_VERSION to end at PVFS2_VERSION_RELEASE instead of PVFS2_VERSION_PRE (e.g. PVFS2_VERSION=$PVFS2_VERSION_MAJOR.$PVFS2_VERSION_MINOR.$PVFS2_VERSION_SUB-$PVFS2_VERSION_RELEASE)
    • Run ./prepare from the working copy.

Note: This must be a version of autoconf newer than 2.59 or the generated files will be incorrect. Version 2.65 of autoconf works, not sure on the minimum acceptable version.

  • Update ChangeLog to include descriptions of updates between the last release and the new release.
  • Commit changes to the release branch

3. Create tarball of release branch

  • Prerequisites
    • A working copy of the release branch
  • Steps
    • Change into the working copy of the branch in the directory above pvfs2/
    • Rename pvfs2 to orangefs
    • Create exclude from file with contents, one per line, of:
      • .cvsignore, CVS, dokan, install-windows, ldap-windows, openssl-windows, src/client/windows, projects, include/windows
    • Create tarball using tar --exclude-from=exclude-files -czvf orangefs-<major>-<minor>-<sub>.tar.gz orangefs (e.g. tar --exclude-from=exclude-files -czf orangefs-2.8.4.tar.gz orangefs)

4, Move tarball to FTP/website

  • Prerequisites
    • Account on PARL with write access
  • Steps
    • Copy tarball from last step to /var/ftp/pub/pvfs2/ on PARL ftp server
    • On PARL web server update /web/orangefs/download/download.php to point to the version of the tarball copied in last step
    • On PARL web server update /web/orangefs/header.php to specify the new, current version
    • Copy the new ChangeLog file to /web/orangefs/download/ChangeLog
    • Un-tar the release tarball into /web/orangefs/documents/releases
    • Rename /web/orangefs/documentation/releases/orangefs to /web/orangefs/documentation/releases/orangefs-<major>-<minor>-<sub>
    • Update current symlink to point to the new release directory
    • In the /web/orangefs/documentation/releases/current directory execute:
      • ./configure --enable-redhat24 --disable-nptl-workaround and
      • make docs
    • In the /web/orangefs/documentation/releases/current directory execute:
      • doxygen doc/doxygen/pvfs2-doxygen.conf
    • Refresh page, make sure link is updated and works
    • Download tarball, extract, configure, make, make install, make kmod_install, and insmod to confirm all is well with the new tarball and links to documentation on orangefs.org