[PATCH] build: Require gmime >= 2.6.7

David Bremner david at tethera.net
Sun Mar 11 18:29:46 PDT 2012


From: Thomas Jost <schnouki at schnouki.net>

gmime-2.6 had a bug [1] which made it impossible to tell why a signature
verification failed when the signer key was unavailable (empty "sigstatus" field
in the JSON output). Since 00b5623d the corresponding test is marked as broken
when using gmime-2.6 (2.4 is fine).

This bug has been fixed in gmime 2.6.5, which is now the minimal gmime-2.6
version required for building notmuch (gmime-2.4 is still available). As a
consequence the version check in test/crypto can be removed.

[Added by db]

Although less unambigously a bug, Gmime 2.6 prior to 2.6.7 also was
more strict about parsing, and rejected messages with initial "From "
headers.  This restriction is relaxed in [2].  For reasons explained in [3],
we want to keep this more relaxed parsing for now.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=668085

[2] http://git.gnome.org/browse/gmime/commit/?id=d311f576baf750476e06e9a1367a2dc1793ea7eb

[3] id:"1331385931-1610-1-git-send-email-david at tethera.net"
---

As an alternative to applying [3], I could apply this modified version of
Thomas's patch. 


 configure   |    4 +++-
 test/crypto |    2 --
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index dedb7d8..ee0ae73 100755
--- a/configure
+++ b/configure
@@ -273,9 +273,11 @@ if [ ${have_xapian} = "0" ]; then
     errors=$((errors + 1))
 fi
 
+# If using GMime 2.6, we need to have a version >= 2.6.5 to avoid a
+# crypto bug. We need 2.6.7 for permissive "From " header handling.
 printf "Checking for GMime development files... "
 have_gmime=0
-for gmimepc in gmime-2.6 gmime-2.4; do
+for gmimepc in 'gmime-2.6 >= 2.6.7' gmime-2.4; do
     if pkg-config --exists $gmimepc; then
 	printf "Yes ($gmimepc).\n"
 	have_gmime=1
diff --git a/test/crypto b/test/crypto
index 1dbb60a..6723ef8 100755
--- a/test/crypto
+++ b/test/crypto
@@ -104,8 +104,6 @@ test_expect_equal \
     "$expected"
 
 test_begin_subtest "signature verification with signer key unavailable"
-# this is broken with current versions of gmime-2.6
-(ldd $(which notmuch) | grep -Fq gmime-2.6) && test_subtest_known_broken
 # move the gnupghome temporarily out of the way
 mv "${GNUPGHOME}"{,.bak}
 output=$(notmuch show --format=json --verify subject:"test signed message 001" \
-- 
1.7.9.1



More information about the notmuch mailing list