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/domhowto.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.3" /* 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.3" /* 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.3 cvs tag -b JK_1_2_3 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.3-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.3-src cp jakarta-tomcat-connectors/LICENSE jakarta-tomcat-connectors-jk-1.2.3-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.3-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.3-src Make the jk directory in the source distribution. mkdir jakarta-tomcat-connectors-jk-1.2.3-src/jk Copy the file README.txt from jakarta-tomcat-conectors/jk to the source distribution jk directory. cp -p jakarta-tomcat-connectors/jk/README.txt jakarta-tomcat-connectors-jk-1.2.3-src/jk Copy the build files to the source distribution jk directory. cp -p jakarta-tomcat-connectors/jk/build.* jakarta-tomcat-connectors-jk-1.2.3-src/jk 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.3-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.3-src/jk Copy the directory jakarta-tomcat-connectors/conf to the source distribution directory. cp -pr jakarta-tomcat-connectors/jk/conf jakarta-tomcat-connectors-jk-1.2.3-src/jk 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.3-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.3-src/jk Remove all the CVS directories from the new source distribution. find jakarta-tomcat-connectors-jk-1.2.3-src -type d -name CVS | xargs rm -rf Create a tar gzip'd archive tar zcf jakarta-tomcat-connectors-jk-1.2.3-src.tar.gz jakarta-tomcat-connectors-jk-1.2.3-src Sign the release using PGP. Here is an example using gpg: gpg -abs -o jakarta-tomcat-connectors-jk-1.2.3-src.tar.gz.asc jakarta-tomcat-connectors-jk-1.2.3-src.tar.gz Upload source distribution and documentation to daedalus.apache.org ------------------------------------------------------------------- ssh to daedalus.apache.org and create the release directory. mkdir /www/jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/jk/v1.2.3 scp jakarta-tomcat-connectors/KEYS to the release directory on daedalus. Copy a previous release directory README.html file to the new release directory and edit as necessary. Make the following directories in the release directory. mkdir bin doc rpms src Make the following directories in the bin directory. mkdir aix freebsd iseries linus macosx netware solaris6 solaris7 solaris8 win32 scp jakarta-tomcat-connectors/jk/docs to the release doc directory. scp ~/jakarta-tomcat-connectors-jk-1.2.3-src.tar.gz* to the release src directory. Make sure the group write bit is set on all files and directories in the new release directory. chmod -R g+w /www/jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/jk/v1.2.3 Build binaries and upload distributions to daedalus.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 in the archive. scp the binary distribution and pgp signature file to the appropriate bin/{os} directory. Create or modify that bin/{os} directory README.html file for the binary release. You can find previous README.html files as a template in earlier releases. 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. Announcements ------------- Send an email announcement to announcements@jakarta.apache.org, tomcat-user@jakarta.apache.org, and tomcat-dev@jakarta.apache.org.