[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