When the notmuch database needs to find gpg, have it search reasonable
paths first.
---
 lib/database.cc | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/lib/database.cc b/lib/database.cc
index 62bc6d9..d0e8800 100644
--- a/lib/database.cc
+++ b/lib/database.cc
@@ -2393,6 +2393,17 @@ _notmuch_database_link_message (notmuch_database_t 
*notmuch,
     return status;
 }
 
+static const char*
+_notmuch_database_get_gpg_path (notmuch_database_t *notmuch)
+{
+#define try_gpg_path(z) if (!access(z, X_OK)) return z
+    try_gpg_path("/usr/bin/gpg2");
+    try_gpg_path("/bin/gpg2");
+    try_gpg_path("/usr/bin/gpg");
+    try_gpg_path("/bin/gpg");
+    return NULL;
+}
+
 notmuch_private_status_t
 _notmuch_database_get_crypto_for_protocol (notmuch_database_t *notmuch,
                                           const char *protocol,
@@ -2414,7 +2425,7 @@ _notmuch_database_get_crypto_for_protocol 
(notmuch_database_t *notmuch,
             * here? how would this config get into the library?  Is
             * this an option we can set on the database object?  Or
             * elsewhere?  */
-           notmuch->gpg_crypto_ctx = g_mime_gpg_context_new (NULL, "gpg");
+           notmuch->gpg_crypto_ctx = g_mime_gpg_context_new (NULL, 
_notmuch_database_get_gpg_path(notmuch));
            if (! notmuch->gpg_crypto_ctx)
                return NOTMUCH_PRIVATE_STATUS_FAILED_CRYPTO_CONTEXT_CREATION;
 
-- 
2.6.2

_______________________________________________
notmuch mailing list
[email protected]
https://notmuchmail.org/mailman/listinfo/notmuch

Reply via email to