The attached QA upload patch replaces the build dependencies on LAM and MPICH1
with OpenMPI (appropriate architectures only) and MPICH2, renaming binaries and
packages accordingly.  It also breaks a circular dependency between
python-scientific and python-netcdf.

-- 
Nicholas Breen
nbr...@ofb.net
diff -Nru python-scientific-2.8_orig//debian/changelog python-scientific-2.8//debian/changelog
--- python-scientific-2.8_orig//debian/changelog	2011-05-09 17:22:00.000000000 -0700
+++ python-scientific-2.8//debian/changelog	2011-05-10 14:35:47.269896493 -0700
@@ -1,3 +1,13 @@
+python-scientific (2.8-3) unstable; urgency=low
+
+  * QA upload.
+  * Replace EOLed MPI implementations (LAM, MPICH1) with actively maintained
+    implementations (OpenMPI, MPICH2).  (Closes: #571452)
+  * Break python-scientific/python-netcdf circular dependency by changing p-s
+    to Recommend p-n.
+
+ -- Nicholas Breen <nbr...@ofb.net>  Tue, 10 May 2011 14:33:35 -0700
+
 python-scientific (2.8-2) unstable; urgency=low
 
   * Orphan the package.
diff -Nru python-scientific-2.8_orig//debian/control python-scientific-2.8//debian/control
--- python-scientific-2.8_orig//debian/control	2011-05-09 17:22:00.000000000 -0700
+++ python-scientific-2.8//debian/control	2011-05-10 14:36:07.820078624 -0700
@@ -4,12 +4,12 @@
 Maintainer: Debian QA Group <packa...@qa.debian.org>
 Standards-Version: 3.9.2
 XS-Python-Version: all
-Build-Depends: debhelper (>= 5.0.37.1), python-all-dev (>= 2.6.6-12), libnetcdf-dev, python-numpy, libmpich1.0-dev, lam4-dev
+Build-Depends: debhelper (>= 5.0.37.1), python-all-dev (>= 2.6.6-12), libnetcdf-dev, python-numpy, libmpich2-dev, libopenmpi-dev [alpha amd64 i386 ia64 powerpc sparc kfreebsd-i386 kfreebsd-amd64 hurd-i386]
 
 Package: python-scientific
 Architecture: all
-Depends: ${python:Depends}, python-numpy, python-netcdf (>= 2.4.11), ${misc:Depends}
-Recommends: python-tk (>= 2.4.3), pyro
+Depends: ${python:Depends}, python-numpy, ${misc:Depends}
+Recommends: python-netcdf (>= 2.4.11), python-tk (>= 2.4.3), pyro
 Suggests: python-scientific-doc
 Provides: ${python:Provides}
 XB-Python-Version: ${python:Versions}
@@ -49,20 +49,20 @@
  The package provides MPI (Message Passing Interface, message-based
  parallel programming) support for Python.
 
-Package: mpichpython
+Package: mpich2python
 Architecture: any
 Depends: ${python:Depends}, python-mpi (>= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
 Conflicts: python-mpi (<< 2.4.3-3)
 Provides: mpipython
-Description: MPI-enhanced Python interpreter (MPICH based version)
+Description: MPI-enhanced Python interpreter (MPICH2 based version)
  The package provides a python interpreter with MPI (Message Passing Interface,
  message-based parallel programming) support.
 
-Package: lampython
-Architecture: any
+Package: openmpipython
+Architecture: alpha amd64 i386 ia64 powerpc sparc kfreebsd-i386 kfreebsd-amd64 hurd-i386
 Priority: extra
-Depends: ${python:Depends}, python-mpi (>= ${source:Version}), lam-runtime, ${shlibs:Depends}, ${misc:Depends}
+Depends: ${python:Depends}, python-mpi (>= ${source:Version}), openmpi-bin, ${shlibs:Depends}, ${misc:Depends}
 Provides: mpipython
-Description: MPI-enhanced Python interpreter (LAM based version)
+Description: MPI-enhanced Python interpreter (OpenMPI based version)
  The package provides a python interpreter with MPI (Message Passing Interface,
  message-based parallel programming) support.
diff -Nru python-scientific-2.8_orig//debian/lampython.postinst python-scientific-2.8//debian/lampython.postinst
--- python-scientific-2.8_orig//debian/lampython.postinst	2011-05-09 17:22:00.000000000 -0700
+++ python-scientific-2.8//debian/lampython.postinst	1969-12-31 16:00:00.000000000 -0800
@@ -1,10 +0,0 @@
-#! /bin/sh -e
-
-update-alternatives \
-    --install /usr/bin/mpipython mpipython /usr/bin/mpipython.lam 30 \
-    --slave /usr/share/man/man1/mpipython.1.gz mpipython.1.gz \
-	/usr/share/man/man1/mpipython.lam.1.gz
-
-#DEBHELPER#
-
-exit 0
diff -Nru python-scientific-2.8_orig//debian/lampython.prerm python-scientific-2.8//debian/lampython.prerm
--- python-scientific-2.8_orig//debian/lampython.prerm	2011-05-09 17:22:00.000000000 -0700
+++ python-scientific-2.8//debian/lampython.prerm	1969-12-31 16:00:00.000000000 -0800
@@ -1,9 +0,0 @@
-#! /bin/sh -e
-
-if [ "$1" != "upgrade" ]; then
-    update-alternatives --remove mpipython /usr/bin/mpipython.lam
-fi
-
-#DEBHELPER#
-
-exit 0
diff -Nru python-scientific-2.8_orig//debian/mpich2python.postinst python-scientific-2.8//debian/mpich2python.postinst
--- python-scientific-2.8_orig//debian/mpich2python.postinst	1969-12-31 16:00:00.000000000 -0800
+++ python-scientific-2.8//debian/mpich2python.postinst	2011-05-10 14:32:49.184359230 -0700
@@ -0,0 +1,10 @@
+#! /bin/sh -e
+
+update-alternatives \
+    --install /usr/bin/mpipython mpipython /usr/bin/mpipython.mpich2 10 \
+    --slave /usr/share/man/man1/mpipython.1.gz mpipython.1.gz \
+	/usr/share/man/man1/mpipython.mpich2.1.gz
+
+#DEBHELPER#
+
+exit 0
diff -Nru python-scientific-2.8_orig//debian/mpich2python.prerm python-scientific-2.8//debian/mpich2python.prerm
--- python-scientific-2.8_orig//debian/mpich2python.prerm	1969-12-31 16:00:00.000000000 -0800
+++ python-scientific-2.8//debian/mpich2python.prerm	2011-05-10 14:32:54.999408236 -0700
@@ -0,0 +1,9 @@
+#! /bin/sh -e
+
+if [ "$1" != "upgrade" ]; then
+    update-alternatives --remove mpipython /usr/bin/mpipython.mpich2
+fi
+
+#DEBHELPER#
+
+exit 0
diff -Nru python-scientific-2.8_orig//debian/mpichpython.postinst python-scientific-2.8//debian/mpichpython.postinst
--- python-scientific-2.8_orig//debian/mpichpython.postinst	2011-05-09 17:22:00.000000000 -0700
+++ python-scientific-2.8//debian/mpichpython.postinst	1969-12-31 16:00:00.000000000 -0800
@@ -1,10 +0,0 @@
-#! /bin/sh -e
-
-update-alternatives \
-    --install /usr/bin/mpipython mpipython /usr/bin/mpipython.mpich 10 \
-    --slave /usr/share/man/man1/mpipython.1.gz mpipython.1.gz \
-	/usr/share/man/man1/mpipython.mpich.1.gz
-
-#DEBHELPER#
-
-exit 0
diff -Nru python-scientific-2.8_orig//debian/mpichpython.prerm python-scientific-2.8//debian/mpichpython.prerm
--- python-scientific-2.8_orig//debian/mpichpython.prerm	2011-05-09 17:22:00.000000000 -0700
+++ python-scientific-2.8//debian/mpichpython.prerm	1969-12-31 16:00:00.000000000 -0800
@@ -1,9 +0,0 @@
-#! /bin/sh -e
-
-if [ "$1" != "upgrade" ]; then
-    update-alternatives --remove mpipython /usr/bin/mpipython.mpich
-fi
-
-#DEBHELPER#
-
-exit 0
diff -Nru python-scientific-2.8_orig//debian/openmpipython.postinst python-scientific-2.8//debian/openmpipython.postinst
--- python-scientific-2.8_orig//debian/openmpipython.postinst	1969-12-31 16:00:00.000000000 -0800
+++ python-scientific-2.8//debian/openmpipython.postinst	2011-05-10 14:30:32.297229573 -0700
@@ -0,0 +1,10 @@
+#! /bin/sh -e
+
+update-alternatives \
+    --install /usr/bin/mpipython mpipython /usr/bin/mpipython.openmpi 30 \
+    --slave /usr/share/man/man1/mpipython.1.gz mpipython.1.gz \
+	/usr/share/man/man1/mpipython.openmpi.1.gz
+
+#DEBHELPER#
+
+exit 0
diff -Nru python-scientific-2.8_orig//debian/openmpipython.prerm python-scientific-2.8//debian/openmpipython.prerm
--- python-scientific-2.8_orig//debian/openmpipython.prerm	1969-12-31 16:00:00.000000000 -0800
+++ python-scientific-2.8//debian/openmpipython.prerm	2011-05-10 14:30:41.933307538 -0700
@@ -0,0 +1,9 @@
+#! /bin/sh -e
+
+if [ "$1" != "upgrade" ]; then
+    update-alternatives --remove mpipython /usr/bin/mpipython.openmpi
+fi
+
+#DEBHELPER#
+
+exit 0
diff -Nru python-scientific-2.8_orig//debian/rules python-scientific-2.8//debian/rules
--- python-scientific-2.8_orig//debian/rules	2011-05-09 17:22:00.000000000 -0700
+++ python-scientific-2.8//debian/rules	2011-05-10 14:33:31.918721256 -0700
@@ -2,6 +2,13 @@
 # Made with the aid of debmake, by Christoph Lameter,
 # based on the sample debian/rules file for GNU hello by Ian Jackson.
 
+# OpenMPI is only supported on a subset of architectures at this time.
+# This list should remain synced with the Build-Depends and the Architecture
+# line of openmpipython in debian/control.
+
+OPENMPI_ARCH    = alpha amd64 i386 ia64 powerpc sparc kfreebsd-i386 kfreebsd-amd64 hurd-i386
+DEB_HOST_ARCH  ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
 export SHELL=bash
 
 pv	= $(shell pyversions -vd)
@@ -12,15 +19,15 @@
 p_cdf	= python-netcdf
 p_doc	= $(p_sci)-doc
 p_mpi	= python-mpi
-p_pympi	= mpichpython
-p_pylam	= lampython
+p_pympi	= mpich2python
+p_pyopenmpi	= openmpipython
 
 d_sci	= debian/$(p_sci)
 d_cdf	= debian/$(p_cdf)
 d_doc	= debian/$(p_doc)
 d_mpi	= debian/$(p_mpi)
 d_pympi	= debian/$(p_pympi)
-d_pylam	= debian/$(p_pylam)
+d_pyopenmpi	= debian/$(p_pyopenmpi)
 
 include /usr/share/python/python.mk
 
@@ -39,9 +46,9 @@
 	  python$$v setup.py build; \
 	done
 	rm -f Src/MPI/*.o
-	cd Src/MPI && PYTHONPATH=$$(echo $(CURDIR)/build/lib.*-$(pv)) USE_LAM=yes   $(PYTHON) compile.py
+	cd Src/MPI && PYTHONPATH=$$(echo $(CURDIR)/build/lib.*-$(pv)) USE_OPENMPI=yes $(PYTHON) compile.py
 	rm -f Src/MPI/*.o
-	cd Src/MPI && PYTHONPATH=$$(echo $(CURDIR)/build/lib.*-$(pv)) USE_MPICH=yes $(PYTHON) compile.py
+	cd Src/MPI && PYTHONPATH=$$(echo $(CURDIR)/build/lib.*-$(pv)) USE_MPICH=yes   $(PYTHON) compile.py
 	touch stamp-build
 
 cdf_dirs = \
@@ -67,7 +74,7 @@
 	usr/bin \
 	usr/share/man/man1
 
-pylam_dirs = \
+pyopenmpi_dirs = \
 	usr/share/doc/ \
 	usr/bin \
 	usr/share/man/man1
@@ -82,7 +89,9 @@
 	dh_installdirs -p$(p_cdf) $(cdf_dirs)
 	dh_installdirs -p$(p_mpi) $(mpi_dirs)
 	dh_installdirs -p$(p_pympi) $(pympi_dirs)
-	dh_installdirs -p$(p_pylam) $(pylam_dirs)
+ifneq (,$(findstring $(DEB_HOST_ARCH),$(OPENMPI_ARCH)))
+	dh_installdirs -p$(p_pyopenmpi) $(pyopenmpi_dirs)
+endif
 
 	set -e; \
 	for v in $(PYVERS); do \
@@ -96,10 +105,12 @@
 		usr/lib/python*/*-packages/Scientific/MPI \
 		usr/include/python*/Scientific/{PyMPI_API.h,mpimodule.h}
 
-	install -m775 Src/MPI/mpipython.mpich $(d_pympi)/usr/bin/
-	install -m775 Src/MPI/mpipython.lam $(d_pylam)/usr/bin/
-	cp -p debian/mpipython.1 $(d_pympi)/usr/share/man/man1/mpipython.mpich.1
-	cp -p debian/mpipython.1 $(d_pylam)/usr/share/man/man1/mpipython.lam.1
+	install -m775 Src/MPI/mpipython.mpich2 $(d_pympi)/usr/bin/
+	cp -p debian/mpipython.1 $(d_pympi)/usr/share/man/man1/mpipython.mpich2.1
+ifneq (,$(findstring $(DEB_HOST_ARCH),$(OPENMPI_ARCH)))
+	install -m775 Src/MPI/mpipython.openmpi $(d_pyopenmpi)/usr/bin/
+	cp -p debian/mpipython.1 $(d_pyopenmpi)/usr/share/man/man1/mpipython.openmpi.1
+endif
 
 	-find $(d_sci) $(d_sci2) -name '*.py[co]' | xargs rm -f
 
@@ -117,7 +128,7 @@
 	rm -f stamp-build
 	rm -rf `find -name build -type d`
 	rm -f `find . -name '*.py[co]'`
-	rm -f Src/MPI/mpipython{,.lam,.mpich} Src/MPI/*.o
+	rm -f Src/MPI/mpipython{,.openmpi,.mpich2} Src/MPI/*.o
 	dh_clean
 
 binary-indep: install
@@ -146,7 +157,9 @@
 
 	dh_installdocs -p$(p_cdf) README
 	ln -sf $(p_mpi) $(d_pympi)/usr/share/doc/$(p_pympi)
-	ln -sf $(p_mpi) $(d_pylam)/usr/share/doc/$(p_pylam)
+ifneq (,$(findstring $(DEB_HOST_ARCH),$(OPENMPI_ARCH)))
+	ln -sf $(p_mpi) $(d_pyopenmpi)/usr/share/doc/$(p_pyopenmpi)
+endif
 
 	dh_installchangelogs -a
 	dh_installexamples -p$(p_cdf)  Examples/*
diff -Nru python-scientific-2.8_orig//Src/MPI/compile.py python-scientific-2.8//Src/MPI/compile.py
--- python-scientific-2.8_orig//Src/MPI/compile.py	2011-05-09 17:22:00.000000000 -0700
+++ python-scientific-2.8//Src/MPI/compile.py	2011-05-10 14:33:05.283495120 -0700
@@ -11,17 +11,17 @@
 
 # Name of the MPI compilation script.
 mpicompiler = 'mpicc'
-mpiinclude = '/usr/include/lam'
+mpiinclude = '/usr/include/mpi'
 executable = 'mpipython'
 
-if os.environ.has_key('USE_LAM'):
-    mpicompiler = 'mpicc.lam'
-    mpiinclude = '/usr/include/lam'
-    executable = 'mpipython.lam'
+if os.environ.has_key('USE_OPENMPI'):
+    mpicompiler = 'mpicc.openmpi'
+    mpiinclude = '/usr/include/openmpi'
+    executable = 'mpipython.openmpi'
 if os.environ.has_key('USE_MPICH'):
-    mpicompiler = 'mpicc.mpich'
-    mpiinclude = '/usr/lib/mpich/include'
-    executable = 'mpipython.mpich'
+    mpicompiler = 'mpicc.mpich2'
+    mpiinclude = '/usr/lib/mpich2/include'
+    executable = 'mpipython.mpich2'
 
 sources='mpipython.c Scientific_mpi.c'
 

Reply via email to