Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This document is intended to be used and kept up to date by the Fedora Release Manger.  It details the steps necessary to perform an official release of Fedora.

The release version in the documentation below is identified as X.Y, replace this in the instructions with the current release (eg 3.4).

The previous release version (snapshot previous documentation) is identifed as A.B, replace this with the previous release (eg 3.3).

Table of Contents

Before Release Day

...

  1. Go to the documentation space's homepage: http://fedora-commons.org/go/fcr30
  2. Select Browse -> Advanced
  3. Select HTML Export
  4. De-select the following sections:
    1.  _inclusionsLibrary (at the top)
    2. TreeNavigation (at the bottom)
  5. Click Export and save it as fedora-3A.2.1B-docs.zip
  6. Upload the zip file to fedora-commons.org
    1. sftp fcrelman@fedora-commons.org
    2. cd documentation/3A.2.1 B (this directory should already exist)
    3. put fedora-3A.2.1B-docs.zip
    4. exit
  7. Unpack the zip file in the appropriate directory
    1. ssh fcrelman@fedora-commons.org
    2. cd documentation/3A.2.1B
    3. unzip fedora-3A.2.1B.zip
    4. mv FCR30/* .
    5. rmdir FCR30
    6. Make sure it's viewable at http://fedora-commons.org/documentation/3.2.1{{*A.B*}}/
  8. Put the documentation in a warning frame.  This serves to remind people viewing old documentation that there is a newer version of Fedora available.
    1. See http://fedora-commons.org/documentation/3.2/ as an example of what it will look like.
    2. mv index.html to index-inside.html
    3. cp ../3.2/index.html .
  9. Edit the index-inside.html page, cleaning it up and providing a link to download the documentation for offline viewing.
    1. Open the file (e.g., in vi) and search for the text "Space Details:", replacing it with "Fedora 3A.2.1 B Documentation"
    2. Wiki Markup
      Insert a new line below that one, with the following HTML:
      \[ <a href="fedora-3.2.1{{*A.B*}}-docs.zip">Download zip for offline viewing</a> \]
    3. A couple lines below, you will see the start of a table tag.  Remove that line, and every line below, up to and including the closing table tag.
    4. A few lines below that, change the text "Available Pages:" with "Index:"

...

  1. Build the aggregate javadocs for all of trunk
    1. mvn javadoc:aggregate (this will build them in target/site/apidocs)
    2. mv target/site/apidocs target/site/javadocs
  2. Copy the license information to target/site
    1. cp -r resources/doc/license target/site
  3. Recursively delete all .svn directories in target/site/license
    1. find . -type d -name ".svn" -exec rm -rf {} \;
  4. Create a jar file to upload
    1. cd target/site
    2. jar -cMf static.jar javadocs license
  5. Upload the jar to fedora-commons.org
    1. sftp fcrelman@fedora-commons.org
    2. cd documentation
    3. mkdir 3X.3Y
    4. cd 3X.3Y
    5. put static.jar
    6. exit
  6. Unpack the jar and ensure the static documentation is viewable on the web
    1. ssh fcrelman@fedora-commons.org
    2. cd documentation/3X.3Y
    3. jar -xf static.jar
    4. rm static.jar
    5. Point your browser to http://fedora-commons.org/documentation/3.3{{*X.Y*}}/javadocs and http://fedora-commons.org/documentation/3.3/license/license.html (these are the full URLs that should be referenced from the documentation in the wiki)
  7. Ensure the main documentation URL for this version forwards to the wiki
    1. cp ../index.html . (the parent directory already contains an index.html that forwards to the right place in the wiki)
    2. Point your browser to http://fedora-commons.org/documentation/3A.3B (it should redirect to the FCR30 wiki space)

...

Tag the trunk based on the version of the release (e.g. svn copy to tags/release-3X.3Y)

Build the final distribution

...

Filename

Description

fcrepo-src-NX.MY.zip

A complete source distribution zip file

fcrepo-installer-NX.MY.jar

The fedora-repository installer jar

fcrepo-client-messaging-NX.MY.zip

The fedora-messaging-client distribution

fcrepo-server-rmi-journal-rcv-NX.MY.zip

The fedora-journaling-rmi-reciever distribution

Each file must have an associated md5 checksum (with a filename consisting of the full filename above and the suffix .md5) and the pgp key signature of the release manager (with a filename consisting of the full filename above and the suffix .asc).

Upload and verify the distribution

...

  1. sftp fcrelman@fedora-commons.org
  2. cd release-archive
  3. Create a subdirectory based on the release date, e.g. 2009/12-07/fedora-3X.3Y/
  4. Upload all released files to this directory.

...

  • Rename the SPACE using the new version number, e.g. "Fedora Repository 3X.3 Y Documentation".  This will ensure that the version number is visible in the header area of all pages within the documentation.
  • Update the front page of the space:
    • Rename the PAGE the same as the SPACE, e.g. "Fedora Repository 3X.3 Y Documentation".  This will ensure that the version number is obvious and prominent in the content area of the main documentation page.  It will also cause anyone with bookmarks to the old main page to realize that the version of the current documentation has been updated.  After clicking the suggested link on the 404 page, they will see where they can access the archived documentation.
    • Update the content of the page:
      • All download links should point to the new version's files
      • The javadoc link should go the javadocs URL for the new version
      • Linkage for "Older Versions" of documentation should be updated to include a link to the documentation snapshot for the now-previous version.
  • Update the Release Notes parent page.
  • Update the License and copyright page.
  • Make any final changes to the new release notes page
  • Remove all warnings about a feature being for (this) future release of Fedora
  • Update the "Upgrade and Migration Guide" with the new content.
  • Update the "Installation and Configuration Guide" with the new content.
  • Make sure the copyright at the bottom of all doc pages is accurate.

...