]> git.cworth.org Git - notmuch/commitdiff
configure: handle TEMP_GPG more robustly
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Mon, 20 May 2019 20:52:00 +0000 (16:52 -0400)
committerDavid Bremner <david@tethera.net>
Mon, 20 May 2019 21:24:15 +0000 (18:24 -0300)
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@fifthhorseman.net>
configure

index f7d37e5000a581cd8ea771592dcfdab19eea8411..474513a034c304dbf40a089090e8de6ccfe66209 100755 (executable)
--- 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"