make debian-snapshot: why --single-debian-patch?

2015-12-09 Thread Daniel Kahn Gillmor
hey notmuch folks-- if i try to do "make debian-snapshot", i see this warning: dpkg-source: info: using options from notmuch/debian/source/options: --single-debian-patch --tar-ignore --tar-ignore=performance-test/download/*.tar.xz dpkg-source: warning: --single-debian-patch is not a valid

Re: make debian-snapshot: why --single-debian-patch?

2015-12-09 Thread David Bremner
Daniel Kahn Gillmor writes: > hey notmuch folks-- > > if i try to do "make debian-snapshot", i see this warning: > > dpkg-source: info: using options from notmuch/debian/source/options: > --single-debian-patch --tar-ignore >

debian build-dependencies for testing should be marked

2015-12-09 Thread Daniel Kahn Gillmor
hi notmuch people-- debian/control's build-dependencies list a bunch of things that i think are only relevant for running the tests (e.g. dtach -- and maybe emacs and bash-completion and other packages). These should be marked so that dpkg-buildpackage can know to ignore them when trying to

Re: [PATCH v2] add notmuch.Database.get_status_string()

2015-12-09 Thread Daniel Kahn Gillmor
Sorry about the first version, which didn't handle a NULL value properly. Please only consider this v2 version. --dkg On Wed 2015-12-09 21:16:40 -0500, Daniel Kahn Gillmor wrote: > This gives some additional access to debugging information when using > the python bindings. > --- >

Re: [PATCH] configure: drop use of "pkg-config emacs"

2015-12-09 Thread David Bremner
David Bremner writes: > This does not play well with --prefix. As Tomi notes in > id:m2k2p2rwth@guru.guru-group.fi, people still have the option of e.g. > > % ./configure ---emacslispdir=`pkg-config emacs --variable sitepkglispdir` I have pushed this version

[PATCH] add notmuch.Database.get_status_string()

2015-12-09 Thread Daniel Kahn Gillmor
This gives some additional access to debugging information when using the python bindings. --- bindings/python/notmuch/database.py | 13 + 1 file changed, 13 insertions(+) diff --git a/bindings/python/notmuch/database.py b/bindings/python/notmuch/database.py index 5b58e09..5f80267

[PATCH v2] add notmuch.Database.get_status_string()

2015-12-09 Thread Daniel Kahn Gillmor
This gives some additional access to debugging information when using the python bindings. --- bindings/python/notmuch/database.py | 16 1 file changed, 16 insertions(+) diff --git a/bindings/python/notmuch/database.py b/bindings/python/notmuch/database.py index

[PATCH 8/9] add --try-decrypt to notmuch insert

2015-12-09 Thread Daniel Kahn Gillmor
allow an incoming message to be delivered while indexing the cleartext. This requires the secret keys for the message to be available. For the moment, the most functional approach is to ensure that gpg-agent is running and knows about any secret keys that might be useful to decrypt incoming

[PATCH 7/9] add a gpg_path value for notmuch_database_t

2015-12-09 Thread Daniel Kahn Gillmor
Exposing this to the user of the library lets the user point to arbitrary gpg executables when trying to decrypt. --- lib/database-private.h | 3 ++ lib/database.cc| 93 +++--- lib/notmuch.h | 31 + 3 files changed, 115

allow indexing cleartext of encrypted messages

2015-12-09 Thread Daniel Kahn Gillmor
Notmuch currently doesn't index the cleartext of encrypted mail. This is the right choice by default, because the index is basically cleartext-equivalent, and we wouldn't want every indexed mailstore to leak the contents of its encrypted mails. However, if a notmuch user has their index in a

[PATCH 1/9] reorganize indexing of multipart/signed and multipart/encrypted

2015-12-09 Thread Daniel Kahn Gillmor
This prepares the codebase for a cleaner changeset for dealing with indexing some encrypted messages in the clear. --- lib/index.cc | 38 ++ 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/lib/index.cc b/lib/index.cc index f166aef..2fa6616

[PATCH 9/9] add --try-decrypt to notmuch new

2015-12-09 Thread Daniel Kahn Gillmor
Try to decrypt newly-discovered messages while indexing them. If ~/.notmuch-config contains crypto.gpg_path, and gpg is needed, it will be used to find gpg while indexing. --- completion/notmuch-completion.bash | 2 +- doc/man1/notmuch-new.rst | 10 ++ notmuch-new.c

[PATCH 4/9] Add new n_d_add_message_try_decrypt (analogous to to n_d_add_message)

2015-12-09 Thread Daniel Kahn Gillmor
When adding a message to the database, optionally try to decrypt the message and index the cleartext. Note that when a message is retrieved from the database, it will not have this flag attached to it necessarily (though users can inspect the tags that were attached during decryption/indexing)

[PATCH 5/9] Enable cleartext indexing in python bindings

2015-12-09 Thread Daniel Kahn Gillmor
The python add_message function now includes a try_decrypt flag to permit indexing the cleartext of the mail where possible. --- bindings/python/notmuch/database.py | 22 +++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/bindings/python/notmuch/database.py

[PATCH 3/9] index encrypted parts when the message is flagged appropriately

2015-12-09 Thread Daniel Kahn Gillmor
We add a new message flag that indicates desire for indexing the cleartext of a given message. If that flag is set while indexing, we'll try to descend into it. If we can decrypt, we tag the message with index-decrypted. If we can't decrypt (or recognize the encrypted type of mail), we tag with

[PATCH 2/9] Add a lazily-initialized crypto context to notmuch_database_t

2015-12-09 Thread Daniel Kahn Gillmor
This is in large part a duplicate of parts of crypto.c, but that code is in the client (outside the library), and we don't want to entangle the libgmime API with the libnotmuch API. I welcome better proposals for how to share this code explicitly between the library and the client. ---

[PATCH 6/9] search for a reasonable gpg implementation

2015-12-09 Thread Daniel Kahn Gillmor
When the notmuch database needs to find gpg, have it search reasonable paths first. --- lib/database.cc | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/database.cc b/lib/database.cc index 62bc6d9..d0e8800 100644 --- a/lib/database.cc +++ b/lib/database.cc @@