[PATCH v2 01/15] build: drop support for gmime-2.6

Subject: [PATCH v2 01/15] build: drop support for gmime-2.6

Date: Thu, 2 May 2019 09:19:33 -0400

To: Notmuch Mail

Cc:

From: Daniel Kahn Gillmor


From: David Bremner <david@tethera.net>

GMime 3.0 is over 2 years old now, and 2.6 has been deprecated in
notmuch for about 1.5 years.

Comments and documentation no longer need to refer to GMime 2.6, so
clean them all up.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
---
 INSTALL         |  2 +-
 configure       | 24 +++++-------------------
 debian/control  |  2 +-
 mime-node.c     |  8 ++++----
 notmuch-reply.c |  6 ------
 notmuch-show.c  |  2 +-
 6 files changed, 12 insertions(+), 32 deletions(-)

diff --git a/INSTALL b/INSTALL
index 6e6f4799..f1236e71 100644
--- a/INSTALL
+++ b/INSTALL
@@ -20,7 +20,7 @@ configure stage.
 
 Dependencies
 ------------
-Notmuch depends on four libraries: Xapian, GMime 2.6,
+Notmuch depends on four libraries: Xapian, GMime 3.0,
 Talloc, and zlib which are each described below:
 
 	Xapian
diff --git a/configure b/configure
index 5e7e5aa9..e6f33575 100755
--- a/configure
+++ b/configure
@@ -489,30 +489,16 @@ EOF
     rm -rf test.db _default_backend _default_backend.cc
 fi
 
-# we need to have a version >= 2.6.5 to avoid a crypto bug. We need
-# 2.6.7 for permissive "From " header handling.
-GMIME_MINVER=2.6.7
-GMIME3_MINVER=3.0.3
+GMIME_MINVER=3.0.3
 
 printf "Checking for GMime development files... "
-if pkg-config --exists "gmime-3.0 > $GMIME3_MINVER"; then
-    printf "Yes (3.0).\n"
+if pkg-config --exists "gmime-3.0 > $GMIME_MINVER"; then
+    printf "Yes.\n"
     have_gmime=1
     gmime_cflags=$(pkg-config --cflags gmime-3.0)
     gmime_ldflags=$(pkg-config --libs gmime-3.0)
     gmime_major=3
     have_gmime_session_keys=1
-elif pkg-config --exists "gmime-2.6 >= $GMIME_MINVER"; then
-    printf "Yes (2.6).\n"
-    have_gmime=1
-    gmime_cflags=$(pkg-config --cflags gmime-2.6)
-    gmime_ldflags=$(pkg-config --libs gmime-2.6)
-    gmime_major=2
-    if pkg-config --exists "gmime-2.6 >= 2.6.21"; then
-        have_gmime_session_keys=1
-    else
-        have_gmime_session_keys=0
-    fi
 else
     have_gmime=0
     have_gmime_session_keys=0
@@ -788,7 +774,7 @@ EOF
 	echo
     fi
     if [ $have_gmime -eq 0 ]; then
-	echo "	GMime 2.6 library >= $GMIME_MINVER"
+	echo "	GMime library >= $GMIME_MINVER"
 	echo "	(including development files such as headers)"
 	echo "	https://github.com/jstedfast/gmime/"
 	echo
@@ -810,7 +796,7 @@ case a simple command will install everything you need. For example:
 
 On Debian and similar systems:
 
-	sudo apt-get install libxapian-dev libgmime-2.6-dev libtalloc-dev zlib1g-dev
+	sudo apt-get install libxapian-dev libgmime-3.0-dev libtalloc-dev zlib1g-dev
 
 Or on Fedora and similar systems:
 
diff --git a/debian/control b/debian/control
index 922f6d8c..31d6471c 100644
--- a/debian/control
+++ b/debian/control
@@ -11,7 +11,7 @@ Build-Depends:
  debhelper (>= 11~),
  pkg-config,
  libxapian-dev,
- libgmime-3.0-dev (>= 3.0.3~) | libgmime-2.6-dev (>= 2.6.7~),
+ libgmime-3.0-dev (>= 3.0.3~),
  libtalloc-dev,
  libz-dev,
  python-all (>= 2.6.6-3~),
diff --git a/mime-node.c b/mime-node.c
index 1bfb479b..053f044a 100644
--- a/mime-node.c
+++ b/mime-node.c
@@ -149,7 +149,7 @@ DONE:
     return status;
 }
 
-/* Signature list destructor (GMime 2.6) */
+/* Signature list destructor */
 static int
 _signature_list_free (GMimeSignatureList **proxy)
 {
@@ -157,7 +157,7 @@ _signature_list_free (GMimeSignatureList **proxy)
     return 0;
 }
 
-/* Set up signature list destructor (GMime 2.6) */
+/* Set up signature list destructor */
 static void
 set_signature_list_destructor (mime_node_t *node)
 {
@@ -168,7 +168,7 @@ set_signature_list_destructor (mime_node_t *node)
     }
 }
 
-/* Verify a signed mime node (GMime 2.6) */
+/* Verify a signed mime node */
 static void
 node_verify (mime_node_t *node, GMimeObject *part,
 	     g_mime_3_unused(GMimeCryptoContext *cryptoctx))
@@ -189,7 +189,7 @@ node_verify (mime_node_t *node, GMimeObject *part,
 	g_error_free (err);
 }
 
-/* Decrypt and optionally verify an encrypted mime node (GMime 2.6) */
+/* Decrypt and optionally verify an encrypted mime node */
 static void
 node_decrypt_and_verify (mime_node_t *node, GMimeObject *part,
 			 g_mime_3_unused(GMimeCryptoContext *cryptoctx))
diff --git a/notmuch-reply.c b/notmuch-reply.c
index d87ec06d..cd1b602b 100644
--- a/notmuch-reply.c
+++ b/notmuch-reply.c
@@ -325,12 +325,6 @@ add_recipients_from_message (GMimeMessage *reply,
 			     GMimeMessage *message,
 			     bool reply_all)
 {
-
-    /* There is a memory leak here with gmime-2.6 because get_sender
-     * returns a newly allocated list, while the others return
-     * references to libgmime owned data. This leak will be fixed with
-     * the transition to gmime-3.0.
-     */
     struct {
 	InternetAddressList * (*get_header)(GMimeMessage *message);
 	GMimeRecipientType recipient_type;
diff --git a/notmuch-show.c b/notmuch-show.c
index 88699e90..4ed5ff2b 100644
--- a/notmuch-show.c
+++ b/notmuch-show.c
@@ -427,7 +427,7 @@ format_signature_errors (sprinter_t *sp, GMimeSignature *signature)
 }
 #endif
 
-/* Signature status sprinter (GMime 2.6) */
+/* Signature status sprinter */
 static void
 format_part_sigstatus_sprinter (sprinter_t *sp, GMimeSignatureList *siglist)
 {
-- 
2.20.1

_______________________________________________
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch

Thread: