pazz / alot

Terminal-based Mail User Agent
GNU General Public License v3.0
696 stars 164 forks source link

notmuch dropped old python module in notmuch-0.30, fixed #1539

Open GuillaumeSeren opened 4 years ago

GuillaumeSeren commented 4 years ago

Hey, I was working on the alot-0.9.1 package for gentoo, and we discovered this issue.

https://github.com/gentoo/gentoo/pull/16680

It is explained in the release doc of notmuch https://notmuchmail.org/news/release-0.30/

Introduce new CFFI-based python bindings in the python module named "notmuch2". Officially deprecate (but still support) the older "notmuch" module.

It look like the 'still support' mean an immediate module name change, as you can see in this issue https://bugs.gentoo.org/736204

So if you confirm the issue, I can work on a patch.

pazz commented 4 years ago

Wait, no: "notmuch2" is indeed the new CFFI-based module but that is not downward compatible. ATM alot still needs the old "notmuch" module.

The notmuch2-port of alot is here: https://github.com/pazz/alot/pull/1511 (It is somewhat stalled) but needs pushing fwd. P

GuillaumeSeren commented 4 years ago

Hey @pazz thank you for the quick response.

I am not sure that the module is still in the source of the notmuch-0.30 ( but I may be wrong), it is discussed on the issue about it here https://bugs.gentoo.org/736204

For alot-0.9.1 I would like to not hard fix the dependency to ~notmuch-0.29.3, but I think I have no choice right now

ff2000 commented 4 years ago

I am not sure that the module is still in the source of the notmuch-0.30 ( but I may be wrong),

The old bindings are still in the git tree: https://git.notmuchmail.org/git?p=notmuch;a=tree;f=bindings/python;h=2143d63b3687aaee8f32fe901f20c05b836a3cd6;hb=HEAD

I also checked the source tarball: the old "notmuch" bindings are still there.

GuillaumeSeren commented 4 years ago

@ff2000 thank you for the update. That is really interresting I will investigate where the problem is.

mjg commented 3 years ago

For the record, this is solely a packaging problem.

The new bindings have a new name on purpose, they can coexist happily with the legacy bindings. Packagers can choose to package either - the best choice seems to be individual subpackages so that depending packages can depend on the needed binding only.

For a short time, gentoo shipped the new binding only, but this got fixed. The Fedora notmuch packager shipped both subpackages right from the start, of course :redhat-smiley:

So, there is no name-change to react upon and no alot bug here (porting to notmuch2 bindings notwithstanding).

GuillaumeSeren commented 3 years ago

Hey, Yes there is no module name change, there is 2 modules and the old one is still shipped by upstream, I will update the title here to be less confusing.

@mjg As long as upstream ship the old binding it is a packaging problem, but if you look at why a packager would want to remove the old binding there are good argument like 'segfaults and memory loss issues'.

So yes this module is here for now, but will be dropped at some point, so better be prepared and upgraded before this append.

pazz commented 3 years ago

Just FYI, alot is pretty much the only "major" project that still deprends on the old bindings and blocks their removal from notmuch upstream as far as I know. So once we've move to notmuch2 (hopefully very soon once these new bindings are fixed #1511) I expect notmuch to drop the old bindings.

ff2000 commented 3 years ago

@pazz I would consider afew also as major, and they still depend on the old bindings (no work done to port AFAIK).

And I thin @flub solved the problem with the leaked FDs. The notmuch2 port works fine for me. Would be great to see some testing over there (checkout https://github.com/lenormf/alot/pull/1 for the fixed port).

pazz commented 3 years ago

Yes you are right. I did not follow the developments in afew. Good point.

GuillaumeSeren commented 3 years ago

Hey @pazz @ff2000, on the afew side I opened an issue to track the progress, and we are working on it.

https://github.com/afewmail/afew/issues/278