| The following steps are the rough guide to making a release. Please |
| update it if you find something inaccurate/missing. |
| |
| This information is accurate as of the 3.1.2 release, which eliminated some |
| aspects of the release process (no binaries, elimination of the 2.8.0 web |
| site content). |
| |
| Note that if a security issue is involved, you may need to edit content in |
| doc/secadv.xml and the doc/html/secadv/ directory as part of the release. |
| |
| 1. Update the version information in the following files (many only need changes |
| if the minor version increases, not just the patch version): |
| |
| configure.ac |
| xerces-c.spec |
| doc/style/dtd/entities.ent |
| src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp |
| |
| 2. Update the release documentation in (at least) the following files: |
| |
| doc/migration.xml |
| doc/migration_archive.xml |
| doc/releases.xml |
| doc/releases_archive.xml |
| doc/releases_plan.xml |
| |
| 3. Build and test the release on the platforms that the PMC indicates should be |
| considered "official". The four source packages should be named |
| xerces-c-x.y.z.zip/tar.gz/tar.bz2/tar.xz, and the distribution content |
| should be explicitly, and only, that produced by the make dist command. |
| |
| 4. Build the web site and API docs by running the following commands from within |
| the distribution (note that both Oracle's Java 6 and doxygen must be |
| installed): |
| |
| $ cmake . |
| $ make createdocs |
| $ make createapidocs |
| |
| or |
| |
| $ autoreconf -fvi |
| $ ./configure |
| $ cd doc |
| $ make createdocs |
| $ make createapidocs |
| |
| You should be able to open the web site from doc/html/index.html and verify |
| the content. |
| |
| 5. Generate PGP/GNUPG signatures for all source distribution packages. |
| That is, add public key to the KEYS file in svn if necessary and make sure |
| public key is on a key server or two. You will also need to update the |
| KEYS file on the website, which is located in svn at: |
| |
| https://dist.apache.org/repos/dist/release/xerces/c/KEYS |
| |
| 6. Generate MD5, SHA1, and SHA256 hashes of the distribution files. |
| |
| 7. Check in the distributions, hashes, and signatures to the dist repository, in: |
| |
| https://dist.apache.org/repos/dist/release/xerces/c/3/sources/ |
| |
| You should also remove the previous version from svn. |
| |
| 8. Verify that the downloads are available. Note that it can take up to |
| 24 hours to for the mirrors to be updated. |
| |
| 9. Tag the release in SVN (tags for releases usually have the form |
| Xerces-C_x_y_z where x.y.z is the Xerces-C release number) by doing (e.g.,): |
| |
| svn cp -m "Tagging the Xercesc x.y.z release" \ |
| https://svn.apache.org/repos/asf/xerces/c/branches/xerces-3.1 \ |
| https://svn.apache.org/repos/asf/xerces/c/tags/Xerces-C_x_y_z |
| |
| The exact command will depend on the release being done, and where the original |
| source is. |
| |
| 10. Close any resolved issues in Jira, and "release" the new version. Update the list |
| of future versions to ensure a patch version and a minor version are available to |
| assign issues against. |
| |
| 11. Update the website by copying the generated HTML in doc/html over the |
| checked in web site content located at: |
| |
| https://svn.apache.org/repos/asf/xerces/site/trunk/production/xerces-c |
| |
| You should either remove the original site content and commit that first, |
| or if you want to avoid the site being completely deleted online if there's |
| a problem, copy the content into a sandbox, then look for unchanged files |
| older than the time of the copy, and remove them from svn as part of the |
| site commit. |
| |
| 12. Send out an announcement e-mail to the c-dev@xerces.apache.org and |
| c-users@xerces.apache.org mailing lists. |