		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

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.

