SLING-8029 Retrieve gpg key automatically if it is missing in keyring
diff --git a/check_staged_release.sh b/check_staged_release.sh
index 6d9e4b5..4105bc9 100755
--- a/check_staged_release.sh
+++ b/check_staged_release.sh
@@ -31,25 +31,24 @@
 echo "                          CHECK SIGNATURES AND DIGESTS                          "
 echo "################################################################################"
 
-for i in `find "${DOWNLOAD}/${STAGING}" -type f | grep -v '\.\(asc\|sha1\|md5\|log\)$'`
+KEYSERVER="pool.sks-keyservers.net"
+
+for f in `find "${DOWNLOAD}/${STAGING}" -type f | grep -v '\.\(asc\|sha1\|md5\|log\)$'`
 do
- f=`echo $i | sed 's/\.asc$//'`
  echo "$f"
- VERIFY_RESULT_FILE="$f.asc.verify-result.log"
- gpg --verify $f.asc 2> $VERIFY_RESULT_FILE
- VERIFY_RESULT=$?
- if grep -q "Can't check signature: No public key" "$VERIFY_RESULT_FILE"; then
-   KEYID=$(cat $VERIFY_RESULT_FILE | tr '\n' ' ' | sed 's/.*using RSA key \([A-Z0-9]\{1,\}\).*/\1/') 
-   KEYSERVER="pool.sks-keyservers.net"
-   echo "Retrieving key $KEYID from $KEYSERVER"
-   gpg --keyserver $KEYSERVER --recv-keys $KEYID
-   echo "Retesting $f.asc"
-   gpg --verify $f.asc 2> $VERIFY_RESULT_FILE
-   VERIFY_RESULT=$?
+ if [[ ! "$f" =~ 'maven-metadata.xml' ]]; then
+
+   VERIFY_RESULT_FILE="$f.asc.verify-result.log"
+   gpg --auto-key-retrieve --keyserver $KEYSERVER --verify $f.asc 2> $VERIFY_RESULT_FILE
+   if [ "$?" = "0" ]; then CHKSUM="GOOD"; else 
+      CHKSUM="BAD!!!!!!!!"; 
+      echo "gpg error:"
+      cat $VERIFY_RESULT_FILE 
+   fi
+   if [ ! -f "$f.asc" ]; then CHKSUM="BAD - file $f.asc  missing"; fi
+   echo "  gpg:  ${CHKSUM}"
+
  fi
- if [ "$VERIFY_RESULT" = "0" ]; then CHKSUM="GOOD"; else CHKSUM="BAD!!!!!!!!"; fi
- if [ ! -f "$f.asc" ]; then CHKSUM="----"; fi
- echo "  gpg:  ${CHKSUM}"
 
  for tp in md5 sha1
  do