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