Hi. Can we get this working? There're many packages that

  Build-Depends: (stuff that eventually depends on BLAS)

and those can't be cross-built right now.

The main proposal from #760936 was to manage a separate alternative for
each architecture. There's precedent for this at least in src:petsc and
src:s2tc.

I'm attaching a patch series that applies this idea here. The patches
mostly work. There're at least two bugs here that need to be dealt with,
and I can work on those. But in the meantime, let's decide that this is
the approach we want to pursue. The issues:


1. Something is wrong with libblas.a. It ends up mostly empty for me

2. There's now a separate set of alternatives for each arch called
something like blas-ARCH. Installing one of the new packages creates
these new alternatives, but doesn't remove the old alternatives, which
end up as a broken link.


Clearly, we'd also need to update the other packages that provide BLAS
implementations, but let's do this one step at a time.

dima
>From 44744e7be2610fb94d14723af356f24d7c3a36c5 Mon Sep 17 00:00:00 2001
From: Dima Kogan <dko...@debian.org>
Date: Sun, 12 Mar 2017 18:23:53 -0700
Subject: [PATCH 1/4] installing everything to an arch-dependent path

---
 debian/control                | 2 +-
 debian/libblas-dev.install    | 6 ++++--
 debian/libblas3.install       | 4 +++-
 debian/liblapack-dev.install  | 8 +++++---
 debian/liblapack-pic.install  | 4 +++-
 debian/liblapack3.install     | 4 +++-
 debian/liblapacke-dev.install | 6 ++++--
 debian/liblapacke.install     | 6 ++++--
 debian/libtmglib-dev.install  | 6 ++++--
 debian/libtmglib3.install     | 4 +++-
 10 files changed, 34 insertions(+), 16 deletions(-)
 mode change 100644 => 100755 debian/libblas-dev.install
 mode change 100644 => 100755 debian/libblas3.install
 mode change 100644 => 100755 debian/liblapack-dev.install
 mode change 100644 => 100755 debian/liblapack-pic.install
 mode change 100644 => 100755 debian/liblapack3.install
 mode change 100644 => 100755 debian/liblapacke-dev.install
 mode change 100644 => 100755 debian/liblapacke.install
 mode change 100644 => 100755 debian/libtmglib-dev.install
 mode change 100644 => 100755 debian/libtmglib3.install

diff --git a/debian/control b/debian/control
index 04777f8..0dd314f 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: libs
 Priority: optional
 Maintainer: Debian Science Team <debian-science-maintain...@lists.alioth.debian.org>
 Uploaders: Sébastien Villemot <sebast...@debian.org>
-Build-Depends: debhelper (>= 10), gfortran, python, dpkg-dev (>= 1.16.1~)
+Build-Depends: debhelper (>= 10), gfortran, python, dpkg-dev (>= 1.16.1~), dh-exec
 Build-Depends-Indep: doxygen, graphviz
 Standards-Version: 3.9.8
 Homepage: http://www.netlib.org/lapack/
diff --git a/debian/libblas-dev.install b/debian/libblas-dev.install
old mode 100644
new mode 100755
index 58b0a87..e817416
--- a/debian/libblas-dev.install
+++ b/debian/libblas-dev.install
@@ -1,5 +1,7 @@
-libblas.so usr/lib/libblas/
-libblas.a usr/lib/libblas/
+#!/usr/bin/dh-exec
+
+libblas.so usr/lib/${DEB_HOST_MULTIARCH}/libblas/
+libblas.a usr/lib/${DEB_HOST_MULTIARCH}/libblas/
 CBLAS/include/cblas.h usr/include/
 CBLAS/include/cblas_mangling.h usr/include/
 CBLAS/include/cblas_f77.h usr/include/
diff --git a/debian/libblas3.install b/debian/libblas3.install
old mode 100644
new mode 100755
index ded6b76..078cb04
--- a/debian/libblas3.install
+++ b/debian/libblas3.install
@@ -1 +1,3 @@
-libblas.so.* usr/lib/libblas/
+#!/usr/bin/dh-exec
+
+libblas.so.* usr/lib/${DEB_HOST_MULTIARCH}/libblas/
diff --git a/debian/liblapack-dev.install b/debian/liblapack-dev.install
old mode 100644
new mode 100755
index 8672ba0..a91ff19
--- a/debian/liblapack-dev.install
+++ b/debian/liblapack-dev.install
@@ -1,3 +1,5 @@
-liblapack.so usr/lib/lapack/
-liblapack.a usr/lib/lapack/
-lapack-netlib.pc  /usr/lib/pkgconfig
+#!/usr/bin/dh-exec
+
+liblapack.so usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+liblapack.a usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+lapack-netlib.pc  /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig
diff --git a/debian/liblapack-pic.install b/debian/liblapack-pic.install
old mode 100644
new mode 100755
index 9473332..71a98a4
--- a/debian/liblapack-pic.install
+++ b/debian/liblapack-pic.install
@@ -1 +1,3 @@
-liblapack_pic.a usr/lib/lapack/
+#!/usr/bin/dh-exec
+
+liblapack_pic.a usr/lib/${DEB_HOST_MULTIARCH}/lapack/
diff --git a/debian/liblapack3.install b/debian/liblapack3.install
old mode 100644
new mode 100755
index acd666f..ddd3d32
--- a/debian/liblapack3.install
+++ b/debian/liblapack3.install
@@ -1 +1,3 @@
-liblapack.so.* usr/lib/lapack/
+#!/usr/bin/dh-exec
+
+liblapack.so.* usr/lib/${DEB_HOST_MULTIARCH}/lapack/
diff --git a/debian/liblapacke-dev.install b/debian/liblapacke-dev.install
old mode 100644
new mode 100755
index 0db42f7..053046b
--- a/debian/liblapacke-dev.install
+++ b/debian/liblapacke-dev.install
@@ -1,3 +1,5 @@
+#!/usr/bin/dh-exec
+
 LAPACKE/include/*.h usr/include/
-liblapacke.so usr/lib/
-liblapacke.a usr/lib/
+liblapacke.so usr/${DEB_HOST_MULTIARCH}/lib/
+liblapacke.a usr/${DEB_HOST_MULTIARCH}/lib/
diff --git a/debian/liblapacke.install b/debian/liblapacke.install
old mode 100644
new mode 100755
index c798802..f2c9a4f
--- a/debian/liblapacke.install
+++ b/debian/liblapacke.install
@@ -1,2 +1,4 @@
-liblapacke.so.* usr/lib/
-LAPACKE/lapacke.pc  /usr/lib/pkgconfig
+#!/usr/bin/dh-exec
+
+liblapacke.so.* usr/lib/${DEB_HOST_MULTIARCH}
+LAPACKE/lapacke.pc  /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig
diff --git a/debian/libtmglib-dev.install b/debian/libtmglib-dev.install
old mode 100644
new mode 100755
index 5d024f5..e61a3cb
--- a/debian/libtmglib-dev.install
+++ b/debian/libtmglib-dev.install
@@ -1,2 +1,4 @@
-libtmglib.a usr/lib/
-libtmglib.so usr/lib/
+#!/usr/bin/dh-exec
+
+libtmglib.a usr/lib/${DEB_HOST_MULTIARCH}
+libtmglib.so usr/lib/${DEB_HOST_MULTIARCH}
diff --git a/debian/libtmglib3.install b/debian/libtmglib3.install
old mode 100644
new mode 100755
index 2ed0b46..ad59869
--- a/debian/libtmglib3.install
+++ b/debian/libtmglib3.install
@@ -1 +1,3 @@
-libtmglib.so.* usr/lib/
+#!/usr/bin/dh-exec
+
+libtmglib.so.* usr/lib/${DEB_HOST_MULTIARCH}
-- 
2.11.0

>From 11ee7202c98a383da80aac467b264bc1fe5aeb00 Mon Sep 17 00:00:00 2001
From: Dima Kogan <dko...@debian.org>
Date: Mon, 13 Mar 2017 13:26:19 -0700
Subject: [PATCH 2/4] Library alternatives now produce a separate set for each
 arch

---
 debian/libblas-dev.install       |  2 +-
 debian/libblas-dev.postinst      | 16 ----------------
 debian/libblas-dev.postinst.in   | 16 ++++++++++++++++
 debian/libblas-dev.prerm         | 12 ------------
 debian/libblas-dev.prerm.in      | 12 ++++++++++++
 debian/libblas3.postinst         | 14 --------------
 debian/libblas3.postinst.in      | 14 ++++++++++++++
 debian/libblas3.prerm            | 12 ------------
 debian/libblas3.prerm.in         | 12 ++++++++++++
 debian/liblapack-dev.postinst    | 16 ----------------
 debian/liblapack-dev.postinst.in | 16 ++++++++++++++++
 debian/liblapack-dev.prerm       | 12 ------------
 debian/liblapack-dev.prerm.in    | 12 ++++++++++++
 debian/liblapack-pic.postinst    | 14 --------------
 debian/liblapack-pic.postinst.in | 14 ++++++++++++++
 debian/liblapack-pic.prerm       | 12 ------------
 debian/liblapack-pic.prerm.in    | 12 ++++++++++++
 debian/liblapack3.postinst       | 15 ---------------
 debian/liblapack3.postinst.in    | 15 +++++++++++++++
 debian/liblapack3.prerm          | 12 ------------
 debian/liblapack3.prerm.in       | 12 ++++++++++++
 debian/rules                     | 13 +++++++++++++
 22 files changed, 149 insertions(+), 136 deletions(-)
 delete mode 100644 debian/libblas-dev.postinst
 create mode 100644 debian/libblas-dev.postinst.in
 delete mode 100644 debian/libblas-dev.prerm
 create mode 100644 debian/libblas-dev.prerm.in
 delete mode 100644 debian/libblas3.postinst
 create mode 100644 debian/libblas3.postinst.in
 delete mode 100644 debian/libblas3.prerm
 create mode 100644 debian/libblas3.prerm.in
 delete mode 100644 debian/liblapack-dev.postinst
 create mode 100644 debian/liblapack-dev.postinst.in
 delete mode 100644 debian/liblapack-dev.prerm
 create mode 100644 debian/liblapack-dev.prerm.in
 delete mode 100644 debian/liblapack-pic.postinst
 create mode 100644 debian/liblapack-pic.postinst.in
 delete mode 100644 debian/liblapack-pic.prerm
 create mode 100644 debian/liblapack-pic.prerm.in
 delete mode 100644 debian/liblapack3.postinst
 create mode 100644 debian/liblapack3.postinst.in
 delete mode 100644 debian/liblapack3.prerm
 create mode 100644 debian/liblapack3.prerm.in

diff --git a/debian/libblas-dev.install b/debian/libblas-dev.install
index e817416..6ec80b5 100755
--- a/debian/libblas-dev.install
+++ b/debian/libblas-dev.install
@@ -5,4 +5,4 @@ libblas.a usr/lib/${DEB_HOST_MULTIARCH}/libblas/
 CBLAS/include/cblas.h usr/include/
 CBLAS/include/cblas_mangling.h usr/include/
 CBLAS/include/cblas_f77.h usr/include/
-BLAS/blas-netlib.pc usr/lib/pkgconfig
+BLAS/blas-netlib.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig
diff --git a/debian/libblas-dev.postinst b/debian/libblas-dev.postinst
deleted file mode 100644
index bac876b..0000000
--- a/debian/libblas-dev.postinst
+++ /dev/null
@@ -1,16 +0,0 @@
-#! /bin/sh
-
-set -e
-
-update-alternatives --install /usr/lib/libblas.so libblas.so /usr/lib/libblas/libblas.so 10 \
-     --slave /usr/lib/libblas.a libblas.a /usr/lib/libblas/libblas.a \
-     --slave /usr/lib/pkgconfig/blas.pc blas.pc /usr/lib/pkgconfig/blas-netlib.pc
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
diff --git a/debian/libblas-dev.postinst.in b/debian/libblas-dev.postinst.in
new file mode 100644
index 0000000..1b349c1
--- /dev/null
+++ b/debian/libblas-dev.postinst.in
@@ -0,0 +1,16 @@
+#! /bin/sh
+
+set -e
+
+update-alternatives --install /usr/lib/__DEB_HOST_MULTIARCH__/libblas.so libblas.so-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/libblas/libblas.so 10 \
+     --slave /usr/lib/__DEB_HOST_MULTIARCH__/libblas.a libblas.a-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/libblas/libblas.a \
+     --slave /usr/lib/__DEB_HOST_MULTIARCH__/pkgconfig/blas.pc blas.pc-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/pkgconfig/blas-netlib.pc
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/libblas-dev.prerm b/debian/libblas-dev.prerm
deleted file mode 100644
index a6cc0b3..0000000
--- a/debian/libblas-dev.prerm
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if [ "$1" != "upgrade" ]
-then
-    update-alternatives --remove libblas.so /usr/lib/libblas/libblas.so
-fi
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/libblas-dev.prerm.in b/debian/libblas-dev.prerm.in
new file mode 100644
index 0000000..d0b2d93
--- /dev/null
+++ b/debian/libblas-dev.prerm.in
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]
+then
+    update-alternatives --remove libblas.so-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/libblas/libblas.so
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libblas3.postinst b/debian/libblas3.postinst
deleted file mode 100644
index 89028f6..0000000
--- a/debian/libblas3.postinst
+++ /dev/null
@@ -1,14 +0,0 @@
-#! /bin/sh
-
-set -e
-
-update-alternatives --install /usr/lib/libblas.so.3 libblas.so.3 /usr/lib/libblas/libblas.so.3 10
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
diff --git a/debian/libblas3.postinst.in b/debian/libblas3.postinst.in
new file mode 100644
index 0000000..69b0ba4
--- /dev/null
+++ b/debian/libblas3.postinst.in
@@ -0,0 +1,14 @@
+#! /bin/sh
+
+set -e
+
+update-alternatives --install /usr/lib/__DEB_HOST_MULTIARCH__/libblas.so.3 libblas.so.3-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/libblas/libblas.so.3 10
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/libblas3.prerm b/debian/libblas3.prerm
deleted file mode 100644
index ea30455..0000000
--- a/debian/libblas3.prerm
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if [ "$1" != "upgrade" ]
-then
-    update-alternatives --remove libblas.so.3 /usr/lib/libblas/libblas.so.3
-fi
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/libblas3.prerm.in b/debian/libblas3.prerm.in
new file mode 100644
index 0000000..f627d72
--- /dev/null
+++ b/debian/libblas3.prerm.in
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]
+then
+    update-alternatives --remove libblas.so.3-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/libblas/libblas.so.3
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/liblapack-dev.postinst b/debian/liblapack-dev.postinst
deleted file mode 100644
index 1efcd42..0000000
--- a/debian/liblapack-dev.postinst
+++ /dev/null
@@ -1,16 +0,0 @@
-#! /bin/sh
-
-set -e
-
-update-alternatives --install /usr/lib/liblapack.so liblapack.so /usr/lib/lapack/liblapack.so 20 \
-     --slave /usr/lib/liblapack.a liblapack.a /usr/lib/lapack/liblapack.a \
-     --slave /usr/lib/pkgconfig/lapack.pc lapack.pc /usr/lib/pkgconfig/lapack-netlib.pc
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
diff --git a/debian/liblapack-dev.postinst.in b/debian/liblapack-dev.postinst.in
new file mode 100644
index 0000000..f887fe7
--- /dev/null
+++ b/debian/liblapack-dev.postinst.in
@@ -0,0 +1,16 @@
+#! /bin/sh
+
+set -e
+
+update-alternatives --install /usr/lib/__DEB_HOST_MULTIARCH__/liblapack.so liblapack.so-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/lapack/liblapack.so 20 \
+     --slave /usr/lib/__DEB_HOST_MULTIARCH__/liblapack.a liblapack.a-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/lapack/liblapack.a \
+     --slave /usr/lib/__DEB_HOST_MULTIARCH__/pkgconfig/lapack.pc lapack.pc-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/pkgconfig/lapack-netlib.pc
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/liblapack-dev.prerm b/debian/liblapack-dev.prerm
deleted file mode 100644
index 8bc639b..0000000
--- a/debian/liblapack-dev.prerm
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if [ "$1" != "upgrade" ]
-then
-    update-alternatives --remove liblapack.so /usr/lib/lapack/liblapack.so
-fi
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/liblapack-dev.prerm.in b/debian/liblapack-dev.prerm.in
new file mode 100644
index 0000000..ce6d9f6
--- /dev/null
+++ b/debian/liblapack-dev.prerm.in
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]
+then
+    update-alternatives --remove liblapack.so-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/lapack/liblapack.so
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/liblapack-pic.postinst b/debian/liblapack-pic.postinst
deleted file mode 100644
index e5e6f55..0000000
--- a/debian/liblapack-pic.postinst
+++ /dev/null
@@ -1,14 +0,0 @@
-#! /bin/sh
-
-set -e
-
-update-alternatives --install /usr/lib/liblapack_pic.a liblapack_pic.a /usr/lib/lapack/liblapack_pic.a 20
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
diff --git a/debian/liblapack-pic.postinst.in b/debian/liblapack-pic.postinst.in
new file mode 100644
index 0000000..3cc842b
--- /dev/null
+++ b/debian/liblapack-pic.postinst.in
@@ -0,0 +1,14 @@
+#! /bin/sh
+
+set -e
+
+update-alternatives --install /usr/lib/__DEB_HOST_MULTIARCH__/liblapack_pic.a liblapack_pic.a-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/lapack/liblapack_pic.a 20
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/liblapack-pic.prerm b/debian/liblapack-pic.prerm
deleted file mode 100644
index 7ef791f..0000000
--- a/debian/liblapack-pic.prerm
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if [ "$1" != "upgrade" ]
-then
-    update-alternatives --remove liblapack_pic.a /usr/lib/lapack/liblapack_pic.a
-fi
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/liblapack-pic.prerm.in b/debian/liblapack-pic.prerm.in
new file mode 100644
index 0000000..8d86fe2
--- /dev/null
+++ b/debian/liblapack-pic.prerm.in
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]
+then
+    update-alternatives --remove liblapack_pic.a-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/lapack/liblapack_pic.a
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/liblapack3.postinst b/debian/liblapack3.postinst
deleted file mode 100644
index 9804f84..0000000
--- a/debian/liblapack3.postinst
+++ /dev/null
@@ -1,15 +0,0 @@
-#! /bin/sh
-
-set -e
-
-update-alternatives --install /usr/lib/liblapack.so.3 liblapack.so.3 \
-	/usr/lib/lapack/liblapack.so.3 10
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
diff --git a/debian/liblapack3.postinst.in b/debian/liblapack3.postinst.in
new file mode 100644
index 0000000..65e51be
--- /dev/null
+++ b/debian/liblapack3.postinst.in
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+set -e
+
+update-alternatives --install /usr/lib/__DEB_HOST_MULTIARCH__/liblapack.so.3 liblapack.so.3-__DEB_HOST_MULTIARCH__ \
+	/usr/lib/__DEB_HOST_MULTIARCH__/lapack/liblapack.so.3 10
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/liblapack3.prerm b/debian/liblapack3.prerm
deleted file mode 100644
index 3d3605d..0000000
--- a/debian/liblapack3.prerm
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if [ "$1" != "upgrade" ]
-then
-    update-alternatives --remove liblapack.so.3 /usr/lib/lapack/liblapack.so.3
-fi
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/liblapack3.prerm.in b/debian/liblapack3.prerm.in
new file mode 100644
index 0000000..3354838
--- /dev/null
+++ b/debian/liblapack3.prerm.in
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]
+then
+    update-alternatives --remove liblapack.so.3-__DEB_HOST_MULTIARCH__ /usr/lib/__DEB_HOST_MULTIARCH__/lapack/liblapack.so.3
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/rules b/debian/rules
index 6b78d81..5538ece 100755
--- a/debian/rules
+++ b/debian/rules
@@ -191,3 +191,16 @@ override_dh_shlibdeps:
 
 override_dh_strip:
 	dh_strip --dbgsym-migration='liblapack-dbg (<< 3.6.0-1~)'
+
+MAINTAINER_SCRIPTS_TEMPLATES := $(patsubst %.in,%,$(wildcard debian/*.postinst.in debian/*.prerm.in))
+ifeq ($(DEB_HOST_MULTIARCH),)
+  DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+endif
+$(MAINTAINER_SCRIPTS_TEMPLATES): %: %.in
+	< $< sed 's/__DEB_HOST_MULTIARCH__/$(DEB_HOST_MULTIARCH)/g' > $@
+override_dh_install: $(MAINTAINER_SCRIPTS_TEMPLATES)
+	dh_install
+
+override_dh_clean:
+	dh_clean
+	$(if $(MAINTAINER_SCRIPTS_TEMPLATES),rm -f $(MAINTAINER_SCRIPTS_TEMPLATES:%.in=%))
-- 
2.11.0

>From 1d2f40ffa865b66785a339203cb046f67a033129 Mon Sep 17 00:00:00 2001
From: Dima Kogan <dko...@debian.org>
Date: Mon, 13 Mar 2017 13:53:03 -0700
Subject: [PATCH 3/4] We're now Multi-Arch: same

---
 debian/control | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/debian/control b/debian/control
index 0dd314f..fe09e94 100644
--- a/debian/control
+++ b/debian/control
@@ -12,6 +12,7 @@ Vcs-Browser: https://anonscm.debian.org/git/debian-science/packages/lapack.git
 
 Package: liblapack3
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Provides: liblapack.so.3
 Breaks: liblapack3gf
@@ -27,6 +28,7 @@ Description: Library of linear algebra routines 3 - shared version
 
 Package: liblapacke
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Provides: liblapacke.so.3
 Description: Library of linear algebra routines 3 - C lib shared version
@@ -42,6 +44,7 @@ Description: Library of linear algebra routines 3 - C lib shared version
 Package: liblapacke-dev
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends}, liblapacke (= ${binary:Version}), libblas-dev | libblas.so,
          liblapack-dev | liblapack.so, libtmglib-dev
 Suggests: liblapack-doc-man, liblapack-doc
@@ -58,6 +61,7 @@ Description: Library of linear algebra routines 3 - Headers
 
 Package: libtmglib3
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Description: test matrix generators of LAPACK - shared version
  libtmglib is a component of the LAPACK library, containing routines for
@@ -68,6 +72,7 @@ Description: test matrix generators of LAPACK - shared version
 Package: libtmglib-dev
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends}, libtmglib3 (= ${binary:Version}), libblas-dev | libblas.so,
          liblapack-dev | liblapack.so
 Description: test matrix generators of LAPACK - development files
@@ -80,6 +85,7 @@ Description: test matrix generators of LAPACK - development files
 Package: liblapack-dev
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends}, liblapack3 (= ${binary:Version}),
  libblas-dev | libblas.so
 Provides: liblapack.so
@@ -97,6 +103,7 @@ Description: Library of linear algebra routines 3 - static version
 Package: liblapack-pic
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends}, liblapack3 (= ${binary:Version})
 Description: Library of linear algebra routines 3 - static PIC version
  LAPACK version 3.X is a comprehensive FORTRAN library that does
@@ -165,6 +172,7 @@ Description: Library of linear algebra routines 3 - documentation (manual pages)
 
 Package: libblas3
 Architecture: any
+Multi-Arch: same
 Provides: libblas.so.3
 Depends: ${shlibs:Depends}, ${misc:Depends}, libblas-common
 Description: Basic Linear Algebra Reference implementations, shared library
@@ -179,6 +187,7 @@ Description: Basic Linear Algebra Reference implementations, shared library
 
 Package: libblas-common
 Architecture: any
+Multi-Arch: same
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: Dependency package for all BLAS implementations
  The only purpose of this empty package is to ensure multi-arch safety of
@@ -186,6 +195,7 @@ Description: Dependency package for all BLAS implementations
 
 Package: libblas-dev
 Architecture: any
+Multi-Arch: same
 Section: libdevel
 Provides: libblas.so
 Depends: libblas3 (= ${binary:Version}), ${misc:Depends}, gfortran
-- 
2.11.0

>From f062d71cd94d55393b1fd0b29c284055a3578e39 Mon Sep 17 00:00:00 2001
From: Dima Kogan <dko...@debian.org>
Date: Mon, 13 Mar 2017 13:54:43 -0700
Subject: [PATCH 4/4] libblas-dev no longer Depends:gfortran

This is wrong for cross-building. There's a plan to make these types of
dependencies work generically, but we're not there yet. In the meantime, this
dependency isn't very useful: a user who's savvy enough to install -dev packages
and compile stuff knows that they need a compiler.
---
 debian/control | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index fe09e94..e11ed0c 100644
--- a/debian/control
+++ b/debian/control
@@ -198,7 +198,7 @@ Architecture: any
 Multi-Arch: same
 Section: libdevel
 Provides: libblas.so
-Depends: libblas3 (= ${binary:Version}), ${misc:Depends}, gfortran
+Depends: libblas3 (= ${binary:Version}), ${misc:Depends}
 Suggests: liblapack-doc-man, liblapack-doc
 Description: Basic Linear Algebra Subroutines 3, static library
  This package is a binary incompatible upgrade to the blas-dev
-- 
2.11.0

Reply via email to