[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openbsd-ports
Subject:    Re: UPDATE mail/notmuch-0.31
From:       Bjorn Ketelaars <bket () openbsd ! org>
Date:       2020-10-30 18:40:28
Message-ID: 20201030184028.GA95613 () zeus ! lan
[Download RAW message or body]

On Tue 27/10/2020 08:38, Olivier Taïbi wrote:
> On Fri, Oct 16, 2020 at 01:22:32PM +0200, Bjorn Ketelaars wrote:
> > Diff below brings notmuch to 0.31. From NEWS [0]:
> > - notmuch now supports Emacs 27.1
> > - add support for moving between threads after
> > notmuch-tree-from-search-thread
> > 
> > The test suite completes with 4 failing tests, test.log attached:
> > 
> > 1210/1219 tests passed.
> > 3 broken tests failed as expected.
> > 4 tests failed.
> > 2 tests skipped.
> > All tests in 1 file skipped.
> > 
> > I'm not sure if these failures are new. Current version in ports hangs
> > during 'make test' after 'Message with quote in Message-Id:'. Probably
> > related with Emacs 27.1. Unfortunately I don't understand these failures
> > and could use some help.
> > 
> > No issues found while using this update, in combination with neomutt, on
> > amd64. Python bindings have been build tested only.
> > 
> > [0] https://notmuchmail.org/news/release-0.31/
> 
> Thanks for the diff, a few comments:
> - REVISION-main = 0 should be removed 
> - the changelog mentions "Add notmuch_message_get_flag_st and
> notmuch_message_has_maildir_flag_st, and deprecate the existing non-status
> providing versions", and OpenBSD's src/lib/check_sym confirms that
> notmuch_message_get_flag was removed.  I don't think that anything in the
> ports tree uses this symbol, but to be safe one should probably bump the
> library major number.
> - the "realpath" non-portability issue was recently fixed upstream, replacing
> "realpath emacs" by "cd emacs && pwd -P", so perhaps the same fix could be
> applied for 0.31 in ports.
> 
> About the tests:
> - I don't think that I experienced a hang in the tests in previous versions.
> - T360-symbol-hiding is just a linking (with relative path) problem, I tried
> fixing it manually (not a permanent solution) and it passed.
> - The "Yen tests" were already failing before, and are not real failures (there
> is more than one codepoint representing the Yen symbol, if I remember
> correctly one of these is fullwidth).
> - Now the segfault in "notmuch_database_get_config_list: closed db" in
> T590-libconfig is worrying.  I'll send a bug report to the notmuch mailing
> list right now.  Note that this test is new in 0.31, so that might not be a
> new problem.  Also it is unlikely to be triggered in real life (close a db and
> then try to access it) so I don't think that should be a blocker for the port.


Thanks for your feedback, and the bug report upstream. New diff below,
which I intent to commit this weekend...unless someone objects.

- Removed forgotten REVISION-main=0
- Major of shared lib has been bumped because of the removal of a symbol
  (two new symbols have been added)
- Grabbed two patches from upstream, one of them fixes the segfault that
  you have reported upstream and the other addresses the realpath
  non-portability issue
- Test T360-symbol-hiding has been fixed by a possibly ugly hack

The only tests failing are the "Yen tests", which were already failing
before.


diff --git Makefile.inc Makefile.inc
index a1a0e2c0411..e0a6a135fce 100644
--- Makefile.inc
+++ Makefile.inc
@@ -1,6 +1,6 @@
 # $OpenBSD: Makefile.inc,v 1.2 2020/08/13 18:21:18 sthen Exp $
 
-V =			0.30
+V =			0.31
 DISTNAME =		notmuch-$V
 EXTRACT_SUFX =		.tar.xz
 
diff --git notmuch/Makefile notmuch/Makefile
index dabd27a6f32..fee245de3f6 100644
--- notmuch/Makefile
+++ notmuch/Makefile
@@ -4,10 +4,9 @@ COMMENT-main =		mail indexer, tagger and threader
 COMMENT-emacs =		Emacs bindings for notmuch
 
 PKGNAME-main =		notmuch-${V}
-REVISION-main =		0
 PKGNAME-emacs =		notmuch-emacs-${V}
 
-SHARED_LIBS +=		notmuch	0.0
+SHARED_LIBS +=		notmuch	1.0
 
 MULTI_PACKAGES =	-main -emacs
 DEBUG_PACKAGES =	-main
diff --git notmuch/distinfo notmuch/distinfo
index 6acd960833a..159d653a986 100644
--- notmuch/distinfo
+++ notmuch/distinfo
@@ -1,2 +1,2 @@
-SHA256 (notmuch-0.30.tar.xz) = Xjuqb+EdZcZ+Jq5Ii+EbMguuBOM2rMnGRiH340SQlvo=
-SIZE (notmuch-0.30.tar.xz) = 711904
+SHA256 (notmuch-0.31.tar.xz) = Vx+g4VOchmErHyssgKOY4I7P71LifvfkjPjjuE+hg5Q=
+SIZE (notmuch-0.31.tar.xz) = 713144
diff --git notmuch/patches/patch-Makefile_global \
notmuch/patches/patch-Makefile_global index 7e12c72b2a3..dcbd72e8ea9 100644
--- notmuch/patches/patch-Makefile_global
+++ notmuch/patches/patch-Makefile_global
@@ -3,7 +3,7 @@ $OpenBSD: patch-Makefile_global,v 1.1.1.1 2020/05/15 08:58:14 sthen \
Exp $  Index: Makefile.global
 --- Makefile.global.orig
 +++ Makefile.global
-@@ -16,7 +16,7 @@ else
+@@ -17,7 +17,7 @@ else
  DATE:=$(shell date +%F)
  endif
  
diff --git notmuch/patches/patch-configure notmuch/patches/patch-configure
index c09b2e882cb..15ec6a3f606 100644
--- notmuch/patches/patch-configure
+++ notmuch/patches/patch-configure
@@ -1,9 +1,13 @@
 $OpenBSD: patch-configure,v 1.4 2020/10/05 19:46:17 jca Exp $
 
+The realpath command (e.g. from GNU coreutils) is not so common outside Linux
+systems. Taken from
+https://git.notmuchmail.org/git?p=notmuch;a=commitdiff;h=b042a59cdf8be7ad215268eee32d4cc114d312bb#patch1
 +
 Index: configure
 --- configure.orig
 +++ configure
-@@ -721,9 +721,9 @@ if ! pkg-config --exists zlib; then
+@@ -702,9 +702,9 @@ if ! pkg-config --exists zlib; then
    rm -f compat/gen_zlib_pc
  fi
  
@@ -15,3 +19,12 @@ Index: configure
      printf "Yes.\n"
      have_zlib=1
      zlib_cflags=$(pkg-config --cflags zlib)
+@@ -1536,7 +1536,7 @@ EOF
+     if [ $WITH_PYTHON_DOCS = "1" ]; then
+         echo "tags.add('WITH_PYTHON')"
+     fi
+-    printf "rsti_dir = '%s'\n" $(realpath emacs)
++    printf "rsti_dir = '%s'\n" "$(cd emacs && pwd -P)"
+ } > sphinx.config
+ 
+ # Finally, after everything configured, inform the user how to continue.
diff --git notmuch/patches/patch-doc_Makefile_local \
notmuch/patches/patch-doc_Makefile_local index 1cff4b01245..2066ec07b09 100644
--- notmuch/patches/patch-doc_Makefile_local
+++ notmuch/patches/patch-doc_Makefile_local
@@ -7,8 +7,8 @@ Index: doc/Makefile.local
  
  # You can set these variables from the command line.
  SPHINXOPTS    := -q
--SPHINXBUILD   = WITH_EMACS=${WITH_EMACS} RSTI_DIR=$(realpath emacs) sphinx-build
-+SPHINXBUILD   = WITH_EMACS=${WITH_EMACS} RSTI_DIR=$(realpath emacs) sphinx-build-3
+-SPHINXBUILD   = sphinx-build
++SPHINXBUILD   = sphinx-build-3
  DOCBUILDDIR      := $(dir)/_build
  
  # Internal variables.
diff --git notmuch/patches/patch-doc_conf_py notmuch/patches/patch-doc_conf_py
index a7eb543a19f..262f54889f9 100644
--- notmuch/patches/patch-doc_conf_py
+++ notmuch/patches/patch-doc_conf_py
@@ -3,7 +3,7 @@ $OpenBSD: patch-doc_conf_py,v 1.2 2020/08/13 18:21:19 sthen Exp $
 Index: doc/conf.py
 --- doc/conf.py.orig
 +++ doc/conf.py
-@@ -17,7 +17,7 @@ copyright = u'2009-2020, Carl Worth and many others'
+@@ -19,7 +19,7 @@ copyright = u'2009-2020, Carl Worth and many others'
  location = os.path.dirname(__file__)
  
  for pathdir in ['.', '..']:
diff --git notmuch/patches/patch-lib_config_cc notmuch/patches/patch-lib_config_cc
new file mode 100644
index 00000000000..a6f2d880abd
--- /dev/null
+++ notmuch/patches/patch-lib_config_cc
@@ -0,0 +1,24 @@
+$OpenBSD$
+
+Don't set destructor until iterator is initialized. Taken from
+https://nmbug.notmuchmail.org/nmweb/show/20201030001910.939645-1-david%40tethera.net
+
+Index: lib/config.cc
+--- lib/config.cc.orig
++++ lib/config.cc
+@@ -113,7 +113,6 @@ notmuch_database_get_config_list (notmuch_database_t *
+ 	goto DONE;
+     }
+ 
+-    talloc_set_destructor (list, _notmuch_config_list_destroy);
+     list->notmuch = notmuch;
+     list->current_key = NULL;
+     list->current_val = NULL;
+@@ -122,6 +121,7 @@ notmuch_database_get_config_list (notmuch_database_t *
+ 
+ 	new(&(list->iterator)) Xapian::TermIterator \
(notmuch->xapian_db->metadata_keys_begin + 							 (CONFIG_PREFIX + (prefix ? prefix \
: ""))); ++	talloc_set_destructor (list, _notmuch_config_list_destroy);
+ 
+     } catch (const Xapian::Error &error) {
+ 	_notmuch_database_log (notmuch, "A Xapian exception occurred getting metadata \
                iterator: %s.\n",
diff --git notmuch/patches/patch-notmuch-new_c notmuch/patches/patch-notmuch-new_c
index 05b307edc36..3a9ee9de9e0 100644
--- notmuch/patches/patch-notmuch-new_c
+++ notmuch/patches/patch-notmuch-new_c
@@ -6,7 +6,7 @@ when upgrading database, back up the old db without compression since
 Index: notmuch-new.c
 --- notmuch-new.c.orig
 +++ notmuch-new.c
-@@ -1148,7 +1148,7 @@ notmuch_new_command (notmuch_config_t *config, int arg
+@@ -1151,7 +1151,7 @@ notmuch_new_command (notmuch_config_t *config, int arg
  	     * relatively small. */
  
  	    const char *backup_name =
@@ -15,7 +15,7 @@ Index: notmuch-new.c
  				 dot_notmuch_path,
  				 gm_time->tm_year + 1900,
  				 gm_time->tm_mon + 1,
-@@ -1160,11 +1160,11 @@ notmuch_new_command (notmuch_config_t *config, int arg
+@@ -1163,11 +1163,11 @@ notmuch_new_command (notmuch_config_t *config, int arg
  	    if (add_files_state.verbosity >= VERBOSITY_NORMAL) {
  		printf ("Welcome to a new version of notmuch! Your database will now be \
upgraded.\n");  printf ("This process is safe to interrupt.\n");
diff --git notmuch/patches/patch-test_Makefile_local \
notmuch/patches/patch-test_Makefile_local new file mode 100644
index 00000000000..3447627c67c
--- /dev/null
+++ notmuch/patches/patch-test_Makefile_local
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Fix relative path linking issue
+
+Index: test/Makefile.local
+--- test/Makefile.local.orig
++++ test/Makefile.local
+@@ -32,7 +32,7 @@ $(dir)/random-corpus: $(random_corpus_deps)
+ $(dir)/smtp-dummy: $(smtp_dummy_modules)
+ 	$(call quiet,CC) $^ -o $@ $(LDFLAGS)
+ 
+-$(dir)/symbol-test: $(dir)/symbol-test.o lib/$(LINKER_NAME)
++$(dir)/symbol-test: $(dir)/symbol-test.o
+ 	$(call quiet,CXX) $^ -o $@ $(LDFLAGS) -Llib -lnotmuch $(XAPIAN_LDFLAGS)
+ 
+ $(dir)/parse-time: $(dir)/parse-time.o parse-time-string/parse-time-string.o
diff --git notmuch/patches/patch-test_T355-smime_sh \
notmuch/patches/patch-test_T355-smime_sh deleted file mode 100644
index 314bc8d210b..00000000000
--- notmuch/patches/patch-test_T355-smime_sh
+++ /dev/null
@@ -1,17 +0,0 @@
-$OpenBSD: patch-test_T355-smime_sh,v 1.2 2020/08/13 18:21:19 sthen Exp $
-
-OpenSSL has sha1 as default fingerprint algo
-LibreSSL has md5 as default fingerprint algo
-
-Index: test/T355-smime.sh
---- test/T355-smime.sh.orig
-+++ test/T355-smime.sh
-@@ -6,7 +6,7 @@ test_description='S/MIME signature verification and de
- test_require_external_prereq openssl
- test_require_external_prereq gpgsm
- 
--FINGERPRINT=$(openssl x509 -fingerprint -in \
                "$NOTMUCH_SRCDIR/test/smime/key+cert.pem" -noout | sed -e 's/^.*=//' \
                -e s/://g)
-+FINGERPRINT=$(openssl x509 -fingerprint -sha1 -in \
                "$NOTMUCH_SRCDIR/test/smime/key+cert.pem" -noout | sed -e 's/^.*=//' \
                -e s/://g)
- 
- add_gpgsm_home
- 
diff --git notmuch/patches/patch-test_T530-upgrade_sh \
notmuch/patches/patch-test_T530-upgrade_sh deleted file mode 100644
index ffc735de4be..00000000000
--- notmuch/patches/patch-test_T530-upgrade_sh
+++ /dev/null
@@ -1,18 +0,0 @@
-$OpenBSD: patch-test_T530-upgrade_sh,v 1.1.1.1 2020/05/15 08:58:14 sthen Exp $
-
-modify test because we don't have notmuch dump --gzip
-
-Index: test/T530-upgrade.sh
---- test/T530-upgrade.sh.orig
-+++ test/T530-upgrade.sh
-@@ -38,8 +38,8 @@ Your notmuch database has now been upgraded.
- No new mail."
- 
- test_begin_subtest "tag backup matches pre-upgrade dump"
--gunzip -c ${MAIL_DIR}/.notmuch/dump-*.gz | sort > backup-dump
--test_expect_equal_file pre-upgrade-dump backup-dump
-+<${MAIL_DIR}/.notmuch/dump-* sort > backup-dump
-+test_expect_equal_file pre-upgrade-dump backup-dump 
- 
- test_begin_subtest "folder: no longer matches in the middle of path"
- output=$(notmuch search folder:baz)
diff --git py-notmuch/distinfo py-notmuch/distinfo
index 6acd960833a..159d653a986 100644
--- py-notmuch/distinfo
+++ py-notmuch/distinfo
@@ -1,2 +1,2 @@
-SHA256 (notmuch-0.30.tar.xz) = Xjuqb+EdZcZ+Jq5Ii+EbMguuBOM2rMnGRiH340SQlvo=
-SIZE (notmuch-0.30.tar.xz) = 711904
+SHA256 (notmuch-0.31.tar.xz) = Vx+g4VOchmErHyssgKOY4I7P71LifvfkjPjjuE+hg5Q=
+SIZE (notmuch-0.31.tar.xz) = 713144


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic