SLING-4467 - Create a script for verifying staged IDE tooling releases

Add a check_staged_release.sh script, based on the one from the project
root.

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/tooling/ide@1706820 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/check_staged_release.sh b/check_staged_release.sh
new file mode 100755
index 0000000..80ec49e
--- /dev/null
+++ b/check_staged_release.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+VERSION=${1}
+DOWNLOAD=${2:-/tmp/sling-staging}
+mkdir ${DOWNLOAD} 2>/dev/null
+
+if [ -z "${VERSION}" -o ! -d "${DOWNLOAD}" ]
+then
+ echo "Usage: check_staged_release.sh <version> [temp-directory]"
+ exit
+fi
+
+if [ ! -e "${DOWNLOAD}/eclipse/${VERSION}" ]
+then
+ mkdir -p "${DOWNLOAD}/eclipse/${VERSION}"
+ echo "################################################################################"
+ echo "                           DOWNLOADING ARTIFACTS                                "
+ echo "################################################################################"
+
+ wget -e "robots=off" --wait 1 -nv -r -np "--reject=html,txt" "--follow-tags=" \
+  -P "${DOWNLOAD}/eclipse/${VERSION}" -nH "--cut-dirs=3" \
+  "https://dist.apache.org/repos/dist/dev/sling/ide-tooling-${VERSION}"
+
+else
+ echo "################################################################################"
+ echo "                       USING EXISTING STAGED REPOSITORY                         "
+ echo "################################################################################"
+ echo "${DOWNLOAD}/eclipse/${VERSION}"
+fi
+
+echo "################################################################################"
+echo "                          CHECK SIGNATURES AND DIGESTS                          "
+echo "################################################################################"
+
+for i in `find "${DOWNLOAD}/eclipse/${VERSION}" -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}"
+
+ for tp in md5 sha1
+ do
+   if [ ! -f "$f.$tp" ]
+   then
+     CHKSUM="----"
+   else
+     A="`cat $f.$tp 2>/dev/null`"
+     B="`openssl $tp < $f 2>/dev/null | sed 's/.*= *//' `"
+     if [ "$A" = "$B" ]; then CHKSUM="GOOD (`cat $f.$tp`)"; else CHKSUM="BAD!! : $A not equal to $B"; fi
+   fi
+   echo "$tp : ${CHKSUM}"
+ done
+
+done
+
+if [ -z "${CHKSUM}" ]; then echo "WARNING: no files found!"; fi
+
+echo "################################################################################"
+
+