[lapack] 02/05: Multi-archify the package.

Sébastien Villemot sebastien at debian.org
Sat Sep 9 08:56:57 UTC 2017


This is an automated email from the git hooks/post-receive script.

sebastien pushed a commit to branch master
in repository lapack.

commit be755a1b59ae9a16fb6216625def3938025e0300
Author: Sébastien Villemot <sebastien at debian.org>
Date:   Tue Sep 5 23:45:00 2017 +0200

    Multi-archify the package.
    
    + drop package libblas-common, no longer needed
    + cblas.h is now included in the alternatives system (and installed under
      /usr/include/<multiarch>)
    + liblapack_pic.a is no longer in the alternatives system
    
    Thanks: Dima Kogan for his help
    Closes: #770290
    Gbp-Dch: Full
---
 debian/control                                     | 35 ++++++---
 debian/libblas-dev.install                         | 14 ++--
 debian/libblas-dev.postinst                        | 16 -----
 debian/libblas-dev.postinst.in                     | 16 +++++
 debian/{libblas-dev.prerm => libblas-dev.preinst}  |  3 +-
 debian/libblas-dev.prerm.in                        | 13 ++++
 debian/libblas-test.install                        | 82 +++++++++++-----------
 debian/libblas3.install                            |  4 +-
 debian/libblas3.postinst                           | 14 ----
 debian/libblas3.postinst.in                        | 10 +++
 debian/{libblas3.prerm => libblas3.preinst}        |  3 +-
 debian/libblas3.prerm.in                           | 13 ++++
 debian/liblapack-dev.install                       |  8 ++-
 debian/liblapack-dev.postinst                      | 16 -----
 debian/liblapack-dev.postinst.in                   | 17 +++++
 .../{liblapack-dev.prerm => liblapack-dev.preinst} |  3 +-
 debian/liblapack-dev.prerm.in                      | 13 ++++
 debian/liblapack-pic.install                       |  4 +-
 debian/liblapack-pic.postinst                      | 14 ----
 .../{liblapack-pic.prerm => liblapack-pic.preinst} |  3 +-
 debian/liblapack-test.install                      | 34 ++++-----
 debian/liblapack3.install                          |  4 +-
 debian/liblapack3.postinst                         | 15 ----
 debian/liblapack3.postinst.in                      | 11 +++
 debian/{liblapack3.prerm => liblapack3.preinst}    |  3 +-
 debian/liblapack3.prerm.in                         | 13 ++++
 debian/liblapacke-dev.install                      |  6 +-
 debian/liblapacke.install                          |  6 +-
 debian/libtmglib-dev.install                       |  6 +-
 debian/libtmglib3.install                          |  4 +-
 debian/rules                                       | 24 +++++--
 debian/run_blas_tests.sh                           | 10 +--
 debian/run_lapack_tests.sh                         | 10 +--
 debian/tests/blas-testsuite                        |  8 ++-
 debian/tests/lapack-testsuite                      |  6 +-
 debian/tests/xerbla-c                              |  4 +-
 debian/tests/xerbla-fortran                        |  4 +-
 37 files changed, 282 insertions(+), 187 deletions(-)

diff --git a/debian/control b/debian/control
index 694db21..1f77691 100644
--- a/debian/control
+++ b/debian/control
@@ -5,7 +5,8 @@ Section: libs
 Priority: optional
 Build-Depends: debhelper (>= 10)
 Build-Depends-Arch: gfortran,
-                    python
+                    python,
+                    dh-exec
 Build-Depends-Indep: doxygen,
                      graphviz
 Standards-Version: 4.0.0
@@ -15,8 +16,12 @@ Homepage: http://www.netlib.org/lapack/
 
 Package: liblapack3
 Architecture: any
+Multi-Arch: same
 Depends: ${misc:Depends},
          ${shlibs:Depends}
+Breaks: libatlas3-base (<< 3.10.3-4~),
+        libopenblas-base (<< 0.2.20+ds-3~),
+        liblapack-dev (<< 3.7.1-2~)
 Provides: liblapack.so.3
 Description: Library of linear algebra routines 3 - shared version
  LAPACK version 3.X is a comprehensive FORTRAN library that does
@@ -30,6 +35,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
@@ -45,6 +51,7 @@ Description: Library of linear algebra routines 3 - C lib shared version
 
 Package: liblapacke-dev
 Architecture: any
+Multi-Arch: same
 Section: libdevel
 Depends: ${misc:Depends},
          liblapacke (= ${binary:Version}),
@@ -65,6 +72,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
@@ -75,6 +83,7 @@ Description: test matrix generators of LAPACK - shared version
 
 Package: libtmglib-dev
 Architecture: any
+Multi-Arch: same
 Section: libdevel
 Depends: ${misc:Depends},
          libtmglib3 (= ${binary:Version}),
@@ -89,11 +98,14 @@ Description: test matrix generators of LAPACK - development files
 
 Package: liblapack-dev
 Architecture: any
+Multi-Arch: same
 Section: libdevel
 Depends: ${misc:Depends},
          liblapack3 (= ${binary:Version}),
          libblas-dev | libblas.so
 Suggests: liblapack-doc
+Breaks: libatlas-base-dev (<< 3.10.3-4~),
+        libopenblas-dev (<< 0.2.20+ds-3~)
 Provides: liblapack.so
 Description: Library of linear algebra routines 3 - static version
  LAPACK version 3.X is a comprehensive FORTRAN library that does
@@ -107,6 +119,7 @@ Description: Library of linear algebra routines 3 - static version
 
 Package: liblapack-pic
 Architecture: any
+Multi-Arch: same
 Section: libdevel
 Depends: ${misc:Depends}
 Description: Library of linear algebra routines 3 - static PIC version
@@ -124,6 +137,7 @@ Description: Library of linear algebra routines 3 - static PIC version
 
 Package: liblapack-test
 Architecture: any
+Multi-Arch: same
 Section: devel
 Priority: extra
 Depends: ${misc:Depends},
@@ -167,9 +181,12 @@ Description: Library of linear algebra routines 3 - documentation
 
 Package: libblas3
 Architecture: any
+Multi-Arch: same
 Depends: ${shlibs:Depends},
-         ${misc:Depends},
-         libblas-common
+         ${misc:Depends}
+Breaks: libatlas3-base (<< 3.10.3-4~),
+        libopenblas-base (<< 0.2.20+ds-3~),
+        libblas-dev (<< 3.7.1-2~)
 Provides: libblas.so.3
 Description: Basic Linear Algebra Reference implementations, shared library
  BLAS (Basic Linear Algebra Subroutines) is a set of efficient
@@ -181,20 +198,15 @@ Description: Basic Linear Algebra Reference implementations, shared library
  .
  This package contains a shared version of the library.
 
-Package: libblas-common
-Architecture: any
-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
- different BLAS implementations. See bug #760936 for more details.
-
 Package: libblas-dev
 Architecture: any
+Multi-Arch: same
 Section: libdevel
 Depends: libblas3 (= ${binary:Version}),
          ${misc:Depends}
 Suggests: liblapack-doc
+Breaks: libatlas-base-dev (<< 3.10.3-4~),
+        libopenblas-dev (<< 0.2.20+ds-3~)
 Provides: libblas.so
 Description: Basic Linear Algebra Subroutines 3, static library
  This package is a binary incompatible upgrade to the blas-dev
@@ -212,6 +224,7 @@ Description: Basic Linear Algebra Subroutines 3, static library
 
 Package: libblas-test
 Architecture: any
+Multi-Arch: same
 Section: devel
 Priority: extra
 Depends: ${shlibs:Depends},
diff --git a/debian/libblas-dev.install b/debian/libblas-dev.install
old mode 100644
new mode 100755
index 58b0a87..525cf80
--- a/debian/libblas-dev.install
+++ b/debian/libblas-dev.install
@@ -1,6 +1,8 @@
-libblas.so usr/lib/libblas/
-libblas.a usr/lib/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
+#!/usr/bin/dh-exec
+
+libblas.so usr/lib/${DEB_HOST_MULTIARCH}/blas/
+libblas.a usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/include/cblas.h => usr/include/${DEB_HOST_MULTIARCH}/cblas-netlib.h
+CBLAS/include/cblas_mangling.h usr/include/${DEB_HOST_MULTIARCH}/
+CBLAS/include/cblas_f77.h usr/include/${DEB_HOST_MULTIARCH}/
+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..06b648b
--- /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- at DEB_HOST_MULTIARCH@ \
+                    /usr/lib/@DEB_HOST_MULTIARCH@/blas/libblas.so 10 \
+                    --slave /usr/lib/@DEB_HOST_MULTIARCH@/libblas.a libblas.a- at DEB_HOST_MULTIARCH@ \
+                    /usr/lib/@DEB_HOST_MULTIARCH@/blas/libblas.a \
+                    --slave /usr/include/@DEB_HOST_MULTIARCH@/cblas.h cblas.h- at DEB_HOST_MULTIARCH@ \
+                    /usr/include/@DEB_HOST_MULTIARCH@/cblas-netlib.h \
+                    --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/blas.pc \
+                    blas.pc- at DEB_HOST_MULTIARCH@ /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/blas-netlib.pc
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libblas-dev.prerm b/debian/libblas-dev.preinst
similarity index 53%
rename from debian/libblas-dev.prerm
rename to debian/libblas-dev.preinst
index a6cc0b3..97a7c58 100644
--- a/debian/libblas-dev.prerm
+++ b/debian/libblas-dev.preinst
@@ -2,7 +2,8 @@
 
 set -e
 
-if [ "$1" != "upgrade" ]
+# Cleanup pre-multiarch alternative
+if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt 3.7.1-2~
 then
     update-alternatives --remove libblas.so /usr/lib/libblas/libblas.so
 fi
diff --git a/debian/libblas-dev.prerm.in b/debian/libblas-dev.prerm.in
new file mode 100644
index 0000000..1125c0f
--- /dev/null
+++ b/debian/libblas-dev.prerm.in
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]
+then
+    update-alternatives --remove libblas.so- at DEB_HOST_MULTIARCH@ \
+                        /usr/lib/@DEB_HOST_MULTIARCH@/blas/libblas.so
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libblas-test.install b/debian/libblas-test.install
old mode 100644
new mode 100755
index a45fd05..55286e4
--- a/debian/libblas-test.install
+++ b/debian/libblas-test.install
@@ -1,40 +1,42 @@
-BLAS/TESTING/xblat1c /usr/lib/libblas/
-BLAS/TESTING/xblat2c /usr/lib/libblas/
-BLAS/TESTING/xblat3c /usr/lib/libblas/
-BLAS/TESTING/xblat1d /usr/lib/libblas/
-BLAS/TESTING/xblat2d /usr/lib/libblas/
-BLAS/TESTING/xblat3d /usr/lib/libblas/
-BLAS/TESTING/xblat1s /usr/lib/libblas/
-BLAS/TESTING/xblat2s /usr/lib/libblas/
-BLAS/TESTING/xblat3s /usr/lib/libblas/
-BLAS/TESTING/xblat1z /usr/lib/libblas/
-BLAS/TESTING/xblat2z /usr/lib/libblas/
-BLAS/TESTING/xblat3z /usr/lib/libblas/
-BLAS/TESTING/cblat2.in /usr/lib/libblas/
-BLAS/TESTING/cblat3.in /usr/lib/libblas/
-BLAS/TESTING/dblat2.in /usr/lib/libblas/
-BLAS/TESTING/dblat3.in /usr/lib/libblas/
-BLAS/TESTING/sblat2.in /usr/lib/libblas/
-BLAS/TESTING/sblat3.in /usr/lib/libblas/
-BLAS/TESTING/zblat2.in /usr/lib/libblas/
-BLAS/TESTING/zblat3.in /usr/lib/libblas/
-CBLAS/testing/xccblat1 /usr/lib/libblas/
-CBLAS/testing/xccblat2 /usr/lib/libblas/
-CBLAS/testing/xccblat3 /usr/lib/libblas/
-CBLAS/testing/xdcblat1 /usr/lib/libblas/
-CBLAS/testing/xdcblat2 /usr/lib/libblas/
-CBLAS/testing/xdcblat3 /usr/lib/libblas/
-CBLAS/testing/xscblat1 /usr/lib/libblas/
-CBLAS/testing/xscblat2 /usr/lib/libblas/
-CBLAS/testing/xscblat3 /usr/lib/libblas/
-CBLAS/testing/xzcblat1 /usr/lib/libblas/
-CBLAS/testing/xzcblat2 /usr/lib/libblas/
-CBLAS/testing/xzcblat3 /usr/lib/libblas/
-CBLAS/testing/cin2 /usr/lib/libblas/
-CBLAS/testing/cin3 /usr/lib/libblas/
-CBLAS/testing/din2 /usr/lib/libblas/
-CBLAS/testing/din3 /usr/lib/libblas/
-CBLAS/testing/sin2 /usr/lib/libblas/
-CBLAS/testing/sin3 /usr/lib/libblas/
-CBLAS/testing/zin2 /usr/lib/libblas/
-CBLAS/testing/zin3 /usr/lib/libblas/
+#!/usr/bin/dh-exec
+
+BLAS/TESTING/xblat1c /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/xblat2c /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/xblat3c /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/xblat1d /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/xblat2d /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/xblat3d /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/xblat1s /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/xblat2s /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/xblat3s /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/xblat1z /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/xblat2z /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/xblat3z /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/cblat2.in /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/cblat3.in /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/dblat2.in /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/dblat3.in /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/sblat2.in /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/sblat3.in /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/zblat2.in /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+BLAS/TESTING/zblat3.in /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/xccblat1 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/xccblat2 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/xccblat3 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/xdcblat1 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/xdcblat2 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/xdcblat3 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/xscblat1 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/xscblat2 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/xscblat3 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/xzcblat1 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/xzcblat2 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/xzcblat3 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/cin2 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/cin3 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/din2 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/din3 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/sin2 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/sin3 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/zin2 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
+CBLAS/testing/zin3 /usr/lib/${DEB_HOST_MULTIARCH}/blas/
diff --git a/debian/libblas3.install b/debian/libblas3.install
old mode 100644
new mode 100755
index ded6b76..b7d78f7
--- 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}/blas/
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..8b386d8
--- /dev/null
+++ b/debian/libblas3.postinst.in
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libblas.so.3 \
+                    libblas.so.3- at DEB_HOST_MULTIARCH@ /usr/lib/@DEB_HOST_MULTIARCH@/blas/libblas.so.3 10
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libblas3.prerm b/debian/libblas3.preinst
similarity index 54%
rename from debian/libblas3.prerm
rename to debian/libblas3.preinst
index ea30455..8717386 100644
--- a/debian/libblas3.prerm
+++ b/debian/libblas3.preinst
@@ -2,7 +2,8 @@
 
 set -e
 
-if [ "$1" != "upgrade" ]
+# Cleanup pre-multiarch alternative
+if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt 3.7.1-2~
 then
     update-alternatives --remove libblas.so.3 /usr/lib/libblas/libblas.so.3
 fi
diff --git a/debian/libblas3.prerm.in b/debian/libblas3.prerm.in
new file mode 100644
index 0000000..bea951e
--- /dev/null
+++ b/debian/libblas3.prerm.in
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]
+then
+    update-alternatives --remove libblas.so.3- at DEB_HOST_MULTIARCH@ \
+                        /usr/lib/@DEB_HOST_MULTIARCH@/blas/libblas.so.3
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/liblapack-dev.install b/debian/liblapack-dev.install
old mode 100644
new mode 100755
index 8672ba0..798583d
--- 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-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..2ba2017
--- /dev/null
+++ b/debian/liblapack-dev.postinst.in
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/liblapack.so \
+                    liblapack.so- at DEB_HOST_MULTIARCH@ \
+                    /usr/lib/@DEB_HOST_MULTIARCH@/lapack/liblapack.so 20 \
+                    --slave /usr/lib/@DEB_HOST_MULTIARCH@/liblapack.a \
+                    liblapack.a- at DEB_HOST_MULTIARCH@ \
+                    /usr/lib/@DEB_HOST_MULTIARCH@/lapack/liblapack.a \
+                    --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/lapack.pc \
+                    lapack.pc- at DEB_HOST_MULTIARCH@ \
+                    /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/lapack-netlib.pc
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/liblapack-dev.prerm b/debian/liblapack-dev.preinst
similarity index 54%
rename from debian/liblapack-dev.prerm
rename to debian/liblapack-dev.preinst
index 8bc639b..5c7362e 100644
--- a/debian/liblapack-dev.prerm
+++ b/debian/liblapack-dev.preinst
@@ -2,7 +2,8 @@
 
 set -e
 
-if [ "$1" != "upgrade" ]
+# Cleanup pre-multiarch alternative
+if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt 3.7.1-2~
 then
     update-alternatives --remove liblapack.so /usr/lib/lapack/liblapack.so
 fi
diff --git a/debian/liblapack-dev.prerm.in b/debian/liblapack-dev.prerm.in
new file mode 100644
index 0000000..f1a5860
--- /dev/null
+++ b/debian/liblapack-dev.prerm.in
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]
+then
+    update-alternatives --remove liblapack.so- at DEB_HOST_MULTIARCH@ \
+                        /usr/lib/@DEB_HOST_MULTIARCH@/lapack/liblapack.so
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/liblapack-pic.install b/debian/liblapack-pic.install
old mode 100644
new mode 100755
index 642a54f..5ee4f77
--- a/debian/liblapack-pic.install
+++ b/debian/liblapack-pic.install
@@ -1 +1,3 @@
-pic/liblapack_pic.a usr/lib/lapack/
+#!/usr/bin/dh-exec
+
+pic/liblapack_pic.a usr/lib/${DEB_HOST_MULTIARCH}/
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.prerm b/debian/liblapack-pic.preinst
similarity index 55%
rename from debian/liblapack-pic.prerm
rename to debian/liblapack-pic.preinst
index 7ef791f..cc7151a 100644
--- a/debian/liblapack-pic.prerm
+++ b/debian/liblapack-pic.preinst
@@ -2,7 +2,8 @@
 
 set -e
 
-if [ "$1" != "upgrade" ]
+# Cleanup pre-multiarch alternative
+if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt 3.7.1-2~
 then
     update-alternatives --remove liblapack_pic.a /usr/lib/lapack/liblapack_pic.a
 fi
diff --git a/debian/liblapack-test.install b/debian/liblapack-test.install
old mode 100644
new mode 100755
index 4be6ae4..36e0845
--- a/debian/liblapack-test.install
+++ b/debian/liblapack-test.install
@@ -1,16 +1,18 @@
-TESTING/*.in usr/lib/lapack/
-TESTING/EIG/xeigtstc usr/lib/lapack/
-TESTING/EIG/xeigtstd usr/lib/lapack/
-TESTING/EIG/xeigtsts usr/lib/lapack/
-TESTING/EIG/xeigtstz usr/lib/lapack/
-TESTING/LIN/xlintstc usr/lib/lapack/
-TESTING/LIN/xlintstd usr/lib/lapack/
-TESTING/LIN/xlintsts usr/lib/lapack/
-TESTING/LIN/xlintstz usr/lib/lapack/
-TESTING/LIN/xlintstds usr/lib/lapack/
-TESTING/LIN/xlintstrfc usr/lib/lapack/
-TESTING/LIN/xlintstrfd usr/lib/lapack/
-TESTING/LIN/xlintstrfs usr/lib/lapack/
-TESTING/LIN/xlintstrfz usr/lib/lapack/
-TESTING/LIN/xlintstzc usr/lib/lapack/
-lapack_testing.py usr/lib/lapack/
+#!/usr/bin/dh-exec
+
+TESTING/*.in usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/EIG/xeigtstc usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/EIG/xeigtstd usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/EIG/xeigtsts usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/EIG/xeigtstz usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/LIN/xlintstc usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/LIN/xlintstd usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/LIN/xlintsts usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/LIN/xlintstz usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/LIN/xlintstds usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/LIN/xlintstrfc usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/LIN/xlintstrfd usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/LIN/xlintstrfs usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/LIN/xlintstrfz usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+TESTING/LIN/xlintstzc usr/lib/${DEB_HOST_MULTIARCH}/lapack/
+lapack_testing.py 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/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..48d8e32
--- /dev/null
+++ b/debian/liblapack3.postinst.in
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/liblapack.so.3 \
+                    liblapack.so.3- at DEB_HOST_MULTIARCH@ \
+	            /usr/lib/@DEB_HOST_MULTIARCH@/lapack/liblapack.so.3 10
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/liblapack3.prerm b/debian/liblapack3.preinst
similarity index 54%
rename from debian/liblapack3.prerm
rename to debian/liblapack3.preinst
index 3d3605d..18b1b53 100644
--- a/debian/liblapack3.prerm
+++ b/debian/liblapack3.preinst
@@ -2,7 +2,8 @@
 
 set -e
 
-if [ "$1" != "upgrade" ]
+# Cleanup pre-multiarch alternative
+if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt 3.7.1-2~
 then
     update-alternatives --remove liblapack.so.3 /usr/lib/lapack/liblapack.so.3
 fi
diff --git a/debian/liblapack3.prerm.in b/debian/liblapack3.prerm.in
new file mode 100644
index 0000000..ddd88c0
--- /dev/null
+++ b/debian/liblapack3.prerm.in
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]
+then
+    update-alternatives --remove liblapack.so.3- at DEB_HOST_MULTIARCH@ \
+                        /usr/lib/@DEB_HOST_MULTIARCH@/lapack/liblapack.so.3
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/liblapacke-dev.install b/debian/liblapacke-dev.install
old mode 100644
new mode 100755
index 0db42f7..366efe2
--- 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/lib/${DEB_HOST_MULTIARCH}/
+liblapacke.a usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/debian/liblapacke.install b/debian/liblapacke.install
old mode 100644
new mode 100755
index c798802..1ecd0aa
--- 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..be2826c
--- 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..8f0aec0
--- 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}/
diff --git a/debian/rules b/debian/rules
index a5e7072..f4f6a0d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -88,18 +88,18 @@ override_dh_auto_clean: make.inc
 override_dh_auto_configure: make.inc
 	# Create lapack-netlib.pc
 	sed -e "s%@LAPACK_VERSION@%$(DEB_VERSION_UPSTREAM)%" \
-	    -e "s%@CMAKE_INSTALL_FULL_INCLUDEDIR@%/usr/include%"  \
-	    -e "s%@CMAKE_INSTALL_FULL_LIBDIR@%/usr/lib%" < lapack.pc.in > lapack-netlib.pc
+	    -e "s%@CMAKE_INSTALL_FULL_INCLUDEDIR@%/usr/include/$(DEB_HOST_MULTIARCH)%"  \
+	    -e "s%@CMAKE_INSTALL_FULL_LIBDIR@%/usr/lib/$(DEB_HOST_MULTIARCH)%" < lapack.pc.in > lapack-netlib.pc
 
 	# Create lapacke.pc
 	sed -e "s%@LAPACK_VERSION@%$(DEB_VERSION_UPSTREAM)%" \
-	    -e "s%@CMAKE_INSTALL_FULL_INCLUDEDIR@%/usr/include%"  \
-	    -e "s%@CMAKE_INSTALL_FULL_LIBDIR@%/usr/lib%" < LAPACKE/lapacke.pc.in > LAPACKE/lapacke.pc
+	    -e "s%@CMAKE_INSTALL_FULL_INCLUDEDIR@%/usr/include/$(DEB_HOST_MULTIARCH)%"  \
+	    -e "s%@CMAKE_INSTALL_FULL_LIBDIR@%/usr/lib/$(DEB_HOST_MULTIARCH)%" < LAPACKE/lapacke.pc.in > LAPACKE/lapacke.pc
 
 	# Create blas-netlib.pc
 	sed -e "s%@LAPACK_VERSION@%$(DEB_VERSION_UPSTREAM)%" \
-	    -e "s%@CMAKE_INSTALL_FULL_INCLUDEDIR@%/usr/include%"  \
-	    -e "s%@CMAKE_INSTALL_FULL_LIBDIR@%/usr/lib%" < BLAS/blas.pc.in > BLAS/blas-netlib.pc
+	    -e "s%@CMAKE_INSTALL_FULL_INCLUDEDIR@%/usr/include/$(DEB_HOST_MULTIARCH)%"  \
+	    -e "s%@CMAKE_INSTALL_FULL_LIBDIR@%/usr/lib/$(DEB_HOST_MULTIARCH)%" < BLAS/blas.pc.in > BLAS/blas-netlib.pc
 
 override_dh_auto_build-arch:
 	# Build pic libraries
@@ -197,3 +197,15 @@ override_dh_makeshlibs:
 
 override_dh_shlibdeps:
 	dh_shlibdeps -a -l $$(pwd)
+
+GENERATED_MAINTAINER_SCRIPTS := $(patsubst %.in,%,$(wildcard debian/*.postinst.in debian/*.prerm.in))
+
+$(GENERATED_MAINTAINER_SCRIPTS): %: %.in
+	sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' < $< > $@
+
+override_dh_install: $(GENERATED_MAINTAINER_SCRIPTS)
+	dh_install
+
+override_dh_clean:
+	dh_clean
+	rm -f $(GENERATED_MAINTAINER_SCRIPTS)
diff --git a/debian/run_blas_tests.sh b/debian/run_blas_tests.sh
index 2c9e05c..cdb6f96 100755
--- a/debian/run_blas_tests.sh
+++ b/debian/run_blas_tests.sh
@@ -2,14 +2,16 @@
 
 # This scripts runs all BLAS tests against the BLAS implementation currently
 # selected through the alternatives system
-# (see "update-alternatives --display libblas.so.3").
-# The BLAS implentation can be overriden using LD_LIBRARY_PATH.
+# (see "update-alternatives --display libblas.so.3-${DEB_HOST_MULTIARCH}").
+# The BLAS implementation can be overriden using LD_LIBRARY_PATH.
 
 # This script creates a few temporary files in the current directory.
 
-PATH=$PATH:/usr/lib/libblas
+DEB_HOST_MULTIARCH=$(dpkg-architecture -q DEB_HOST_MULTIARCH)
 
-DATADIR=/usr/lib/libblas
+PATH=/usr/lib/${DEB_HOST_MULTIARCH}/blas:$PATH
+
+DATADIR=/usr/lib/${DEB_HOST_MULTIARCH}/blas
 
 # Test Fortran BLAS
 for p in s d c z
diff --git a/debian/run_lapack_tests.sh b/debian/run_lapack_tests.sh
index 4005086..616d210 100755
--- a/debian/run_lapack_tests.sh
+++ b/debian/run_lapack_tests.sh
@@ -2,15 +2,17 @@
 
 # This scripts runs all LAPACK tests against the BLAS and LAPACK implementations
 # currently selected through the alternatives system
-# (see "update-alternatives --display libblas.so.3" and
-#  "update-alternatives --display liblapack.so.3").
+# (see "update-alternatives --display libblas.so.3-${DEB_HOST_MULTIARCH}" and
+#  "update-alternatives --display liblapack.so.3-${DEB_HOST_MULTIARCH}").
 # The BLAS and LAPACK implementations can be overriden using LD_LIBRARY_PATH.
 
 # This script creates temporary files in the current directory.
 
-for testfile in /usr/lib/lapack/x* /usr/lib/lapack/*.in
+DEB_HOST_MULTIARCH=$(dpkg-architecture -q DEB_HOST_MULTIARCH)
+
+for testfile in /usr/lib/${DEB_HOST_MULTIARCH}/lapack/x* /usr/lib/${DEB_HOST_MULTIARCH}/lapack/*.in
 do
     ln -s ${testfile}
 done
 
-/usr/lib/lapack/lapack_testing.py -d . -r
+/usr/lib/${DEB_HOST_MULTIARCH}/lapack/lapack_testing.py -d . -r
diff --git a/debian/tests/blas-testsuite b/debian/tests/blas-testsuite
index f16cb90..3dc6f95 100755
--- a/debian/tests/blas-testsuite
+++ b/debian/tests/blas-testsuite
@@ -4,12 +4,14 @@
 
 set -e
 
+DEB_HOST_MULTIARCH=$(dpkg-architecture -q DEB_HOST_MULTIARCH)
+
 # Enforce the BLAS contained in package libblas3
-export LD_LIBRARY_PATH=/usr/lib/libblas
+export LD_LIBRARY_PATH=/usr/lib/${DEB_HOST_MULTIARCH}/blas
 
-PATH=/usr/lib/libblas:$PATH
+PATH=/usr/lib/${DEB_HOST_MULTIARCH}/blas:$PATH
 
-DATADIR=/usr/lib/libblas
+DATADIR=/usr/lib/${DEB_HOST_MULTIARCH}/blas
 
 cd $ADTTMP
 
diff --git a/debian/tests/lapack-testsuite b/debian/tests/lapack-testsuite
index c145697..bbf9f76 100755
--- a/debian/tests/lapack-testsuite
+++ b/debian/tests/lapack-testsuite
@@ -4,8 +4,10 @@
 
 set -e
 
+DEB_HOST_MULTIARCH=$(dpkg-architecture -q DEB_HOST_MULTIARCH)
+
 # Enforce the BLAS (resp. LAPACK) contained in package libblas3 (resp. liblapack3)
-export LD_LIBRARY_PATH=/usr/lib/libblas:/usr/lib/lapack
+export LD_LIBRARY_PATH=/usr/lib/${DEB_HOST_MULTIARCH}/blas:/usr/lib/${DEB_HOST_MULTIARCH}/lapack
 
 if [ -z "$ADTTMP" ]
 then
@@ -20,7 +22,7 @@ cd "${ADTTMP}/"
 
 for testprog in xlintst{s,c,d,z} xlintstrf{s,c,d,z} xlintstds xlintstzc xeigtst{s,c,d,z}
 do
-    ln -s /usr/lib/lapack/${testprog}
+    ln -s /usr/lib/${DEB_HOST_MULTIARCH}/lapack/${testprog}
 done
 
 read NUM_ERRORS OTHER_ERRORS <<< $(./lapack_testing.py -r -d . -n)
diff --git a/debian/tests/xerbla-c b/debian/tests/xerbla-c
index 1da974c..2e0cd3c 100755
--- a/debian/tests/xerbla-c
+++ b/debian/tests/xerbla-c
@@ -2,8 +2,10 @@
 set -ue
 cd $ADTTMP
 
+DEB_HOST_MULTIARCH=$(dpkg-architecture -q DEB_HOST_MULTIARCH)
+
 # Enforce the BLAS (resp. LAPACK) contained in package libblas3 (resp. liblapack3)
-export LD_LIBRARY_PATH=/usr/lib/libblas:/usr/lib/lapack
+export LD_LIBRARY_PATH=/usr/lib/${DEB_HOST_MULTIARCH}/blas:/usr/lib/${DEB_HOST_MULTIARCH}/lapack
 
 cat << EOF > tmp.c
 #include <stdio.h>
diff --git a/debian/tests/xerbla-fortran b/debian/tests/xerbla-fortran
index 0be414a..5ee315f 100755
--- a/debian/tests/xerbla-fortran
+++ b/debian/tests/xerbla-fortran
@@ -2,8 +2,10 @@
 set -ue
 cd $ADTTMP
 
+DEB_HOST_MULTIARCH=$(dpkg-architecture -q DEB_HOST_MULTIARCH)
+
 # Enforce the BLAS (resp. LAPACK) contained in package libblas3 (resp. liblapack3)
-export LD_LIBRARY_PATH=/usr/lib/libblas:/usr/lib/lapack
+export LD_LIBRARY_PATH=/usr/lib/${DEB_HOST_MULTIARCH}/blas:/usr/lib/${DEB_HOST_MULTIARCH}/lapack
 
 cat << EOF > tmp.f
         Program LinearEquations

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/lapack.git



More information about the debian-science-commits mailing list