diff options
author | Allan McRae <allan@archlinux.org> | 2011-04-24 20:56:59 +1000 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-04-24 10:43:43 -0500 |
commit | 036f98575c1b57782db51c82b521d53ba1da99a1 (patch) | |
tree | e2b02031018ad173ff880bf30fdec517483359f2 | |
parent | fade60088e158c042e3a3a2c135fa067016998af (diff) |
repo-add: check for gpg early
Check for the presence of gpg as soon as we know we need it.
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | scripts/repo-add.sh.in | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index 00d3a416..80caf93b 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -195,16 +195,19 @@ db_remove_delta() return 1 } # end db_remove_delta +check_gpg() { + if ! type -p gpg >/dev/null; then + error "$(gettext "Cannot find the gpg binary! Is gnupg installed?")" + exit 1 # $E_MISSING_PROGRAM + fi +} + # sign the package database once repackaged create_signature() { (( ! SIGN )) && return local dbfile="$1" local ret=0 msg "$(gettext "Signing database...")" - if ! type -p gpg; then - error "$(gettext "Cannot find the gpg binary! Is gnupg installed?")" - exit 1 # $E_MISSING_PROGRAM - fi local SIGNWITHKEY="" if [[ -n $GPGKEY ]]; then @@ -225,10 +228,7 @@ verify_signature() { local dbfile="$1" local ret=0 msg "$(gettext "Verifying database signature...")" - if ! type -p gpg; then - error "$(gettext "Cannot find the gpg binary! Is gnupg installed?")" - exit 1 # $E_MISSING_PROGRAM - fi + if [[ ! -f $dbfile.sig ]]; then warning "$(gettext "No existing signature found, skipping verification.")" return @@ -555,6 +555,7 @@ while [[ $# > 0 ]]; do -d|--delta) DELTA=1;; -f|--files) WITHFILES=1;; -s|--sign) + check_gpg SIGN=1 if ! gpg --list-key ${GPGKEY} &>/dev/null; then if [[ ! -z $GPGKEY ]]; then @@ -566,6 +567,7 @@ while [[ $# > 0 ]]; do fi ;; -k|--key) + check_gpg shift GPGKEY="$1" if ! gpg --list-key ${GPGKEY} &>/dev/null; then @@ -573,7 +575,10 @@ while [[ $# > 0 ]]; do exit 1 fi ;; - -v|--verify) VERIFY=1;; + -v|--verify) + check_gpg + VERIFY=1 + ;; *) if [[ -z $REPO_DB_FILE ]]; then REPO_DB_FILE="$1" |