diff options
author | 2018-01-31 22:16:45 -0800 | |
---|---|---|
committer | 2018-01-31 22:16:45 -0800 | |
commit | 52d5d444ffb144911ca9b6e70b383405a8bd8af6 (patch) | |
tree | f60e2aa0958342320569aa7383a0c3469a7e17ee /misc | |
parent | emerge-webrsync: uses gpg --status-fd (diff) | |
download | portage-52d5d444ffb144911ca9b6e70b383405a8bd8af6.tar.gz portage-52d5d444ffb144911ca9b6e70b383405a8bd8af6.tar.bz2 portage-52d5d444ffb144911ca9b6e70b383405a8bd8af6.zip |
emerge-delta-webrsync: uses gpg --status-fd
Diffstat (limited to 'misc')
-rwxr-xr-x | misc/emerge-delta-webrsync | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/misc/emerge-delta-webrsync b/misc/emerge-delta-webrsync index f2dc8220c..868c6a347 100755 --- a/misc/emerge-delta-webrsync +++ b/misc/emerge-delta-webrsync @@ -267,13 +267,22 @@ check_file_signature() { local signature="$1" local file="$2" local r=1 + local gnupg_status line if [[ ${WEBSYNC_VERIFY_SIGNATURE} != 0 ]] ; then __vecho "Checking signature ..." if type -P gpg > /dev/null; then - gpg --homedir "${PORTAGE_GPG_DIR}" --verify "$signature" "$file" && r=0 + if gnupg_status=$(gpg --homedir "${PORTAGE_GPG_DIR}" --batch \ + --status-fd 1 --verify "${signature}" "${file}"); then + while read -r line; do + if [[ ${line} == "[GNUPG:] GOODSIG"* ]]; then + r=0 + break + fi + done <<< "${gnupg_status}" + fi else eecho "cannot check signature: gpg binary not found" exit 1 |