[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