Commit graph

6488 commits

Author SHA1 Message Date
David Bremner
a37d5f5976 test: Fix race condition in T568-lib-thread.sh
The assignment of thread-ids is (apparently) non-deterministic in a
way that mostly seems to show up on multicore machines. In my tests
the number is different from that previously assumed by this test
about 15% of the time on a 50 thread (25 core) Xeon.

Since message id's are fixed, use a message known to be in the thread
of interest to pick out the correct thread-id.
2021-02-18 07:15:47 -04:00
David Bremner
6db8b422d9 fix build failure with glib 2.67
Based on a patch from Michael J Gruber [1].  As of glib 2.67 (more
specifically [2]), including "gmime-extra.h" inside an extern "C"
block causes build failures, because glib is using C++ features.

Observing that "gmime-extra.h" is no longer needed in
notmuch-private.h, which can simply delete that include, but
we have to correspondingly move the includes which might include
it (in particular crypto.h) out of the extern "C" block also.

This seems less fragile than only moving gmime-extra, and relying on
preprocessor sentinels to keep the deeper includes from happening.

Move to the include to the outside of the extern block.

[1]: id:aee618a3d41f7889a7449aa16893e992325a909a.1613055071.git.git@grubix.eu
[2]: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1715
2021-02-15 16:43:50 -04:00
David Bremner
1692fe7aa8 debian: skip gdb based tests on hppa 2020-12-26 15:14:27 -04:00
David Bremner
0cd4ec8a3b Commit Debian 3.0 (quilt) metadata
[dgit (9.12) quilt-fixup]
2020-12-25 12:39:26 -04:00
David Bremner
aee34fdca3 debian: drop debian/patches
These were originally committed by git-debrebase. Unfortunately git
debrebase does not seem to like the notmuch git workflow, so giving up
on it for now.
2020-12-25 12:37:18 -04:00
David Bremner
d812256aeb debian: don't tag debian tag at release is made.
This reflects a change in the debian workflow to use dgit, which does
the tagging for us.  It also leaves room for debian specific fixups.
2020-12-25 12:28:31 -04:00
David Bremner
a103c15986 NEWS: add news for 0.31.3 2020-12-25 12:28:31 -04:00
David Bremner
784e5f4242 debian: changelog for 0.31.3-1 2020-12-25 11:49:32 -04:00
David Bremner
c7596d0e7d version: bump 0.31.3 2020-12-25 11:42:12 -04:00
David Bremner
6d5d28c593 test/T360-symbol-hiding.sh: trim extra output from readelf
readelf on (at least) ppc64le sometimes generates some extension to
the Ndx name inside '[]'. Remove this output to allow our simple
column based parsing to work.
2020-12-25 11:36:33 -04:00
Johannes Larsen
f01f6405c9 python/notmuch2: fix exclude tag handling
A typo in Database._create_query lost the exclude_tag names during the
string to utf-8 conversion.

Amended by DB: fixed patch format and updated commit message.
2020-12-25 11:25:25 -04:00
David Bremner
2702050340 lib/config: delay setting talloc destructor
If Xapian has thrown an exception, it is not safe to invoke the
destructor when freeing the list struct.

(cherry picked from commit 43ba5ed7ec)
2020-12-23 19:48:43 -04:00
David Bremner
17540b73e8 Commit Debian 3.0 (quilt) metadata
[dgit (9.12) quilt-fixup]
2020-12-13 08:25:39 -04:00
David Bremner
9ebfe9d6ca debian: changelog for 0.31.2-5 2020-12-13 08:25:29 -04:00
David Bremner
82faa059b8 test/T360-symbol-hiding: use readelf in place of nm
It turns out that using nm -P isn't as portable as hoped. In
particular with some ELF ABIs (e.g. ppc64 ELFv1), the desired symbols
end up in the data section instead of text.

The test is currently only functional on ELF based architectures, so I
think it's legit to depend on readelf instead of nm.

The switch to readelf has the advantage that we can explicitely ask
for all of the symbols with global visibility, rather than grepping
for notmuch. That seems a more robust approach since it will catch any
strangely named global symbols.
2020-12-13 08:23:42 -04:00
David Bremner
c7e1910235 Commit Debian 3.0 (quilt) metadata
[dgit (9.12) quilt-fixup]
2020-12-10 21:07:10 -04:00
David Bremner
55e2dbe0d0 debian: changelog for 0.31.2-4 2020-12-10 21:03:35 -04:00
David Bremner
ed7ca948ae build/docs: move docstring prereq to file targets
Under a sufficiently high level of parallelism [1] there seems to be a
a race condition that allows sphinx-build to start running before the
docstrings are extracted. This change moves the docstring stamp from
the phony targets sphinx-html and sphinx-info to the file targets that
they depend on. I'm not sure why this makes things better, but I am
fairly confident it does not make things worse, and experimentally it
seems to eliminate the race condition.

[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=976934
2020-12-09 21:55:38 -04:00
David Bremner
900ee94b0f debian: upload 0.31.2-3 2020-11-09 13:59:58 -04:00
David Bremner
5323fbb4ec debian: changelog for 0.31.2-2 2020-11-09 08:46:07 -04:00
David Bremner
19590605ea debian: run tests in verbose mode
A hopefully temporary change to try and debug some test failures on
autobuilders.
2020-11-09 08:44:41 -04:00
David Bremner
02a7b026d9 release: explicitely build sphinx-html
This is to force it to happen after the "make clean".
2020-11-08 13:33:08 -04:00
David Bremner
bbe6262342 NEWS: update for 0.31.2 2020-11-08 13:19:07 -04:00
David Bremner
852df1a7ef debian: remove quilt patches
These were generated by dgit due a mix up with .orig.tar.xz files.
2020-11-08 13:19:07 -04:00
David Bremner
c87dd8ab2e debian: update changelog for 0.31.2-1 2020-11-08 13:19:07 -04:00
David Bremner
6003af14c4 version: bump to 0.31.2 2020-11-08 13:19:07 -04:00
David Bremner
d824f83c6f build: change one more occurrence of 'version' to 'version.txt'.
This one disguised via tar and sed trickery.
2020-11-08 13:18:51 -04:00
David Bremner
c5504cb043 Commit Debian 3.0 (quilt) metadata
[dgit (9.12) quilt-fixup]
2020-11-08 10:08:00 -04:00
David Bremner
40b75f50be release: call python3 instead of python
Debian does not install /usr/bin/python by default any more.
2020-11-08 10:01:53 -04:00
David Bremner
8e721f12ba release: update release-checks.sh for s/version/version.txt/
Another place missed by the rename.
2020-11-08 10:00:57 -04:00
David Bremner
0e6d2876b8 debian: changelog for 0.31.1-1 2020-11-08 07:48:47 -04:00
David Bremner
87ae900f57 NEWS: add news for 0.31.1 2020-11-08 07:42:55 -04:00
David Bremner
b8a3ed175c update versions 2020-11-08 07:32:10 -04:00
David Bremner
59edcfd702 build: fix update-versions rule
This was missed in the rename of the 'version' file to version.txt
2020-11-08 07:27:48 -04:00
Ralph Seichter
981d5a0168 Rename version to version.txt
Building Notmuch on macOS is known to cause problems because the Notmuch
distribution archive contains two files named "version". These names
clash with the <version> header as defined in C++20. Therefore, the
existing naming will likely become a problem on other platforms as well,
once compilers adopt the new standard.

Signed-off-by: Ralph Seichter <github@seichter.de>
Amended-by: db s/keyword/header/ in commit message.
2020-10-30 16:14:24 -03:00
David Bremner
582e919e27 lib/config: don't set destructor until iterator is initialized.
As diagnosed by Olivier Taïbi in
id:20201027100916.emry3k2wujod4xnl@galois.lan, if an exception is
thrown while the initialization is happening (e.g. if the function is
called on a closed database), then the destructor is (sometimes)
invoked on an uninitialized Xapian object.

Solve the problem by moving the setting of the destructor until after
the placement new successfully completes. It is conceivable this might
cause a memory leak, but that seems preferable to crashing, and in any
case, there seems to be nothing better to be done if the
initialization is failing things are in an undefined state by
definition.
2020-10-29 21:13:01 -03:00
Tomi Ollila
b042a59cdf configure: replace $(realpath emacs) with $(cd emacs && pwd -P)
For portability; the realpath command (e.g. from GNU coreutils)
is not so common outside Linux systems.

The "$(cd emacs && pwd -P)" replaces that realpath(1) execution
suitably in this context (using just bash(1) builtins).
2020-10-21 07:01:37 -03:00
Tomi Ollila
bdb6956afd emacs docs: rstdoc.el: consistent single quote conversions
With text-quoting-style 'grave keeps "'" and "`" quotes unaltered
for further processing done by this code (regardless of locale...).
The tools that read the reStructuredText markup generated can do
their styling instead.

Added temporary conversions of ' and ` to \001 and \002 so that
's and `s outside of `...' and `...` are converted separately
('s restored back to ' and `s converted to \`).

Both `...' and `...` are finally "converted" to `...` (not ``...``).
https://docutils.sourceforge.io/docs/user/rst/quickref.html documents
that as `interpreted text`:

 "The rendering and meaning of interpreted text is domain- or
  application-dependent. It can be used for things like index
  entries or explicit descriptive markup (like program identifiers)."

Which looks pretty much right.
2020-10-21 06:55:39 -03:00
Tim Quelch
45193bab16 emacs: Remove notmuch-mua-message-send-hook
Currently `message-send-hook` functions are being called twice: In
notmuch send common when `notmuch-mua-send-hook` functions are
run (which by default includes `notmuch-mua-message-send-hook`) and in
`message-send` itself.

Because `message-send-hook` functions are run in `message-send` itself,
we don't need also need to run them before we delegate to `message-send`

Calling `notmuch-mua-message-send-hook` resulted in functions in
`message-send-hook` to be called twice. This causes bugs in
non-idempotent hook functions.
2020-09-19 06:49:17 -03:00
David Bremner
d127b16afe notmuch 0.31 release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEkiyHYXwaY0SiY6fqA0U5G1WqFSEFAl9UMq8ACgkQA0U5G1Wq
 FSFrzQ//SOg+QEXCtBMZxRTwCdeUwhCAznhmuQW+gD6M+/0RzgNwB+LuXrgK4E8i
 h30Veb92bLjUiGBtCVwGgQt4uQ8OFStZQQoaP/d2YDIwSj83MRyi4rEdn71afC2I
 qptFCKK+qBMMdYPojTfX6hs1LySvGmCubSwJpavcdeksFS14I4+ibRejCji7oQj0
 OkcxRSAIpOnrTpRYGOqe+I4xkTGa8H2yhsTFVjTJAEvGYHpvAPiaQj53CL3jN0jq
 PAaS+w4oJdjwtVCtjebgf5ouhDLft2vyPQrVCzjSVlOv5HoDYWocXK1Zzf1YcHRV
 m3jYn13PUiocQE+Pn/TEaI2MOI+Yl9NYT2Su1H2nvgVEyntIvPJkfBi9K30FgVpw
 UBMFMxyTNnGsIGbv6sxDOxtTWiczRT/cKGBOCabq7daHDlpCFT/pH9/7WpAu9cfk
 04gMZP1m6Q8VV8TseCmBdnRJM+x2JjVRcrRFXB5jlvGrGl+ZfaJ0CaOR0eVOSQS/
 K/YR7YIbrR8tnp/8n3g+KXUDk2Ufamy9r/h8kzVr/5G0xgfZmuVRhpn0a0fDe4D+
 rDnucuG4wlmxsWSwSDxVbYwK5LBm9qzaw9Xg7h2UsyCpKYSQgCRFmejbUTFGu6T3
 5St1V7tHj/WczQr39dYkf6soyx0CGEoGke8zSgINWHR+BCVB18Y=
 =slOY
 -----END PGP SIGNATURE-----

Merge tag '0.31' into master

notmuch 0.31 release
2020-09-05 22:27:32 -03:00
David Bremner
4175d5cb91 NEWS: set release date 2020-09-05 21:50:03 -03:00
David Bremner
0b4490c82c debian: changelog for 0.31-1 2020-09-05 21:48:27 -03:00
David Bremner
008b8b0574 version: bump to 0.31 2020-09-05 21:26:36 -03:00
Mark Walters
f43ea63953 News: add entry for unthreaded mode
A belated NEWS entry for the new un-threaded mode introduced in Notmuch
0.30.
2020-09-05 21:22:09 -03:00
David Bremner
85b5803869 test: fix syntax errors in erroring calls to notmuch insert
notmuch insert does not currently support passing a filename for the
input, so all of these tests have an extra error in addition to the
one being tested for.

Currently this does not make a difference because the error being
tested for is caught before the error of an extra command line
argument. In the future it might make a difference, and in any case it
is confusing.
2020-09-04 21:04:33 -03:00
David Bremner
81b3909509 NEWS: mention reproducibility fix 2020-08-30 08:18:47 -03:00
David Bremner
ee26cae093 NEWS: mention Emacs 27.1 compatibility fixes 2020-08-30 08:16:03 -03:00
David Bremner
c8c0304d77 version: bump to 0.31~rc2 2020-08-29 09:32:36 -03:00
David Bremner
d9385113ef debian: drop notmuch-emacs dependency package
elpa-notmuch is now present in oldstable, and we don't need to support
direct upgrades from older releases than that.
2020-08-29 09:28:36 -03:00
David Bremner
d54b7ae049 debian: suggest mailscripts
These contain several useful tools for the notmuch user, particularly
on Debian.
2020-08-29 09:28:24 -03:00