X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=scripts%2Fdebian%2Fbuildd-add-keys;h=4ded0f342ea0cf31c4bdd1b19fb123a625db99e5;hb=5ec8ebfaf6690e95ce7a7ffdcd6c298d5dceac90;hp=4cb56be8eef468ae902fd57842a9557b3ccf6d3b;hpb=1073f180f3446768d60fe4a03f88728183818bce;p=dak.git diff --git a/scripts/debian/buildd-add-keys b/scripts/debian/buildd-add-keys index 4cb56be8..4ded0f34 100755 --- a/scripts/debian/buildd-add-keys +++ b/scripts/debian/buildd-add-keys @@ -56,7 +56,7 @@ trap cleanup ERR EXIT TERM HUP INT QUIT base="${base}/scripts/builddkeyrings" INCOMING="${base}/incoming" ERRORS="${base}/errors" -ADMINS="${base}/admins" +ADMINS="${base}/adminkeys.gpg" # Default options for our gpg calls DEFGPGOPT="--no-default-keyring --batch --no-tty --no-options --exit-on-status-write-error --no-greeting" @@ -74,8 +74,8 @@ for file in $(ls -1 ${INCOMING}/*.key); do file=${file##*/} # First we want to see if we recognize the filename. The buildd people have # to follow a certain schema: - # architecture_builddname.YEAR-MONTH-DAY_HOUR:MINUTE.key - if [[ $file =~ (.*)_(.*).([0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}:[0-9]{2}).key ]]; then + # architecture_builddname.YEAR-MONTH-DAY_HOURMINUTE.key + if [[ $file =~ (.*)_(.*).([0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}[0-9]{2}).key ]]; then ARCH=${BASH_REMATCH[1]} BUILDD=${BASH_REMATCH[2]} # Right now timestamp is unused @@ -121,7 +121,7 @@ for file in $(ls -1 ${INCOMING}/*.key); do exec 5> "${GPGLOGS}" # So lets run gpg, status/logger into the two files, to "decrypt" the keyfile - if ! gpg ${DEFGPGOPT} --keyring "${ADMINS}/${ARCH}.gpg" --status-fd 4 --logger-fd 5 --decrypt "${INCOMING}/${file}" > "${GPGOUTF}"; then + if ! gpg ${DEFGPGOPT} --keyring "${ADMINS}" --status-fd 4 --logger-fd 5 --decrypt "${INCOMING}/${file}" > "${GPGOUTF}"; then ret=$? log "gpg returned with ${ret}, not adding key from file ${file}" DATE=$(date -Is) @@ -221,8 +221,9 @@ for file in $(ls -1 ${INCOMING}/*.key); do # rollover works. 3 won't, they have to rm one first # We need to check for the amount of keys ARCHKEYRING="${base}/${ARCH}/keyring.gpg" + trap - ERR EXIT TERM HUP INT QUIT - KEYNO=$(gpg ${DEFGPGOPT} --keyring "${ARCHKEYRING}" --with-colons --list-keys "buildd_${ARCH}-${BUILDD}@buildd.debian.org" | grep -c '^pub:') + KEYNO=$(gpg ${DEFGPGOPT} --keyring "${ARCHKEYRING}" --with-colons --list-keys "buildd_${ARCH}-${BUILDD}@buildd.debian.org" | grep -c '^pub:' || /bin/true ) if [ ${KEYNO} -gt 2 ]; then DATE=$(date -Is) mv "${INCOMING}/${file}" "${ERRORS}/toomany.${file}.${DATE}"