Re: [PATCH] build: Require gmime >= 2.6.7

Subject: Re: [PATCH] build: Require gmime >= 2.6.7

Date: Tue, 13 Mar 2012 09:56:42 +0200

To: David Bremner, notmuch@notmuchmail.org

Cc:

From: Tomi Ollila


On Sun, 11 Mar 2012 22:29:46 -0300, David Bremner <david@tethera.net> wrote:
> From: Thomas Jost <schnouki@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@tethera.net"
> ---
> 
> As an alternative to applying [3], I could apply this modified version of
> Thomas's patch. 

I propose this patch is applied. It is best to require the very latest of
gmime 2.6 version at this time (gmime 2.6 maturing...)

This will make id:"1331402091-15663-1-git-send-email-tom.prince@ualberta.net"
stale. It can be reworked by changing $IFS to something else in code.

(We might start requiring some gmime 2.4 versions to be present; For me
 some tests fail when using gmime 2.4.21 (with gmimg 2.4.25 all works ok) --
 and then Reworked Tom Prince's patch could be used to overrile this
 "restriction")

Tomi


>  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
> 
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
> 

Thread: