Author: rjung
Date: Thu Jul 26 01:25:24 2007
New Revision: 559745
URL: http://svn.apache.org/viewvc?view=rev&rev=559745
Log:
Small improvements to release script:
- move variables to top of script
- add signature validation
- add timestamp to result file name
when using local directory as source
- use functions for recurring steps
Modified:
tomcat/connectors/trunk/jk/tools/jkrelease.sh
Modified: tomcat/connectors/trunk/jk/tools/jkrelease.sh
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/tools/jkrelease.sh?view=diff&rev=559745&r1=559744&r2=559745
==============================================================================
--- tomcat/connectors/trunk/jk/tools/jkrelease.sh (original)
+++ tomcat/connectors/trunk/jk/tools/jkrelease.sh Thu Jul 26 01:25:24 2007
@@ -10,6 +10,22 @@
# gpg
# And any one of: w3m, elinks, links (links2)
+SVNROOT="http://svn.apache.org/repos/asf"
+SVNPROJ="tomcat/connectors"
+JK_CVST="tomcat-connectors"
+
+JK_OWNER="root"
+JK_GROUP="bin"
+
+COPY_TOP="KEYS LICENSE NOTICE"
+COPY_JK="BUILD.txt native jkstatus support tools xdocs"
+COPY_BUILD="docs"
+COPY_CONF="uriworkermap.properties workers.properties
workers.properties.minimal"
+
+#################### NO CHANGE BELOW THIS LINE ##############
+
+#################### FUNCTIONS ##############
+
usage() {
echo "Usage:: $0 -t VERSION [-b BRANCH | -T | -d DIR]"
echo " -t: version to package"
@@ -18,6 +34,29 @@
echo " -d: package from local directory"
}
+copy_files() {
+ src=$1
+ target=$2
+ list="$3"
+
+ mkdir -p $target
+ for item in $list
+ do
+ echo "Copying $item from $src ..."
+ cp -pr $src/$item $target/
+ done
+}
+
+sign_and_verify() {
+ item=$1
+ echo "Signing $item..."
+ gpg -ba $item
+ echo "Verifying signature for $item..."
+ gpg --verify $item.asc
+}
+
+#################### MAIN ##############
+
conflict=0
while getopts :t:b:d:T c
do
@@ -61,19 +100,6 @@
fi
fi
-SVNROOT="http://svn.apache.org/repos/asf"
-SVNPROJ="tomcat/connectors"
-JK_CVST="tomcat-connectors"
-
-JK_OWNER="root"
-JK_GROUP="bin"
-
-COPY_TOP="KEYS LICENSE NOTICE"
-COPY_JK="BUILD.txt native jkstatus support tools xdocs"
-COPY_CONF="uriworkermap.properties workers.properties
workers.properties.minimal"
-
-#################### NO CHANGE BELOW THIS LINE ##############
-
if [ -z "$tag" ]
then
usage
@@ -109,7 +135,7 @@
echo "No Revision found at '$JK_SVN_URL'"
exit 3
fi
- JK_DIST=${JK_CVST}-${tag}-dev-local-${JK_REV}-src
+ JK_DIST=${JK_CVST}-${tag}-dev-local-`date +%y%m%d%H%M%S`-${JK_REV}-src
else
JK_VER=$tag
JK_TAG=`echo $tag | sed -e 's#^#JK_#' -e 's#\.#_#g'`
@@ -135,42 +161,11 @@
ant
cd ../../..
-# Copying things into source distribution
-srcdir=${JK_DIST}.tmp
-targetdir=${JK_DIST}
-mkdir -p ${targetdir}
-for item in ${COPY_TOP}
-do
- echo "Copying $item from ${srcdir} ..."
- cp -pr ${srcdir}/$item ${targetdir}/
-done
-
-srcdir=${JK_DIST}.tmp/jk
-targetdir=${JK_DIST}
-mkdir -p ${targetdir}
-for item in ${COPY_JK}
-do
- echo "Copying $item from ${srcdir} ..."
- cp -pr ${srcdir}/$item ${targetdir}/
-done
-
-srcdir=${JK_DIST}.tmp/jk/build
-targetdir=${JK_DIST}
-mkdir -p ${targetdir}
-for item in docs
-do
- echo "Copying $item from ${srcdir} ..."
- cp -pr ${srcdir}/$item ${targetdir}/
-done
-
-srcdir=${JK_DIST}.tmp/jk/conf
-targetdir=${JK_DIST}/conf
-mkdir -p ${targetdir}
-for item in ${COPY_CONF}
-do
- echo "Copying $item from ${srcdir} ..."
- cp -pr ${srcdir}/$item ${targetdir}/
-done
+# Copying things into source the distribution
+copy_files ${JK_DIST}.tmp $JK_DIST "$COPY_TOP"
+copy_files ${JK_DIST}.tmp/jk $JK_DIST "$COPY_JK"
+copy_files ${JK_DIST}.tmp/jk/build $JK_DIST "$COPY_BUILD"
+copy_files ${JK_DIST}.tmp/jk/conf $JK_DIST/conf "$COPY_CONF"
# Remove extra directories and files
targetdir=${JK_DIST}
@@ -250,10 +245,13 @@
./buildconf.sh
cd ../../
-# Pack and sign
+# Pack
tar cfz ${JK_DIST}.tar.gz --owner="${JK_OWNER}" --group="${JK_GROUP}"
${JK_DIST}
perl ${JK_DIST}/tools/lineends.pl --cr ${JK_DIST}
zip -9 -r ${JK_DIST}.zip ${JK_DIST}
-# Create detatched signature
-gpg -ba ${JK_DIST}.tar.gz
-gpg -ba ${JK_DIST}.zip
+
+# Create detached signature and verify it
+archive=${JK_DIST}.tar.gz
+sign_and_verify $archive
+archive=${JK_DIST}.zip
+sign_and_verify $archive
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]