Commit graph

5223 commits

Author SHA1 Message Date
Ioan-Adrian Ratiu
f2a038825b notmuch-config: replace config reading function
Config files are currently read using glib's g_key_file_load_from_file
function which is very inconvenient because it's limited by design to read
only from "regular data files" in a filesystem. Because of this limitation
notmuch can't read configs from pipes, fifos, sockets, stdin, etc. Not even
"notmuch --config=/dev/stdin" works:

Error reading configuration file /dev/stdin: Not a regular file

So replace g_key_file_load_from_file with g_key_file_load_from_data which
gives us much more freedom to read configs from multiple sources.

This also helps the more security sensitive users: If someone has private
information in the config file, it can be encrypted on disk, then decrypted
in RAM and passed through a pipe directly to notmuch without the use of
intermediate plain text files.

Signed-off-by: Ioan-Adrian Ratiu <adi@adirat.com>
2016-12-16 08:34:30 +09:00
Jani Nikula
59ec796024 cli: abstract config file reading to a separate function
Simplify and fix the coding style while at it.
2016-12-16 08:34:21 +09:00
David Bremner
5de84d0752 Merge branch 'release'
Add back in no-display parameter by hand.
2016-12-15 21:57:10 +09:00
David Bremner
e81c71639e NEWS: announce autoload fix 2016-12-15 20:24:17 +09:00
David Bremner
001256ab29 emacs: restore autoload cookie for notmuch-search
The cookie only applies to next form, so in the previous location it
applied to the put, rather than the function.
2016-12-15 20:22:34 +09:00
David Bremner
f1160fbe2c NEWS: news for notmuch-insert error handling 2016-12-15 20:21:32 +09:00
David Bremner
3d312e2577 cli/insert: document the use of EX_TEMPFAIL 2016-12-15 20:21:02 +09:00
David Bremner
71f1228a51 Merge branch 'release'
Merge changes for notmuch-insert error handling, debian bugfix release
2016-12-07 07:30:12 -04:00
David Bremner
d74c534570 cli/insert: return EX_TEMPFAIL for some errors
Attempt to distinguish between errors indicating misconfiguration or
programmer error, which we consider "permanent", in the sense that
automatic retries are unlikely to be useful, and those indicating
transient error conditions. We consider XAPIAN_EXCEPTION transient
because it covers the important special case of locking failure.
2016-12-07 07:00:40 -04:00
David Bremner
9259b97fa2 cli/insert: delay database open until after writing mail file
The idea is to get the mail written to disk, even if we can't open the
database (e.g. because some other process has a write lock, and notmuch
is compiled for non-blocking opens).
2016-12-07 07:00:40 -04:00
Tomi Ollila
27e293f653 test: gdb insert: redirect input inside gdb script
Running `gdb command < input` is not as reliable way to give input
to the command (some installations of gdb consume it). Use "set args"
gdb command to have input redirected at gdb 'run' time.
2016-12-07 07:00:39 -04:00
David Bremner
636367b4cf debian: changelog stanza for 0.23.3-3 2016-12-05 08:26:28 -04:00
David Bremner
ced03a11ef debian: disable gdb using tests on kfreebsd-*
gdb seems broken there.
2016-12-05 08:22:57 -04:00
Jani Nikula
e682c8f8f8 test: check the handling of files vanishing between scandir and indexing
Add a file for scandir to find, but use gdb to remove it before it
gets indexed.
2016-12-03 07:18:49 -04:00
David Bremner
f781b7e7d2 test: clean up corpora.email
When we renamed corpus to corpora, we missed a spot.
2016-12-03 07:16:12 -04:00
David Bremner
71012e8109 Merge branch 'release' 2016-12-01 08:57:48 -04:00
David Bremner
5bb549a361 debian: fix transition package for notmuch-emacs
The current version is more a transition to nowhere.
2016-12-01 08:21:03 -04:00
Jani Nikula
383796c325 build: update the desktop database after installing the desktop file
This makes the option to choose Notmuch as mailto: handler show up in
the desktop environment settings. Ignore errors.
2016-11-28 22:04:26 -04:00
Jani Nikula
459989b7ef build: install notmuch-emacs-mua.desktop file with emacs
There is really no need to have a separate install target for the
desktop file. Just install the desktop file with emacs, with a
configure option to opt out.
2016-11-28 22:01:45 -04:00
Tomi Ollila
ef763a9e8b doc: whitespace cleanup
In most part, our .rst documents are indented with 8 spaces instead
of tabs. Bring the rest of the lines to the same format.
Also, on one (supposedly empty) line, trailing spaces were removed.
2016-11-28 21:58:17 -04:00
David Bremner
e4164dfdc3 notmuch 0.23.3 release
-----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCAAdFiEE3VS2dnyDRXKVCQCp8gKXHaSnniwFAlg6xskACgkQ8gKXHaSn
 niwodwv/TltfFZ6t4/uaZhATj6goZ2QvOcYMQmJD/HkQZgo/9I89/flIHYbqbv3f
 0639tvtyuIEr3GIUq3basILTd6kxNenQMZQVw5mIrdIY8gJOhvlFyjAB0xmiEnks
 IjoHqKcSDxYgEvm/Uu01f6Qydazo1C4R7U2K5FbAdGxGSgjfidqi//vLd5lAe7QN
 YlujUdu9ydrU6aEycO36fMoOnBG4f6XNoimxTOne9M+MEOBmRDT7xcM6nYQUae3/
 ucQMlbPRaUvrVrMEyS8StR/hm426E+F//S8go7MnIf+oRLKNbx175rNseui4eSKz
 CpvREHus8lhfC1+EI0qwo47YFRA96P6DP1FGlF5QozB5o9AnBpE1UQTHSN3tDdWj
 vZ2JWyz/MXTUmxd9DRmxHJLucMvifRv+GD1UTVoByqw1jdTkmH8KMo6qOru2XG+4
 1sEdOI/HBbRsiF+s4vqKur3GWDWGTDuJsNS80adF+HTS0ft4pX1r+9HQY9F5utd6
 j2ZEu/nJ
 =EYjm
 -----END PGP SIGNATURE-----

Merge tag '0.23.3'

notmuch 0.23.3 release
2016-11-27 08:09:17 -04:00
David Bremner
fd7f3d0829 NEWS: fix date and title 2016-11-26 21:54:10 -04:00
David Bremner
c970de6dc5 Merge branch 'release'
Add Jani's fix for notmuch-new
2016-11-26 08:43:31 -04:00
David Bremner
94511fe1c8 NEWS: note disappearing files fix for notmuch new 2016-11-26 08:41:47 -04:00
David Bremner
fb6fd87063 NEWS: set date 2016-11-26 08:39:32 -04:00
David Bremner
7ee0220775 debian: finalize? changelog for 0.23.3-1 2016-11-26 08:38:13 -04:00
Jani Nikula
66c1bff416 notmuch.desktop: move under emacs as notmuch-emacs-mua.desktop
The notmuch.desktop file is part of notmuch-emacs. Move it under
emacs, and rename as notmuch-emacs-mua.desktop to reflect this.
2016-11-26 08:16:39 -04:00
Jani Nikula
440d24e7cc build: install notmuch-emacs-mua with notmuch-emacs
notmuch-emacs-mua is good enough to be installed with notmuch-emacs.
2016-11-26 08:16:19 -04:00
Jani Nikula
a5df39c276 notmuch-emacs-mua: add --hello parameter
If the --hello parameter is given, display the notmuch hello buffer
instead of the message composition buffer if no message composition
parameters are given.

Signed-off-by: Jani Nikula <jani@nikula.org>
2016-11-26 08:15:11 -04:00
Jani Nikula
04174cdfad emacs: move notmuch-emacs-mua under emacs
While the notmuch-emacs-mua script is a sort of cli command, it is
really a part of notmuch-emacs. Move it under the emacs directory.
2016-11-26 08:10:44 -04:00
Jani Nikula
caa9dcb707 man: advertize notmuch-emacs-mua as notmuch emacs-mua subcommand
With subcommand handling for external commands we can now hide the
implementation detail of emacs-mua being a separate notmuch-emacs-mua
script.
2016-11-26 08:09:58 -04:00
David Bremner
10f8c5d205 build/emacs: add target to create elpa package
This package can be created without emacs, but will only be usable in
versions of emacs supporting package.el
2016-11-26 07:57:58 -04:00
David Bremner
46a47f06a6 build: Move variable definitions to Makefile.global
I noticed when trying to use VERSION (and derived variables) in a
subdirectory that the top level Makefile.local needed to be included
first. But according to c10085c77b it
actually needs to be last. To break this conflict, move the variables
definitions into a new Makefile.global.
2016-11-26 07:46:42 -04:00
David Bremner
0ca7900727 cli/new: document new exit code
It seems important to give the numeric return code for people writing
scripts. Hopefully deviations from this convention are rare.
2016-11-25 22:44:05 -04:00
Jani Nikula
f5185881f7 cli: consider files vanishing during notmuch new non-fatal
If some software other than notmuch new renames or removes files
during the notmuch new scan (specifically after scandir but before
indexing the file), keep going instead of bailing out. Failing to
index the file is just a race condition between notmuch and the other
software; the rename could happen after the notmuch new scan
anyway. It's not fatal, and we'll catch the renamed files on the next
scan.

Add a new exit code for when files vanished, so the caller has a
chance to detect the race and re-run notmuch new to recover.

Reported by Paul Wise <pabs@debian.org> at
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=843127
2016-11-25 21:09:32 -04:00
David Bremner
d35c2c15f6 Merge branch 'release'
Initial set of changes for 0.23.3
2016-11-24 21:21:16 -04:00
David Bremner
3891d6cb98 debian: start changelog stanza for 0.23.3-1 2016-11-24 20:30:58 -04:00
David Bremner
805ad03317 version: bump to 0.23.3 2016-11-24 20:29:18 -04:00
David Bremner
733063c18b NEWS: note gnupg related test-suite fix 2016-11-24 20:28:27 -04:00
David Bremner
78fa7ec27b debian: disable dh_elpa_test
Currently it seems to interfere with running the notmuch test suite.
In any case we have no ert / buttercup format tests to run.
2016-11-24 20:25:35 -04:00
Daniel Kahn Gillmor
d31161c212 tests: account for varying-size cryptographic signatures
GnuPG 2.1.16 is now injecting the full issuer fingerprint in its
signatures, which makes them about 32 octets larger when
ascii-armored.

This change in size means that the size of the MIME parts will vary
depending on the version of gpg that the user has installed.  at any
rate, the signature part should be non-zero (this is true for
basically any MIME part), so we just test for that instead of an exact
size.
2016-11-24 20:22:12 -04:00
David Bremner
5188437478 notmuch 0.23.2 release
-----BEGIN PGP SIGNATURE-----
 
 iQGcBAABCAAGBQJYMZdYAAoJEPIClx2kp54sdjkL/i6LA6cEFud3boLfZbEEXON3
 fXITlETeETaITfGjPSnFl1QsdCoLU/jzQE1GmYewEJ6ain2n41PPaIHE/aZc4cyW
 G5vSbaAK5X4N1wmOcL+C5thtXTNcX2LXBpoIFtGk2Xp/g5eQey15zLqrywDOh1C+
 C/6AhgIR6hB6TElkz9/4JdJRKrA4QgF5pzOdwTZQi4JM1r+eCWknFITvFnxnVSqM
 60FjHLd47KB/GgXpwjtUROhh66JJKZ9Q2rviBcGOijmN3T1/3B/i0pjhwrZb7qgA
 gL+XDoQ2EbhiqBdYq/DCNZIETzXwv0CKNrpWlWTOPUackTJVa3gfO9GkxKUZfNT5
 1911oro+TEyod8Q2mPTrEPJRJr1/0pJ8lg8wYeLGz6LYvYHuXdiVKkLOPbxVZTrC
 wnxPI/CO7/UulsUV09XEdIPBWCWycPUOcDeF8J6/HFMD0mVku2nbA46hZdZOICC0
 KIgnPbI5W6IRbd6GQwuCdbPQFKVntKbLo/Es8xQAPQ==
 =Kv7c
 -----END PGP SIGNATURE-----

Merge tag '0.23.2'

notmuch 0.23.2 release
2016-11-20 08:50:10 -04:00
David Bremner
c9ec90ae7f NEWS: set date for release 2016-11-20 08:23:33 -04:00
Mark Walters
6d3713c981 NEWS for notmuch-cycle-notmuch-buffers 2016-11-20 08:19:15 -04:00
David Bremner
16538b6bbf NEWS: document fixes for emacs23 2016-11-20 08:19:14 -04:00
Jani Nikula
ae97630dbf build: only install known man pages
Install man pages based on $(MAN_GZIP_FILES), which directly
corresponds to the man page source rst files. This way we can filter
the man pages to be installed as needed.
2016-11-17 08:42:23 -04:00
Jani Nikula
76ab6e9962 build: generate man page list from source files, not conf.py
Use $(wildcard ...) to generate the list of man pages based on the rst
source files present in the man page directories, instead of reading
conf.py. This has three main benefits:

1) This makes the man page build slightly less complicated and easier
   to understand. At least there are fewer moving parts.

2) This makes the build fail if we add a man page rst file, but fail
   to add it to conf.py.

3) We can use Sphinx constructs in conf.py that are not available when
   importing the file into a normal python program such as
   mkdocdeps.py.
2016-11-17 08:41:24 -04:00
Jani Nikula
a7a683b120 build: do not touch roff files after sphinx-build
If Sphinx fails to create any of the roff files, having touch create
them hides the errors until someone realizes, possibly much later,
that the resulting files are empty. (Note that gzip doesn't fail on
empty input files.) Sphinx will change the timestamps of any files it
has written anyway.
2016-11-17 08:40:07 -04:00
Jani Nikula
b3eec6f948 doc: fix references in notmuch-emacs.rst
Fix make sphinx-texinfo warnings:

WARNING: undefined label: notmuch-jump (if the link has no caption the
label must precede a section header)

WARNING: undefined label: notmuch-saved-searches (if the link has no
caption the label must precede a section header)
2016-11-17 08:39:04 -04:00
Jani Nikula
c22d5d6770 doc/conf.py: include command name in texinfo document title
Seems to make more sense than to have the same title for everything.
2016-11-17 08:38:20 -04:00