Package: openmpi-bin
Followup-For: Bug #377297

Hi,

it would be great if you could make lam-runtime and openmpi-bin
installable at the same time.

The attached patch adds support for the update-alternatives system to
openmpi. lam-runtime already uses alternatives; only mpiexec is not
covered yet, I'll file a bug against lam-runtime about this.

This would prepare the ground for co-existance with other, future MPI
packages as well, e.g. MPICH2.

Cheers, Til


-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing'), (200, 'experimental')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16-2-amd64-k8-smp
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
=== debian/openmpi-bin.install
==================================================================
--- debian/openmpi-bin.install  (revision 3)
+++ debian/openmpi-bin.install  (local)
@@ -1,2 +1,4 @@
 etc/*
-usr/bin/*
+usr/bin/mpi*.openmpi
+usr/bin/ompi_info
+usr/bin/orte*
=== debian/rules
==================================================================
--- debian/rules        (revision 3)
+++ debian/rules        (local)
@@ -54,6 +54,10 @@
        dh_clean -k -s 
        dh_installdirs -popenmpi-libs0 -s /usr/share/lintian/overrides/
        $(MAKE) install DESTDIR=$(CURDIR)/debian/openmpi
+       cp debian/openmpi/usr/bin/mpicc debian/openmpi/usr/bin/mpicc.openmpi
+       cp debian/openmpi/usr/bin/mpic++ debian/openmpi/usr/bin/mpic++.openmpi
+       cp debian/openmpi/usr/bin/mpif77 debian/openmpi/usr/bin/mpif77.openmpi
+       cp debian/openmpi/usr/bin/mpif90 debian/openmpi/usr/bin/mpif90.openmpi
        dh_install -s --sourcedir=$(CURDIR)/debian/openmpi --list-missing
        install -m0644 debian/openmpi-libs0.lintian-overrides 
$(CURDIR)/debian/openmpi-libs0/usr/share/lintian/overrides/openmpi-libs0
 
=== debian/openmpi-bin.postinst
==================================================================
--- debian/openmpi-bin.postinst (revision 3)
+++ debian/openmpi-bin.postinst (local)
@@ -0,0 +1,19 @@
+#! /bin/sh
+# postinst script for openmpi
+
+set -e
+
+update-alternatives --install /usr/bin/mpicc mpicc /usr/bin/mpicc.openmpi 40 \
+       --slave /usr/bin/mpic++ mpic++ /usr/bin/mpic++.openmpi \
+       --slave /usr/bin/mpicxx mpicxx /usr/bin/mpic++.openmpi \
+       --slave /usr/bin/mpiCC mpiCC /usr/bin/mpic++.openmpi \
+       --slave /usr/bin/mpif77 mpif77 /usr/bin/mpif77.openmpi \
+       --slave /usr/bin/mpif90 mpif90 /usr/bin/mpif90.openmpi
+
+update-alternatives --install /usr/bin/mpiexec mpiexec /usr/bin/orterun 40 \
+       --slave /usr/bin/mpirun mpirun /usr/bin/orterun
+
+#DEBHELPER#
+
+exit 0
+
=== debian/openmpi-bin.prerm
==================================================================
--- debian/openmpi-bin.prerm    (revision 3)
+++ debian/openmpi-bin.prerm    (local)
@@ -0,0 +1,14 @@
+#! /bin/sh
+# prerm script for openmpi
+
+set -e
+
+if [ "$1" != "upgrade" ]; then
+       update-alternatives --remove mpicc /usr/bin/mpicc.openmpi
+       update-alternatives --remove mpiexec /usr/bin/orterun
+fi
+
+#DEBHELPER#
+
+exit 0
+

Reply via email to