Utility script (UNIX) to download and check the new staged repositories

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@767434 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/check_staged_release.sh b/check_staged_release.sh
new file mode 100755
index 0000000..2b3b4b7
--- /dev/null
+++ b/check_staged_release.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+STAGING=${1}
+DOWNLOAD=${2:-/tmp/felix-staging}
+mkdir ${DOWNLOAD} 2>/dev/null
+
+if [ -z "${STAGING}" -o ! -d "${DOWNLOAD}" ]
+then
+ echo "Usage: check_staged_release.sh <staging-number> [temp-directory]"
+ exit
+fi
+
+if [ ! -e "${DOWNLOAD}/${STAGING}" ]
+then
+ echo "################################################################################"
+ echo "                           DOWNLOAD STAGED REPOSITORY                           "
+ echo "################################################################################"
+
+ wget \
+  -r -np "--reject=html,txt" "--follow-tags=" \
+  -P "${DOWNLOAD}/${STAGING}" -nH "--cut-dirs=3" --ignore-length \
+  "http://repository.apache.org/content/repositories/felix-staging-${STAGING}/org/apache/felix/"
+
+else
+ echo "################################################################################"
+ echo "                       USING EXISTING STAGED REPOSITORY                         "
+ echo "################################################################################"
+ echo "${DOWNLOAD}/${STAGING}"
+fi
+
+echo "################################################################################"
+echo "                          CHECK SIGNATURES AND DIGESTS                          "
+echo "################################################################################"
+
+for i in `find "${DOWNLOAD}/${STAGING}" -type f | grep -v '\.\(asc\|sha1\|md5\)$'`
+do
+ f=`echo $i | sed 's/\.asc$//'`
+ echo "$f"
+ gpg --verify $f.asc 2>/dev/null
+ if [ "$?" = "0" ]; then CHKSUM="GOOD"; else CHKSUM="BAD!!!!!!!!"; fi
+ if [ ! -f "$f.asc" ]; then CHKSUM="----"; fi
+ echo "gpg:  ${CHKSUM}"
+ if [ "`cat $f.md5 2>/dev/null`" = "`openssl md5 < $f 2>/dev/null`" ]; then CHKSUM="GOOD"; else CHKSUM="BAD!!!!!!!!"; fi
+ if [ ! -f "$f.md5" ]; then CHKSUM="----"; fi
+ echo "md5:  ${CHKSUM}"
+ if [ "`cat $f.sha1 2>/dev/null`" = "`openssl sha1 < $f 2>/dev/null`" ]; then CHKSUM="GOOD"; else CHKSUM="BAD!!!!!!!!"; fi
+ if [ ! -f "$f.sha1" ]; then CHKSUM="----"; fi
+ echo "sha1: ${CHKSUM}"
+done
+
+if [ -z "${CHKSUM}" ]; then echo "WARNING: no files found!"; fi
+
+echo "################################################################################"
+