How to do a mod_jk 1.2 release If you haven't already, add your public PGP key to jakarta-tomcat-connectors/KEYS. Check out a clean copy of jakarta-tomcat-connectors from CVS to make sure you don't have any lingering configure or build files. This will make sure that the source distribution created is clean. Update version numbers as needed -------------------------------- Do a find for all the docs which include the previous version string and replace it with the new version. These are the docs I found which had to be updated: xdocs/jk/aphowto.xml xdocs/jk/quickhowto.xml xdocs/jk/workershowto.xml Update the version in jk/native/configure.in. Update the version in jk/native/common/jk_version.h, here is a cvs diff that shows what I changed: Index: native/common/jk_version.h =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_version.h,v retrieving revision 1.9 diff -c -w -r1.9 jk_version.h *** native/common/jk_version.h 17 Dec 2002 10:36:16 -0000 1.9 --- native/common/jk_version.h 26 Apr 2003 18:05:27 -0000 *************** *** 67,80 **** /************** START OF AREA TO MODIFY BEFORE RELEASING *************/ #define JK_VERMAJOR 1 #define JK_VERMINOR 2 ! #define JK_VERFIX 2 #define JK_VERSTRING "1.2.5" /* Beta number */ #define JK_VERBETA 0 #define JK_BETASTRING "1" /* set JK_VERISRELEASE to 1 when release (do not forget to commit!) */ ! #define JK_VERISRELEASE 0 /************** END OF AREA TO MODIFY BEFORE RELEASING *************/ #define PACKAGE "mod_jk/" --- 67,80 ---- /************** START OF AREA TO MODIFY BEFORE RELEASING *************/ #define JK_VERMAJOR 1 #define JK_VERMINOR 2 ! #define JK_VERFIX 3 #define JK_VERSTRING "1.2.5" /* Beta number */ #define JK_VERBETA 0 #define JK_BETASTRING "1" /* set JK_VERISRELEASE to 1 when release (do not forget to commit!) */ ! #define JK_VERISRELEASE 1 /************** END OF AREA TO MODIFY BEFORE RELEASING *************/ #define PACKAGE "mod_jk/" After updating revision numbers, commit your changes to CVS. Tag and branch jk in CVS ------------------------ Change directory (cd) to jakarta-tomcat-connectors/jk Use the pattern below for branching and tagging the jk directory. cvs tag -b JK_{MAJOR_REVISION}_{MINOR_REVISION}_{RELEASE} Here is an example for mod_jk 1.2.5 cvs tag -b JK_1_2_5 Build the mod_jk 1.2 documentation ---------------------------------- cd jakarta-tomcat-connectors/jk ant docs Create the new source distribution ---------------------------------- Create the directory jakarta-tomcat-connectors-jk-{MAJOR_REVISION}-{MINOR_REVISION}-{RELEASE}-src For this example mkdir jakarta-tomcat-connectors-jk-1.2.5-src Copy the files KEYS and LICENSE from jakarta-tomcat-conectors to the source distribution directory. cp jakarta-tomcat-connectors/KEYS jakarta-tomcat-connectors-jk-1.2.5-src cp jakarta-tomcat-connectors/LICENSE jakarta-tomcat-connectors-jk-1.2.5-src Copy the directory jakarta-tomcat-connectors/scandoc to the source distribution directory. cp -pr jakarta-tomcat-connectors/scandoc jakarta-tomcat-connectors-jk-1.2.5-src Copy the directory jakarta-tomcat-connectors/common to the source distribution directory. cp -pr jakarta-tomcat-connectors/common jakarta-tomcat-connectors-jk-1.2.5-src Make the jk directory in the source distribution. mkdir jakarta-tomcat-connectors-jk-1.2.5-src/jk Copy the file BUILD.txt from jakarta-tomcat-conectors/jk to the source distribution jk directory. cp -p jakarta-tomcat-connectors/jk/BUILD.txt jakarta-tomcat-connectors-jk-1.2.5-src/README.txt Copy the directory jakarta-tomcat-connectors/build/docs to the source distribution directory. cp -pr jakarta-tomcat-connectors/jk/build/docs jakarta-tomcat-connectors-jk-1.2.5-src/jk Copy the directory jakarta-tomcat-connectors/tools to the source distribution directory. cp -pr jakarta-tomcat-connectors/jk/tools jakarta-tomcat-connectors-jk-1.2.5-src/jk Make the jk conf directory in the source distribution. mkdir jakarta-tomcat-connectors-jk-1.2.5-src/jk/conf Copy the worker.properties file to the jk/conf directory. cp -p jakarta-tomcat-connectors/jk/conf/worker.properties jakarta-tomcat-connectors-jk-1.2.5-src/jk/conf Copy the directory jakarta-tomcat-connectors/support to the source distribution directory. cp -pr jakarta-tomcat-connectors/jk/support jakarta-tomcat-connectors-jk-1.2.5-src/jk Copy the directory jakarta-tomcat-connectors/native to the source distribution directory. cp -pr jakarta-tomcat-connectors/jk/native jakarta-tomcat-connectors-jk-1.2.5-src/jk Remove all the CVS directories from the new source distribution. find jakarta-tomcat-connectors-jk-1.2.5-src -type d -name CVS | xargs rm -rf cd to jakarta-tomcat-connectors-jk-1.2.5-src/jk/native and run buildconf.sh to create the configure script. Create a tar gzip'd archive tar zcf jakarta-tomcat-connectors-jk-1.2.5-src.tar.gz jakarta-tomcat-connectors-jk-1.2.5-src Create a zip archive zip -r jakarta-tomcat-connectors-jk-1.2.5-src.zip jakarta-tomcat-connectors-jk-1.2.5-src Sign the release using PGP. Here is an example using gpg: gpg -abs -o jakarta-tomcat-connectors-jk-1.2.5-src.tar.gz.asc jakarta-tomcat-connectors-jk-1.2.5-src.tar.gz Upload source distribution and documentation to www.apache.org ------------------------------------------------------------------- First update the KEYS on the server if you have added a new pgp key. scp jakarta-tomcat-connectors/KEYS to the /www/www.apache.org/dist/jakarta/tomcat-connectors directory on the www.apache.org server. scp jakarta-tomcat-connectors-jk-1.2.5-src.tar.gz* to /www/www.apache.org/dist/jakarta/tomcat-connectors/jk/source scp jakarta-tomcat-connectors-jk-1.2.5-src.zip* to /www/www.apache.org/dist/jakarta/tomcat-connectors/jk/source ssh to www.apache.org and cd to the /www/www.apache.org/dist/jakarta/tomcat-connectors/jk directory. Remove the symlinks for current and replace them with a soft link to the new source distribution files. ln -s source/jakarta-tomcat-connectors-jk-1.2.5-src.tar.gz jakarta-tomcat-connectors-jk-src-current.tar.gz ln -s source/jakarta-tomcat-connectors-jk-1.2.5-src.tar.gz.asc jakarta-tomcat-connectors-jk-src-current.tar.gz.asc ln -s source/jakarta-tomcat-connectors-jk-1.2.5-src.tar.zip jakarta-tomcat-connectors-jk-src-current.zip ln -s source/jakarta-tomcat-connectors-jk-1.2.5-src.zip.asc jakarta-tomcat-connectors-jk-src-current.zip.asc Make sure the group write bit is set on all files and directories in the jk directory. chmod -R g+w /www/www.apache.org/dist/jakarta/tomcat-connectors/jk/ Build binaries and upload distributions to www.apache.org -------------------------------------------------------------- Build mod_jk for a specific web server and OS. Package it as appropriate for the OS and sign the archive using PGP. Please include the ASF License, the generated docs, and the tools. Please name the distribuiton as follows: jakarta-tomcat-connectors-jk-{version}-{os-version-cpu}-{web server-version}.(tar.gz|zip) scp the binary distribution and pgp signature file to the appropriate binaries/{os} directory. Make sure the group write bit is on for all files you upload. Update source for next version ------------------------------ Reset JK_VERISRELEASE to 0 and update JK_VERSTRING, JK_VERMAJOR, JK_VERMINOR, and JK_VERFIX as needed. Commit your changes to CVS. Remove old release distributions from www.apache.org ---------------------------------------------------- Verify that the old versions of the source and binary distributions are available at /www/archive.apache.org/dist/jakarta/tomcat-connector/jk . Copy old source distributions and binaries as needed, then remove the old source and binary distributions. Announcements ------------- The release distribution directories are mirrored so that the releases can be downloaded from multiple sites. Please wait 24 hours before sending out the announcement so that the mirrors get a chance to get the new release distributions. Send an email announcement to announcements@jakarta.apache.org, tomcat-user@jakarta.apache.org, tomcat-dev@jakarta.apache.org, and announce@apache.org.