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
+