blob: 232c5cb62af9ea970ba95179657a1a60b6683de2 [file] [log] [blame]
Stuart McCulloch2dd998b2009-04-22 09:36:00 +00001#!/bin/sh
2
3STAGING=${1}
4DOWNLOAD=${2:-/tmp/felix-staging}
5mkdir ${DOWNLOAD} 2>/dev/null
6
Guillaume Nodet955a09b2009-09-07 09:36:18 +00007# The following code automatically imports the signing KEYS, but it may actually be
8# better to download them from a key server and/or let the user choose what keys
9# he wants to import.
10#wget --no-check-certificate -P "${DOWNLOAD}" http://www.apache.org/dist/felix/KEYS
11#gpg --import "${DOWNLOAD}/KEYS"
Guillaume Nodet444fba92009-09-07 09:24:22 +000012
Stuart McCulloch2dd998b2009-04-22 09:36:00 +000013if [ -z "${STAGING}" -o ! -d "${DOWNLOAD}" ]
14then
15 echo "Usage: check_staged_release.sh <staging-number> [temp-directory]"
16 exit
17fi
18
19if [ ! -e "${DOWNLOAD}/${STAGING}" ]
20then
21 echo "################################################################################"
22 echo " DOWNLOAD STAGED REPOSITORY "
23 echo "################################################################################"
24
25 wget \
26 -r -np "--reject=html,txt" "--follow-tags=" \
Guillaume Nodet444fba92009-09-07 09:24:22 +000027 -P "${DOWNLOAD}/${STAGING}" -nH "--cut-dirs=3" --ignore-length --no-check-certificate \
Guillaume Nodet12c54272009-11-17 13:18:32 +000028 "http://repository.apache.org/content/repositories/orgapachefelix-${STAGING}/org/apache/felix/"
Stuart McCulloch2dd998b2009-04-22 09:36:00 +000029
30else
31 echo "################################################################################"
32 echo " USING EXISTING STAGED REPOSITORY "
33 echo "################################################################################"
34 echo "${DOWNLOAD}/${STAGING}"
35fi
36
37echo "################################################################################"
38echo " CHECK SIGNATURES AND DIGESTS "
39echo "################################################################################"
40
41for i in `find "${DOWNLOAD}/${STAGING}" -type f | grep -v '\.\(asc\|sha1\|md5\)$'`
42do
43 f=`echo $i | sed 's/\.asc$//'`
44 echo "$f"
45 gpg --verify $f.asc 2>/dev/null
46 if [ "$?" = "0" ]; then CHKSUM="GOOD"; else CHKSUM="BAD!!!!!!!!"; fi
47 if [ ! -f "$f.asc" ]; then CHKSUM="----"; fi
48 echo "gpg: ${CHKSUM}"
49 if [ "`cat $f.md5 2>/dev/null`" = "`openssl md5 < $f 2>/dev/null`" ]; then CHKSUM="GOOD"; else CHKSUM="BAD!!!!!!!!"; fi
50 if [ ! -f "$f.md5" ]; then CHKSUM="----"; fi
51 echo "md5: ${CHKSUM}"
52 if [ "`cat $f.sha1 2>/dev/null`" = "`openssl sha1 < $f 2>/dev/null`" ]; then CHKSUM="GOOD"; else CHKSUM="BAD!!!!!!!!"; fi
53 if [ ! -f "$f.sha1" ]; then CHKSUM="----"; fi
54 echo "sha1: ${CHKSUM}"
55done
56
57if [ -z "${CHKSUM}" ]; then echo "WARNING: no files found!"; fi
58
59echo "################################################################################"
60