[PATCH 2/3] configure: handle TEMP_GPG more robustly

Daniel Kahn Gillmor dkg at fifthhorseman.net
Mon May 20 13:52:00 PDT 2019


We never want ./configure to try to do something with an unassigned
variable.  So, make the directory $TEMP_GPG at the start of the
testing of session-key handling, and clean it up afterwards as long as
the directory exists.

Signed-off-by: Daniel Kahn Gillmor <dkg at fifthhorseman.net>
---
 configure | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index 7bb4625e..2531cc39 100755
--- a/configure
+++ b/configure
@@ -529,8 +529,10 @@ int main () {
     return 0;
 }
 EOF
-    if ${CC} ${CFLAGS} ${gmime_cflags} ${gmime_ldflags}  _check_session_keys.c -o _check_session_keys \
-           && TEMP_GPG=$(mktemp -d) \
+    if ! TEMP_GPG=$(mktemp -d); then
+        printf 'No.\nCould not make tempdir for testing session-key support.\n'
+        errors=$((errors + 1))
+    elif ${CC} ${CFLAGS} ${gmime_cflags} ${gmime_ldflags}  _check_session_keys.c -o _check_session_keys \
            && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < test/gnupg-secret-key.asc \
            && SESSION_KEY=$(GNUPGHOME=${TEMP_GPG} ./_check_session_keys) \
            && [ $SESSION_KEY = 9:0BACD64099D1468AB07C796F0C0AC4851948A658A15B34E803865E9FC635F2F5 ]
@@ -552,9 +554,11 @@ EOF
         else
             printf 'You do not have the GPGME development libraries installed.\n'
         fi
-        rm -rf "$TEMP_GPG"
         errors=$((errors + 1))
     fi
+    if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then
+        rm -rf "$TEMP_GPG"
+    fi
 else
     have_gmime=0
     printf "No.\n"
-- 
2.20.1



More information about the notmuch mailing list