The attached patch replaces netpipe's LAM and MPICH1 packages with OpenMPI (available architectures only) and MPICH2 packages, and updates the Build-Depends accordingly. It compiles properly and all the output packages look sensible, but I haven't tested them beyond that.
-- Nicholas Breen nbr...@ofb.net
diff -Nru netpipe-3.7.1_orig//debian/control netpipe-3.7.1//debian/control --- netpipe-3.7.1_orig//debian/control 2011-05-10 14:49:03.000000000 -0700 +++ netpipe-3.7.1//debian/control 2011-05-10 14:50:34.876593864 -0700 @@ -2,7 +2,7 @@ Section: net Priority: optional Maintainer: Camm Maguire <c...@debian.org> -Build-Depends: lam4-dev ( >= 7.1.1-5 ), libmpich1.0-dev, pvm-dev,debhelper ( >= 4 ), debhelper ( >= 5.0 ) +Build-Depends: libopenmpi-dev [alpha amd64 i386 ia64 powerpc sparc kfreebsd-i386 kfreebsd-amd64 hurd-i386], libmpich2-dev, pvm-dev,debhelper ( >= 4 ), debhelper ( >= 5.0 ) Standards-Version: 3.8.3 Package: netpipe-tcp @@ -25,10 +25,10 @@ . This package uses a raw TCP protocol to measure network performance. -Package: netpipe-lam -Architecture: any -Depends: lam-runtime, ${shlibs:Depends}, ${misc:Depends} -Description: A network performance tool using LAM MPI +Package: netpipe-openmpi +Architecture: alpha amd64 i386 ia64 powerpc sparc kfreebsd-i386 kfreebsd-amd64 hurd-i386 +Depends: openmpi-bin, ${shlibs:Depends}, ${misc:Depends} +Description: A network performance tool using OpenMPI NetPIPE is a protocol independent performance tool that encapsulates the best of ttcp and netperf and visually represents the network performance under a variety of conditions. By taking the end-to-end @@ -46,13 +46,13 @@ This package measures network performance using the MPI protocol, a Message Passing Interface frequently used in parallel processing, and which uses in turn TCP as its underlying transport. The implementation - of the MPI standard used by this package is that provided by the lam set - of packages. + of the MPI standard used by this package is that provided by the openmpi + set of packages. -Package: netpipe-mpich +Package: netpipe-mpich2 Architecture: any Depends: mpich-bin, ${shlibs:Depends}, ${misc:Depends} -Description: A network performance tool using MPICH MPI +Description: A network performance tool using MPICH2 MPI NetPIPE is a protocol independent performance tool that encapsulates the best of ttcp and netperf and visually represents the network performance under a variety of conditions. By taking the end-to-end @@ -70,7 +70,7 @@ This package measures network performance using the MPI protocol, a Message Passing Interface frequently used in parallel processing, and which uses in turn TCP as its underlying transport. The implementation - of the MPI standard used by this package is that provided by the mpich + of the MPI standard used by this package is that provided by the mpich2 package. Package: netpipe-pvm diff -Nru netpipe-3.7.1_orig//debian/netpipe.1 netpipe-3.7.1//debian/netpipe.1 --- netpipe-3.7.1_orig//debian/netpipe.1 2011-05-10 14:49:03.000000000 -0700 +++ netpipe-3.7.1//debian/netpipe.1 2011-05-10 14:49:18.281780622 -0700 @@ -166,19 +166,15 @@ with a .I -np 2 argument. Clusters environments may require a list of the -hosts being used, either during initialization of MPI (during lamboot -for LAM-MPI) or when each job is run (using a -machinefile argument -for MPICH). -For LAM-MPI, for example, put the list of hosts in hostlist then boot LAM -and run NetPIPE using: +hosts being used when each job is run. +Put the list of hosts in hostlist then, for OpenMPI, run NetPIPE using: .PP -lamboot -v -b +mpirun --hostfile .I hostlist -.PP -mpirun \-np 2 NPmpi [NetPIPE options] +\-np 2 NPmpi [NetPIPE options] .PP -For MPICH use a command like: +For MPICH2 use instead: .PP mpirun \-machinefile .I hostlist diff -Nru netpipe-3.7.1_orig//debian/netpipe-lam.docs netpipe-3.7.1//debian/netpipe-lam.docs --- netpipe-3.7.1_orig//debian/netpipe-lam.docs 2011-05-10 14:49:03.000000000 -0700 +++ netpipe-3.7.1//debian/netpipe-lam.docs 1969-12-31 16:00:00.000000000 -0800 @@ -1,2 +0,0 @@ -dox/README -dox/netpipe_paper.ps diff -Nru netpipe-3.7.1_orig//debian/netpipe-lam.files netpipe-3.7.1//debian/netpipe-lam.files --- netpipe-3.7.1_orig//debian/netpipe-lam.files 2011-05-10 14:49:03.000000000 -0700 +++ netpipe-3.7.1//debian/netpipe-lam.files 1969-12-31 16:00:00.000000000 -0800 @@ -1,2 +0,0 @@ -usr/bin/NPlam -usr/bin/NPlam2 diff -Nru netpipe-3.7.1_orig//debian/netpipe-lam.manpages netpipe-3.7.1//debian/netpipe-lam.manpages --- netpipe-3.7.1_orig//debian/netpipe-lam.manpages 2011-05-10 14:49:03.000000000 -0700 +++ netpipe-3.7.1//debian/netpipe-lam.manpages 1969-12-31 16:00:00.000000000 -0800 @@ -1,2 +0,0 @@ -NPlam.1 -NPlam2.1 diff -Nru netpipe-3.7.1_orig//debian/netpipe-mpich2.docs netpipe-3.7.1//debian/netpipe-mpich2.docs --- netpipe-3.7.1_orig//debian/netpipe-mpich2.docs 1969-12-31 16:00:00.000000000 -0800 +++ netpipe-3.7.1//debian/netpipe-mpich2.docs 2011-05-10 14:49:03.000000000 -0700 @@ -0,0 +1,2 @@ +dox/README +dox/netpipe_paper.ps diff -Nru netpipe-3.7.1_orig//debian/netpipe-mpich2.files netpipe-3.7.1//debian/netpipe-mpich2.files --- netpipe-3.7.1_orig//debian/netpipe-mpich2.files 1969-12-31 16:00:00.000000000 -0800 +++ netpipe-3.7.1//debian/netpipe-mpich2.files 2011-05-10 14:49:03.000000000 -0700 @@ -0,0 +1 @@ +usr/bin/NPmpich diff -Nru netpipe-3.7.1_orig//debian/netpipe-mpich2.manpages netpipe-3.7.1//debian/netpipe-mpich2.manpages --- netpipe-3.7.1_orig//debian/netpipe-mpich2.manpages 1969-12-31 16:00:00.000000000 -0800 +++ netpipe-3.7.1//debian/netpipe-mpich2.manpages 2011-05-10 14:49:03.000000000 -0700 @@ -0,0 +1 @@ +NPmpich.1 diff -Nru netpipe-3.7.1_orig//debian/netpipe-mpich.docs netpipe-3.7.1//debian/netpipe-mpich.docs --- netpipe-3.7.1_orig//debian/netpipe-mpich.docs 2011-05-10 14:49:03.000000000 -0700 +++ netpipe-3.7.1//debian/netpipe-mpich.docs 1969-12-31 16:00:00.000000000 -0800 @@ -1,2 +0,0 @@ -dox/README -dox/netpipe_paper.ps diff -Nru netpipe-3.7.1_orig//debian/netpipe-mpich.files netpipe-3.7.1//debian/netpipe-mpich.files --- netpipe-3.7.1_orig//debian/netpipe-mpich.files 2011-05-10 14:49:03.000000000 -0700 +++ netpipe-3.7.1//debian/netpipe-mpich.files 1969-12-31 16:00:00.000000000 -0800 @@ -1 +0,0 @@ -usr/bin/NPmpich diff -Nru netpipe-3.7.1_orig//debian/netpipe-mpich.manpages netpipe-3.7.1//debian/netpipe-mpich.manpages --- netpipe-3.7.1_orig//debian/netpipe-mpich.manpages 2011-05-10 14:49:03.000000000 -0700 +++ netpipe-3.7.1//debian/netpipe-mpich.manpages 1969-12-31 16:00:00.000000000 -0800 @@ -1 +0,0 @@ -NPmpich.1 diff -Nru netpipe-3.7.1_orig//debian/netpipe-openmpi.docs netpipe-3.7.1//debian/netpipe-openmpi.docs --- netpipe-3.7.1_orig//debian/netpipe-openmpi.docs 1969-12-31 16:00:00.000000000 -0800 +++ netpipe-3.7.1//debian/netpipe-openmpi.docs 2011-05-10 14:49:18.281780622 -0700 @@ -0,0 +1,2 @@ +dox/README +dox/netpipe_paper.ps diff -Nru netpipe-3.7.1_orig//debian/netpipe-openmpi.files netpipe-3.7.1//debian/netpipe-openmpi.files --- netpipe-3.7.1_orig//debian/netpipe-openmpi.files 1969-12-31 16:00:00.000000000 -0800 +++ netpipe-3.7.1//debian/netpipe-openmpi.files 2011-05-10 14:49:18.281780622 -0700 @@ -0,0 +1,2 @@ +usr/bin/NPopenmpi +usr/bin/NPopenmpi2 diff -Nru netpipe-3.7.1_orig//debian/netpipe-openmpi.manpages netpipe-3.7.1//debian/netpipe-openmpi.manpages --- netpipe-3.7.1_orig//debian/netpipe-openmpi.manpages 1969-12-31 16:00:00.000000000 -0800 +++ netpipe-3.7.1//debian/netpipe-openmpi.manpages 2011-05-10 14:49:18.281780622 -0700 @@ -0,0 +1,2 @@ +NPopenmpi.1 +NPopenmpi2.1 diff -Nru netpipe-3.7.1_orig//debian/rules netpipe-3.7.1//debian/rules --- netpipe-3.7.1_orig//debian/rules 2011-05-10 14:49:03.000000000 -0700 +++ netpipe-3.7.1//debian/rules 2011-05-10 14:50:25.360492227 -0700 @@ -10,6 +10,13 @@ # This is the debhelper compatability version to use. #export DH_COMPAT=1 +# 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 netpipe-openmpi 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) + build: build-stamp build-stamp: dh_testdir @@ -18,17 +25,21 @@ cp debian/netpipe.1 NPtcp.1 $(MAKE) pvm cp debian/netpipe.1 NPpvm.1 - $(MAKE) mpi MPICC=mpicc.lam - mv NPmpi NPlam - cp debian/netpipe.1 NPlam.1 - C_INCLUDE_PATH=/usr/lib/mpich/include $(MAKE) mpi MPICC="$$(mpicc.mpich -show | sed 's,mpich/lib ,mpich/lib/shared ,1')" +ifneq (,$(findstring $(DEB_HOST_ARCH),$(OPENMPI_ARCH))) + $(MAKE) mpi MPICC=mpicc.openmpi + mv NPmpi NPopenmpi + cp debian/netpipe.1 NPopenmpi.1 +endif + $(MAKE) mpi MPICC=mpicc.mpich2 mv NPmpi NPmpich cp debian/netpipe.1 NPmpich.1 # MPI2_INC not necessary, but must not be empty - $(MAKE) mpi2 MPI2CC=mpicc.lam MPI2_INC=./ - mv NPmpi2 NPlam2 - cp debian/netpipe.1 NPlam2.1 +ifneq (,$(findstring $(DEB_HOST_ARCH),$(OPENMPI_ARCH))) + $(MAKE) mpi2 MPI2CC=mpicc.openmpi MPI2_INC=./ + mv NPmpi2 NPopenmpi2 + cp debian/netpipe.1 NPopenmpi2.1 +endif touch build-stamp @@ -38,8 +49,8 @@ rm -f build-stamp install-stamp $(MAKE) clean - rm -f NPtcp.1 NPlam.1 NPmpich.1 NPlam2.1 NPpvm.1 - rm -f NPtcp NPlam NPmpich NPlam2 NPpvm + rm -f NPtcp.1 NPopenmpi.1 NPmpich.1 NPopenmpi2.1 NPpvm.1 + rm -f NPtcp NPopenmpi NPmpich NPopenmpi2 NPpvm dh_clean @@ -51,7 +62,10 @@ dh_installdirs mkdir -p debian/tmp/usr/bin - cp NPtcp NPlam NPmpich NPlam2 NPpvm `pwd`/debian/tmp/usr/bin + cp NPtcp NPmpich NPpvm `pwd`/debian/tmp/usr/bin +ifneq (,$(findstring $(DEB_HOST_ARCH),$(OPENMPI_ARCH))) + cp NPopenmpi NPopenmpi2 `pwd`/debian/tmp/usr/bin +endif dh_movefiles touch install-stamp @@ -94,10 +108,10 @@ # dh_installinit -a dh_installcron -a dh_installman -a -# dh_installmanpages -pnetpipe-lam NPtcp.1 NPmpich.1 NPpvm.1 netpipe.1 -# dh_installmanpages -pnetpipe-pvm NPtcp.1 NPmpich.1 NPlam.1 NPlam2.1 netpipe.1 -# dh_installmanpages -pnetpipe-tcp NPmpich.1 NPlam.1 NPlam2.1 NPpvm.1 netpipe.1 -# dh_installmanpages -pnetpipe-mpich NPtcp.1 NPlam.1 NPlam2.1 NPpvm.1 netpipe.1 +# dh_installmanpages -pnetpipe-openmpi NPtcp.1 NPmpich.1 NPpvm.1 netpipe.1 +# dh_installmanpages -pnetpipe-pvm NPtcp.1 NPmpich.1 NPopenmpi.1 NPopenmpi2.1 netpipe.1 +# dh_installmanpages -pnetpipe-tcp NPmpich.1 NPopenmpi.1 NPopenmpi2.1 NPpvm.1 netpipe.1 +# dh_installmanpages -pnetpipe-mpich NPtcp.1 NPopenmpi.1 NPopenmpi2.1 NPpvm.1 netpipe.1 dh_installinfo -a # dh_undocumented dh_installchangelogs -a