[PATCH 4/5] debian: add python 3 bindings

Tomi Ollila tomi.ollila at iki.fi
Wed Jan 16 08:01:01 PST 2013


On Wed, Jan 16 2013, david at tethera.net wrote:

> From: David Bremner <bremner at debian.org>
>
> This patch is due to Jakub Wilk <jwilk at debian.org>.
>
> It does add a build depend on python3 for people using the "make
> debian-snapshot" target.
> ---
>  debian/changelog              |    4 +++-
>  debian/control                |   14 ++++++++++++++
>  debian/python-notmuch.install |    2 +-
>  debian/rules                  |    5 +++++
>  4 files changed, 23 insertions(+), 2 deletions(-)
>
> diff --git a/debian/changelog b/debian/changelog
> index f4925a1..40b7695 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -4,8 +4,10 @@ notmuch (0.15~rc1-1) experimental; urgency=low
>    * Change priority to optional (Closes: #687217).
>    * Remove Dm-Upload-Allowed field, as this is no longer used by
>      Debian.
> +  * Add python3 bindings, thanks to Jakub Wilk (Closes:
> +    #683515).
>  
> - -- David Bremner <bremner at debian.org>  Mon, 07 Jan 2013 21:40:52 -0400
> + -- David Bremner <bremner at debian.org>  Wed, 16 Jan 2013 08:25:02 -0400
>  
>  notmuch (0.14-1) experimental; urgency=low
>  
> diff --git a/debian/control b/debian/control
> index 75b55a5..5bb0d05 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -14,6 +14,7 @@ Build-Depends:
>   libtalloc-dev,
>   libz-dev,
>   python-all (>= 2.6.6-3~),
> + python3-all (>= 3.1.2-7~),
>   emacs23-nox | emacs23 (>=23~) | emacs23-lucid (>=23~) |
>   emacs24-nox | emacs24 (>=24~) | emacs24-lucid (>=24~),
>   gdb,
> @@ -75,6 +76,19 @@ Description: python interface to the notmuch mail search and index library
>   This package provides a Python interface to the notmuch
>   functionality, directly interfacing with a shared notmuch library.
>  
> +Package: python3-notmuch
> +Architecture: all
> +Section: python
> +Depends: ${misc:Depends}, ${python3:Depends}, libnotmuch3
> +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
> + the Xapian library to provide fast, full-text search with a very
> + convenient search syntax.
> + .
> + This package provides a Python 3 interface to the notmuch
> + functionality, directly interfacing with a shared notmuch library.
> +
>  Package: notmuch-emacs
>  Architecture: all
>  Section: mail
> diff --git a/debian/python-notmuch.install b/debian/python-notmuch.install
> index 607c065..b2cc136 100644
> --- a/debian/python-notmuch.install
> +++ b/debian/python-notmuch.install
> @@ -1 +1 @@
> -usr/lib/python*
> +usr/lib/python2*
> diff --git a/debian/rules b/debian/rules
> index 8e30353..45e970a 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -1,5 +1,7 @@
>  #!/usr/bin/make -f
>  
> +python3_all = py3versions -s | xargs -n1 | xargs -t -I {} env {}
> +

This could save 1-n fork/execve pairs (depending the number of outputs
py3versions provides). Also IMHO this is a bit more self-evident:

python3_all = py3versions -s | tr ' ' '\n' | xargs -t -I {} env {}

All of the other (drop-in) replacements are more complex, like:

python3_all = exec sh -c 'for cmd in `exec py3versions -s`; do $$cmd "$$@"' 0

.. but this (untested version) uses least number of forks & execves.

Still, maybe least amount of time wasted is to stick with
the original ;) -- but by all means, play with the options
if you wish to do so, I don't think Beijing air pollution
situation will be any better ATM whatever you do ;)

LGTM for rest of the series (too).

Tomi

>  %:
>  	dh $@ --with python2
>  
> @@ -9,13 +11,16 @@ override_dh_auto_configure:
>  override_dh_auto_build:
>  	dh_auto_build
>  	dh_auto_build --sourcedirectory bindings/python
> +	cd bindings/python && $(python3_all) setup.py build
>  	$(MAKE) -C contrib/notmuch-mutt
>  
>  override_dh_auto_clean:
>  	dh_auto_clean
>  	dh_auto_clean --sourcedirectory bindings/python
> +	cd bindings/python && $(python3_all) setup.py clean -a
>  	$(MAKE) -C contrib/notmuch-mutt clean
>  
>  override_dh_auto_install:
>  	dh_auto_install
>  	dh_auto_install --sourcedirectory bindings/python
> +	cd bindings/python && $(python3_all) setup.py install --install-layout=deb --root=$(CURDIR)/debian/tmp
> -- 
> 1.7.10.4
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list