summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>2019-05-20 16:51:59 -0400
committerDavid Bremner <david@tethera.net>2019-05-20 18:17:18 -0300
commit7546fd9cf69775cc256bd9d2878b2426fe14248b (patch)
tree7e62c2953dd65fbcbf7a0be22a7fa34aa86620fe /configure
parentf4708ce0b1a8a7a4ae73b7e24768d81741f09d8c (diff)
configure: better error handling on session key check.
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@fifthhorseman.net> Amended by DB: use command -v instead of which.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure16
1 files changed, 10 insertions, 6 deletions
diff --git a/configure b/configure
index e157aadf..f7d37e50 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 command -v 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