Your message dated Wed, 6 Jun 2012 16:14:08 -0400
with message-id <[email protected]>
and subject line Re: Bug#675520: mpi4py: New upstream version (1.3)
has caused the Debian Bug report #673911,
regarding mpi4py: Python 3 package (python3-mpi4py)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
673911: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=673911
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: mpi4py
Severity: wishlist
Tags: patch

Dear Maintainer,

Attached you'll find a short patch series, which:
* Changes the build system to dh_python2
* Adds Python 3 support

-- System Information:
Debian Release: wheezy/sid
  APT prefers precise-security
  APT policy: (990, 'precise-security'), (900, 'precise-updates'), (500, 
'precise'), (400, 'precise-proposed')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-24-generic (SMP w/16 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
>From ba056d82b4e2d9c359dbbd9893a92929571934bf Mon Sep 17 00:00:00 2001
From: "Bradley M. Froehle" <[email protected]>
Date: Mon, 21 May 2012 17:02:32 -0700
Subject: [PATCH 1/2] Build using dh_python2

---
 debian/changelog             |    6 ++++++
 debian/control               |    6 ++----
 debian/python-mpi4py.install |    4 ++++
 debian/rules                 |   27 ++++++++++++++++++---------
 4 files changed, 30 insertions(+), 13 deletions(-)
 create mode 100644 debian/python-mpi4py.install

diff --git a/debian/changelog b/debian/changelog
index 43445ff..20b231e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mpi4py (1.2.2-4) unstable; urgency=low
+
+  * Build using dh_python2
+
+ -- Bradley M. Froehle <[email protected]>  Mon, 21 May 2012 16:59:06 -0700
+
 mpi4py (1.2.2-3) unstable; urgency=low
 
   [ Bradley M. Froehle ]
diff --git a/debian/control b/debian/control
index 44fb7b5..cfe1e37 100644
--- a/debian/control
+++ b/debian/control
@@ -6,11 +6,10 @@ Uploaders: Yaroslav Halchenko <[email protected]>, Michael Hanke <michael.ha
 Build-Depends: debhelper (>= 7.0.50~),
                mpi-default-dev, mpi-default-bin,
                rsh-client | openssh-client,
-               python-all-dev,
+               python-all-dev (>= 2.6.6-3~),
                python-numpy,
                python-sphinx,
                python-nose,
-               python-support,
 Standards-Version: 3.9.2
 Homepage: http://code.google.com/p/mpi4py/
 Vcs-Git: git://git.debian.org/git/pkg-exppsy/mpi4py.git
@@ -37,8 +36,7 @@ Description: bindings of the Message Passing Interface (MPI) standard
 Package: python-mpi4py-dbg
 Section: debug
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
-         python-mpi4py (= ${binary:Version})
+Depends: ${misc:Depends}, python-mpi4py (= ${binary:Version})
 Description: bindings of the MPI standard -- debug symbols
  MPI for Python (mpi4py) provides bindings of the Message Passing
  Interface (MPI) standard for the Python programming language,
diff --git a/debian/python-mpi4py.install b/debian/python-mpi4py.install
new file mode 100644
index 0000000..3cebe92
--- /dev/null
+++ b/debian/python-mpi4py.install
@@ -0,0 +1,4 @@
+usr/lib/python2*/*-packages/*/*[!_][!_].so
+usr/lib/python2*/*-packages/*/*.py
+usr/lib/python2*/*-packages/*.egg-info
+usr/lib/python2*/*-packages/mpi4py/include/
diff --git a/debian/rules b/debian/rules
index 84eb3fe..ee11234 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,14 +2,14 @@
 # -*- makefile -*-
 
 PYVER = $(shell pyversions -d -v)
-PYVERS = $(shell pyversions -r -v)
+PY2VERS = $(shell pyversions -vr)
 
 # Enforce use of openmpi only for now,
 # could be overriden from commandline as necessary
 MPI=.openmpi
 
 %:
-	dh --buildsystem=python_distutils $@
+	dh $@ --with python2 --buildsystem=python_distutils
 
 # Enforce distutils build system to build for all supported versions
 # then build documentation
@@ -23,12 +23,23 @@ override_dh_auto_build:
 	: # objects inventory is of no use for the package
 	-rm docs/source/usrman/build/html/objects.inv
 
-override_dh_auto_install:
-	dh_auto_install --destdir=debian/python-mpi4py $@
+override_dh_install:
+	dh_install
+
+	: # create symlinks for .h files
+	for i in $(PY2VERS); do \
+	[ -d $(CURDIR)/debian/python-mpi4py/usr/include/python$$i ] || \
+		mkdir -p $(CURDIR)/debian/python-mpi4py/usr/include/python$$i; \
+		dh_link usr/lib/python$$i/dist-packages/mpi4py/include/mpi4py usr/include/python$$i/mpi4py; \
+	done
+
+	: # share -dbg and normal package doc dirs
+	rm -rf debian/python-mpi4py-dbg/usr/share/doc/python-mpi4py-dbg
+	dh_link -ppython-mpi4py-dbg usr/share/doc/python-mpi4py usr/share/doc/python-mpi4py-dbg
 
 override_dh_auto_test:
 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-	for P in $(PYVERS); do \
+	for P in $(PY2VERS); do \
 	 PYTHONPATH=`/bin/ls -d $(CURDIR)/build/lib.*-$$P` \
 	  /usr/bin/python$$P /usr/bin/nosetests -v -w test --exclude='test(PackUnpackExternal|FreePredefined)'; \
 	done
@@ -37,9 +48,7 @@ else
 endif
 
 override_dh_strip:
-	dh_strip --dbg-package=python-mpi4py-dbg
-	mv debian/python-mpi4py-dbg/usr/lib/debug/usr/lib/pyshared \
-	   debian/python-mpi4py-dbg/usr/lib/debug/usr/lib/pymodules
+	dh_strip -ppython-mpi4py --dbg-package=python-mpi4py-dbg
 
 override_dh_installchangelogs:
 	dh_installchangelogs HISTORY.txt
@@ -50,4 +59,4 @@ override_dh_compress:
 
 override_dh_auto_clean:
 	dh_auto_clean $@
-	rm -rf docs/source/usrman/build
+	rm -rf `find -name build -type d`
-- 
1.7.10

>From 48133c82d97f79622294997c7851487d394b0cab Mon Sep 17 00:00:00 2001
From: "Bradley M. Froehle" <[email protected]>
Date: Mon, 21 May 2012 17:08:21 -0700
Subject: [PATCH 2/2] Add package for Python 3

---
 debian/changelog              |    3 ++-
 debian/control                |   40 ++++++++++++++++++++++++++++++++++++++++
 debian/python3-mpi4py.install |    3 +++
 debian/rules                  |   28 +++++++++++++++++++++++++++-
 4 files changed, 72 insertions(+), 2 deletions(-)
 create mode 100644 debian/python3-mpi4py.install

diff --git a/debian/changelog b/debian/changelog
index 20b231e..4a274dc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,9 @@
 mpi4py (1.2.2-4) unstable; urgency=low
 
   * Build using dh_python2
+  * Add package for Python 3
 
- -- Bradley M. Froehle <[email protected]>  Mon, 21 May 2012 16:59:06 -0700
+ -- Bradley M. Froehle <[email protected]>  Mon, 21 May 2012 17:04:38 -0700
 
 mpi4py (1.2.2-3) unstable; urgency=low
 
diff --git a/debian/control b/debian/control
index cfe1e37..6a4f376 100644
--- a/debian/control
+++ b/debian/control
@@ -10,6 +10,9 @@ Build-Depends: debhelper (>= 7.0.50~),
                python-numpy,
                python-sphinx,
                python-nose,
+               python3-all-dev,
+               python3-numpy,
+               python3-nose,
 Standards-Version: 3.9.2
 Homepage: http://code.google.com/p/mpi4py/
 Vcs-Git: git://git.debian.org/git/pkg-exppsy/mpi4py.git
@@ -52,6 +55,43 @@ Description: bindings of the MPI standard -- debug symbols
  .
  This package provides debug symbols.
 
+Package: python3-mpi4py
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}
+Recommends: mpi-default-bin
+Suggests: python3-numpy
+Description: bindings of the Message Passing Interface (MPI) standard
+ MPI for Python (mpi4py) provides bindings of the Message Passing
+ Interface (MPI) standard for the Python programming language,
+ allowing any Python program to exploit multiple processors.
+ .
+ mpi4py is constructed on top of the MPI-1/MPI-2 specification
+ and provides an object oriented interface which closely follows MPI-2
+ C++ bindings.  It supports point-to-point (sends, receives) and
+ collective (broadcasts, scatters, gathers) communications of any
+ picklable Python object as well as optimized communications of Python
+ object exposing the single-segment buffer interface (NumPy arrays,
+ builtin bytes/string/array objects).
+
+Package: python3-mpi4py-dbg
+Section: debug
+Architecture: any
+Depends: ${misc:Depends}, python3-mpi4py (= ${binary:Version})
+Description: bindings of the MPI standard -- debug symbols
+ MPI for Python (mpi4py) provides bindings of the Message Passing
+ Interface (MPI) standard for the Python programming language,
+ allowing any Python program to exploit multiple processors.
+ .
+ mpi4py is constructed on top of the MPI-1/MPI-2 specification
+ and provides an object oriented interface which closely follows MPI-2
+ C++ bindings.  It supports point-to-point (sends, receives) and
+ collective (broadcasts, scatters, gathers) communications of any
+ picklable Python object as well as optimized communications of Python
+ object exposing the single-segment buffer interface (NumPy arrays,
+ builtin bytes/string/array objects).
+ .
+ This package provides debug symbols.
+
 Package: python-mpi4py-doc
 Section: doc
 Architecture: all
diff --git a/debian/python3-mpi4py.install b/debian/python3-mpi4py.install
new file mode 100644
index 0000000..c177ff5
--- /dev/null
+++ b/debian/python3-mpi4py.install
@@ -0,0 +1,3 @@
+usr/lib/python3*/*-packages/*/*.cpython-3?[!d]*.so
+usr/lib/python3*/*-packages/mpi4py/*.py
+usr/lib/python3*/*-packages/mpi4py/include/
diff --git a/debian/rules b/debian/rules
index ee11234..9468568 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,19 +3,27 @@
 
 PYVER = $(shell pyversions -d -v)
 PY2VERS = $(shell pyversions -vr)
+PY3VERS = $(shell py3versions -vr)
 
 # Enforce use of openmpi only for now,
 # could be overriden from commandline as necessary
 MPI=.openmpi
 
 %:
-	dh $@ --with python2 --buildsystem=python_distutils
+	dh $@ --with python2,python3 --buildsystem python_distutils
 
 # Enforce distutils build system to build for all supported versions
 # then build documentation
 override_dh_auto_build:
 	dh_auto_build $@ -- \
 		--mpicc=/usr/bin/mpicc$(MPI) --mpicxx=/usr/bin/mpicxx$(MPI)
+
+	: # Build for Python 3
+	for v in $(PY3VERS); do \
+		python$$v setup.py build \
+			--mpicc=/usr/bin/mpicc$(MPI) --mpicxx=/usr/bin/mpicxx$(MPI); \
+	done
+
 	: # Build documentation now
 	PYTHONPATH=`/bin/ls -d $(CURDIR)/build/lib.*$(PYVER)` \
 	 make -C docs/source/usrman/ html
@@ -23,6 +31,14 @@ override_dh_auto_build:
 	: # objects inventory is of no use for the package
 	-rm docs/source/usrman/build/html/objects.inv
 
+override_dh_auto_install:
+	dh_auto_install
+
+	: # Install for Python 3
+	for v in $(PY3VERS); do \
+		python$$v setup.py install  --root=$(CURDIR)/debian/tmp --install-layout=deb; \
+	done
+
 override_dh_install:
 	dh_install
 
@@ -33,9 +49,18 @@ override_dh_install:
 		dh_link usr/lib/python$$i/dist-packages/mpi4py/include/mpi4py usr/include/python$$i/mpi4py; \
 	done
 
+	: # Python 3
+	for i in $(PY3VERS); do \
+	[ -d $(CURDIR)/debian/python3-mpi4py/usr/include/python$$i ] || \
+		mkdir -p $(CURDIR)/debian/python3-mpi4py/usr/include/python$$i; \
+		dh_link -ppython3-mpi4py usr/lib/python$$i/dist-packages/mpi4py/include/mpi4py usr/include/python$$i/mpi4py; \
+	done
+
 	: # share -dbg and normal package doc dirs
 	rm -rf debian/python-mpi4py-dbg/usr/share/doc/python-mpi4py-dbg
 	dh_link -ppython-mpi4py-dbg usr/share/doc/python-mpi4py usr/share/doc/python-mpi4py-dbg
+	rm -rf debian/python3-mpi4py-dbg/usr/share/doc/python3-mpi4py-dbg
+	dh_link -ppython3-mpi4py-dbg usr/share/doc/python3-mpi4py usr/share/doc/python3-mpi4py-dbg
 
 override_dh_auto_test:
 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
@@ -49,6 +74,7 @@ endif
 
 override_dh_strip:
 	dh_strip -ppython-mpi4py --dbg-package=python-mpi4py-dbg
+	dh_strip -ppython3-mpi4py --dbg-package=python3-mpi4py-dbg
 
 override_dh_installchangelogs:
 	dh_installchangelogs HISTORY.txt
-- 
1.7.10


--- End Message ---
--- Begin Message ---
Version: 1.2.2-4

if you are against -- I am against too ;)

so, ok -- I will try to upload (injecting Closes: statements now and we
forgot about closing
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=673911 
with 1.2.2-4 (doing with this email)

also will close your
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=670768
with boosted mpi-default-bin into the depends

On Wed, 06 Jun 2012, Bradley M. Froehle wrote:

>    Great! �I (force) pushed the change to the branches
>    at�[1]https://github.com/bfroehle/debian-mpi4py
>    I think I'm still against including the python-mpi binaries, but if we
>    wanted to use that branch we would also need to write up a quick man page.
>    -Brad

> References

>    Visible links
>    1. https://github.com/bfroehle/debian-mpi4py

-- 
Yaroslav O. Halchenko
Postdoctoral Fellow,   Department of Psychological and Brain Sciences
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419
WWW:   http://www.linkedin.com/in/yarik        


--- End Message ---

Reply via email to