Re: [PATCH] debian: Add packaging for python3-notmuch2

Subject: Re: [PATCH] debian: Add packaging for python3-notmuch2

Date: Wed, 08 Jan 2020 16:58:04 -0500

To: Notmuch Mail

Cc: Antoine Beaupré

From: Daniel Kahn Gillmor


On Mon 2019-12-23 17:17:22 -0500, Daniel Kahn Gillmor wrote:
> Ship a new debian package for the notmuch2 CFFI-based Python interface
> to notmuch.
>
> Unlike the notmuch python module, the new notmuch2 module is no longer
> arch-independent, because it builds and ships a shared object in
> addition to the python code.
>
> This patch encourages new downstream development to rely on notmuch2
> instead of on notmuch, to get the benefits of the new module.
>
> I welcome any suggested improvements to this packaging, but it appears
> to me to be sufficient to get "import notmuch2" to work and do some
> basic tests.
> ---
>  debian/control | 24 +++++++++++++++++++++++-
>  debian/rules   | 11 ++++++-----
>  2 files changed, 29 insertions(+), 6 deletions(-)
>
> diff --git a/debian/control b/debian/control
> index fb2b31c1..a1371fc8 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -98,6 +98,25 @@ Depends:
>   libnotmuch5 (>= ${source:Version}),
>   ${misc:Depends},
>   ${python3:Depends},
> +Description: Python 3 legacy interface to the notmuch mail search and index library
> + Notmuch is a system for indexing, searching, reading, and tagging
> + large collections of email messages in maildir or mh format. It uses
> + the Xapian library to provide fast, full-text search with a very
> + convenient search syntax.
> + .
> + This package provides a legacy Python 3 interface to the notmuch
> + functionality, directly interfacing with a shared notmuch library.
> + .
> + New projects are encouraged to use python3-notmuch2 instead.
> +
> +Package: python3-notmuch2
> +Architecture: any
> +Section: python
> +Depends:
> + libnotmuch5 (>= ${source:Version}),
> + ${misc:Depends},
> + ${python3:Depends},
> + ${shlibs:Depends},
>  Description: Python 3 interface to the notmuch mail search and index library
>   Notmuch is a system for indexing, searching, reading, and tagging
>   large collections of email messages in maildir or mh format. It uses
> @@ -105,7 +124,10 @@ Description: Python 3 interface to the notmuch mail search and index library
>   convenient search syntax.
>   .
>   This package provides a Python 3 interface to the notmuch
> - functionality, directly interfacing with a shared notmuch library.
> + functionality using CFFI bindings, which interface with a shared
> + notmuch library.
> + .
> + This is the preferred way to use notmuch via Python.
>  
>  Package: ruby-notmuch
>  Architecture: any
> diff --git a/debian/rules b/debian/rules
> index bf9d0bbd..8de49d0f 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -1,7 +1,5 @@
>  #!/usr/bin/make -f
>  
> -export PYBUILD_NAME=notmuch
> -
>  export DEB_BUILD_MAINT_OPTIONS = hardening=+all
>  
>  %:
> @@ -19,17 +17,20 @@ override_dh_auto_configure:
>  
>  override_dh_auto_build:
>  	dh_auto_build -- V=1
> -	dh_auto_build --buildsystem=pybuild --sourcedirectory bindings/python
> +	PYBUILD_NAME=notmuch dh_auto_build --buildsystem=pybuild --sourcedirectory bindings/python
> +	PYBUILD_NAME=notmuch2 dh_auto_build --buildsystem=pybuild --sourcedirectory bindings/python-cffi
>  	$(MAKE) -C contrib/notmuch-mutt
>  
>  override_dh_auto_clean:
>  	dh_auto_clean
> -	dh_auto_clean --buildsystem=pybuild --sourcedirectory bindings/python
> +	PYBUILD_NAME=notmuch dh_auto_clean --buildsystem=pybuild --sourcedirectory bindings/python
> +	PYBUILD_NAME=notmuch2 dh_auto_clean --buildsystem=pybuild --sourcedirectory bindings/python-cffi
>  	dh_auto_clean --sourcedirectory bindings/ruby
>  	$(MAKE) -C contrib/notmuch-mutt clean
>  
>  override_dh_auto_install:
>  	dh_auto_install
> -	dh_auto_install --buildsystem=pybuild --sourcedirectory bindings/python
> +	PYBUILD_NAME=notmuch dh_auto_install --buildsystem=pybuild --sourcedirectory bindings/python
> +	PYBUILD_NAME=notmuch2 dh_auto_install --buildsystem=pybuild --sourcedirectory bindings/python-cffi
>  	$(MAKE) -C contrib/notmuch-mutt DESTDIR=$(CURDIR)/debian/tmp install
>  	dh_auto_install --sourcedirectory bindings/ruby
> -- 

Pinging on this patch as well.  If we want the notmuch2 python module to
be used, we need to get it in wider distribution.  having it installable
via "apt install python3-notmuch2" would be a good start.

Note that making this change means that the notmuch package will pass
through the NEW queue, which can take longer than we might like,
depending on the Debian FTP team's available time.  I see this as an
argument for making this change earlier, rather than later, though, so
that the NEW queue doesn't trip us up if we have a more urgent change we
want to see made later.

    --dkg
signature.asc (application/pgp-signature)
_______________________________________________
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch

Thread: