[PATCH 1/3] configure: better error handling on session key check.
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Mon May 20 13:51:59 PDT 2019
There are a few changes bundled here:
* say "No." explicitly if there's a failure.
* try to avoid implying that gpgme-config is necessary to build
notmuch itself (it's not, though it may be useful if you need to
rebuild gmime).
* leave _check_session_keys and _check_session_keys.c around if
./configure fails, so that the user can play with it more easily
for debugging.
* let error messages show when _check_session_keys.c is built.
Signed-off-by: Daniel Kahn Gillmor <dkg at fifthhorseman.net>
---
configure | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/configure b/configure
index e157aadf..7bb4625e 100755
--- a/configure
+++ b/configure
@@ -529,7 +529,7 @@ int main () {
return 0;
}
EOF
- if ${CC} ${CFLAGS} ${gmime_cflags} ${gmime_ldflags} _check_session_keys.c -o _check_session_keys > /dev/null 2>&1 \
+ if ${CC} ${CFLAGS} ${gmime_cflags} ${gmime_ldflags} _check_session_keys.c -o _check_session_keys \
&& TEMP_GPG=$(mktemp -d) \
&& GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < test/gnupg-secret-key.asc \
&& SESSION_KEY=$(GNUPGHOME=${TEMP_GPG} ./_check_session_keys) \
@@ -538,17 +538,21 @@ EOF
printf "OK.\n"
else
cat <<EOF
-
+No.
*** Error: Could not extract session keys from encrypted message.
This is likely due to your GMime having been built against a old
version of GPGME.
Please try to rebuild your version of GMime against a more recent
-version of GPGME (at least GPGME 1.8.0). Your current GPGME version
-is: $(gpgme-config --version)
+version of GPGME (at least GPGME 1.8.0).
EOF
- rm -rf _check_session_keys.c _check_session_keys "$TEMP_GPG"
+ if which gpgme-config >/dev/null; then
+ printf 'Your current GPGME development version is: %s\n' "$(gpgme-config --version)"
+ else
+ printf 'You do not have the GPGME development libraries installed.\n'
+ fi
+ rm -rf "$TEMP_GPG"
errors=$((errors + 1))
fi
else
@@ -1023,7 +1027,7 @@ for flag in -Wmissing-declarations; do
done
printf "\n\t%s\n" "${WARN_CFLAGS}"
-rm -f minimal minimal.c _libversion.c _libversion _libversion.sh
+rm -f minimal minimal.c _libversion.c _libversion _libversion.sh _check_session_keys.c _check_session_keys
# construct the Makefile.config
cat > Makefile.config <<EOF
--
2.20.1
More information about the notmuch
mailing list