commit: 25accafd2e792b338dd9bc2cbeb5fdd3232062a1
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat May 25 15:51:29 2019 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat May 25 15:51:29 2019 +0000
URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=25accafd
tests/qmanifest: try and work with old gpg
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
tests/qmanifest/dotest | 28 +++++++++++++++++++++-------
1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/tests/qmanifest/dotest b/tests/qmanifest/dotest
index 549223b..a6b1431 100755
--- a/tests/qmanifest/dotest
+++ b/tests/qmanifest/dotest
@@ -50,14 +50,28 @@ mkdir "${HOME}"/.gnupg
# silence gpg warnings
chmod -R og-rwx "${HOME}"/.gnupg
+gpg_import() {
+ local key=$1
+ local pass=$2
+ local args=(
+ --batch
+ --quiet
+ --no-tty
+ --passphrase-fd 0
+ --import "${key}"
+ )
+ local killpinentry="--pinentry-mode loopback"
+
+ # see if gpg is new enough for killpinentry
+ echo "${pass}" | gpg -n ${killpinentry} "${args[@]}"
+ if [[ $? -ne 0 ]] ; then
+ echo "${pass}" | gpg "${args[@]}"
+ else
+ echo "${pass}" | gpg ${killpinentry} "${args[@]}"
+ fi
+}
# import key and sanity check
-echo qmanifest | gpg \
- --batch \
- --quiet \
- --no-tty \
- --passphrase-fd 0 \
- --pinentry-mode loopback \
- --import "${as}"/key.gpg
+gpg_import "${as}"/key.gpg qmanifest
test p6 0 "gpg --list-keys | sed '1,2d'"
# make it a fully valid tree