[SCM] ATLAS packaging for Debian branch, master, updated. upstream/3.8.4-26-gc81c720
Sébastien Villemot
sebastien at debian.org
Fri Jun 7 13:47:28 UTC 2013
The following commit has been merged in the master branch:
commit bad2bc7bf708535d11f3282434ed194cae709fb7
Author: Sébastien Villemot <sebastien at debian.org>
Date: Thu Jun 6 15:27:49 2013 +0200
Refactor symlink handlink
- move symlinks for lib{cblas,f77blas,atlas,lapack_atlas} out of the libblas.so.3 alternative, and rather ship them as traditional symlinks
- add various missing *.a symlinks
diff --git a/debian/changelog b/debian/changelog
index f567c48..1efbb09 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,12 @@ atlas (3.10.1-1) UNRELEASED; urgency=low
release archs. This will make the package build much faster and should
eliminate transient build failures due to excessive variance in the
timings.
+ * Move symlinks for lib{cblas,f77blas,atlas,lapack_atlas} out of the
+ libblas.so.3 alternative and make them always present, so that
+ software relying on these libs do not break when another alternative
+ is selected for BLAS
+ * Add libblas.a as slave in the libblas.so alternative (Closes: #701921)
+ * Add symlinks for lib{f77blas,atlas}.a in /usr/lib (Closes: #666203)
* corei1.diff: remove patch, applied upstream
* Use my @debian.org email address
* Remove obsolete DM-Upload-Allowed flag
diff --git a/debian/libatlas-base-dev.links b/debian/libatlas-base-dev.links
new file mode 100644
index 0000000..74d032e
--- /dev/null
+++ b/debian/libatlas-base-dev.links
@@ -0,0 +1,8 @@
+usr/lib/atlas-base/libcblas.so usr/lib/libcblas.so
+usr/lib/atlas-base/libcblas.a usr/lib/libcblas.a
+usr/lib/atlas-base/libf77blas.so usr/lib/libf77blas.so
+usr/lib/atlas-base/libf77blas.a usr/lib/libf77blas.a
+usr/lib/atlas-base/libatlas.so usr/lib/libatlas.so
+usr/lib/atlas-base/libatlas.a usr/lib/libatlas.a
+usr/lib/atlas-base/liblapack_atlas.so usr/lib/liblapack_atlas.so
+usr/lib/atlas-base/liblapack_atlas.a usr/lib/liblapack_atlas.a
diff --git a/debian/libatlas-base-dev.postinst b/debian/libatlas-base-dev.postinst
index 1fc7057..184a5de 100644
--- a/debian/libatlas-base-dev.postinst
+++ b/debian/libatlas-base-dev.postinst
@@ -4,18 +4,8 @@ set -e
update-alternatives --install /usr/lib/libblas.so libblas.so \
/usr/lib/atlas-base/atlas/libblas.so 35 \
- --slave /usr/lib/libcblas.so libcblas.so \
- /usr/lib/atlas-base/libcblas.so \
- --slave /usr/lib/liblapack_atlas.so liblapack_atlas.so \
- /usr/lib/atlas-base/liblapack_atlas.so \
- --slave /usr/lib/libatlas.so libatlas.so \
- /usr/lib/atlas-base/libatlas.so \
- --slave /usr/lib/libcblas.a libcblas.a \
- /usr/lib/atlas-base/libcblas.a \
- --slave /usr/lib/libf77blas.so libf77blas.so \
- /usr/lib/atlas-base/libf77blas.so \
- --slave /usr/lib/liblapack_atlas.a liblapack_atlas.a \
- /usr/lib/atlas-base/liblapack_atlas.a
+ --slave /usr/lib/libblas.a libblas.a \
+ /usr/lib/atlas-base/atlas/libblas.a
update-alternatives --install /usr/lib/liblapack.so liblapack.so \
/usr/lib/atlas-base/atlas/liblapack.so 5 \
diff --git a/debian/libatlas-base-dev.preinst b/debian/libatlas-base-dev.preinst
new file mode 100644
index 0000000..4a35f33
--- /dev/null
+++ b/debian/libatlas-base-dev.preinst
@@ -0,0 +1,17 @@
+#! /bin/sh
+
+set -e
+
+# In 3.10.1-1, some symlinks were moved out of the alternatives system
+# The following ensures that they are freed by the alternatives system before unpacking
+if [ $1 = "upgrade" -a `dpkg --compare-versions "$2" ge 3.8.4-4~exp1` -a `dpkg --compare-versions "$2" lt 3.10.1-1` ]
+then
+ update-alternatives --remove libblas.so /usr/lib/atlas-base/atlas/libblas.so
+fi
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libatlas3-base.links b/debian/libatlas3-base.links
new file mode 100644
index 0000000..7c8885e
--- /dev/null
+++ b/debian/libatlas3-base.links
@@ -0,0 +1,8 @@
+usr/lib/atlas-base/libcblas.so.3 usr/lib/libcblas.so.3
+usr/lib/atlas-base/libcblas.so.3 usr/lib/libcblas.so.3gf
+usr/lib/atlas-base/libf77blas.so.3 usr/lib/libf77blas.so.3
+usr/lib/atlas-base/libf77blas.so.3 usr/lib/libf77blas.so.3gf
+usr/lib/atlas-base/libatlas.so.3 usr/lib/libatlas.so.3
+usr/lib/atlas-base/libatlas.so.3 usr/lib/libatlas.so.3gf
+usr/lib/atlas-base/liblapack_atlas.so.3 usr/lib/liblapack_atlas.so.3
+usr/lib/atlas-base/liblapack_atlas.so.3 usr/lib/liblapack_atlas.so.3gf
diff --git a/debian/libatlas3-base.postinst b/debian/libatlas3-base.postinst
index 865517d..8370406 100644
--- a/debian/libatlas3-base.postinst
+++ b/debian/libatlas3-base.postinst
@@ -5,30 +5,25 @@ set -e
update-alternatives --install /usr/lib/libblas.so.3 libblas.so.3 \
/usr/lib/atlas-base/atlas/libblas.so.3 35 \
- --slave /usr/lib/libcblas.so.3 libcblas.so.3 \
- /usr/lib/atlas-base/libcblas.so.3 \
- --slave /usr/lib/libf77blas.so.3 libf77blas.so.3 \
- /usr/lib/atlas-base/libf77blas.so.3 \
- --slave /usr/lib/libatlas.so.3 libatlas.so.3 \
- /usr/lib/atlas-base/libatlas.so.3 \
- --slave /usr/lib/liblapack_atlas.so.3 liblapack_atlas.so.3 \
- /usr/lib/atlas-base/liblapack_atlas.so.3 \
--slave /usr/lib/libblas.so.3gf libblas.so.3gf \
- /usr/lib/atlas-base/atlas/libblas.so.3 \
- --slave /usr/lib/libcblas.so.3gf libcblas.so.3gf \
- /usr/lib/atlas-base/libcblas.so.3 \
- --slave /usr/lib/libf77blas.so.3gf libf77blas.so.3gf \
- /usr/lib/atlas-base/libf77blas.so.3 \
- --slave /usr/lib/libatlas.so.3gf libatlas.so.3gf \
- /usr/lib/atlas-base/libatlas.so.3 \
- --slave /usr/lib/liblapack_atlas.so.3gf liblapack_atlas.so.3gf \
- /usr/lib/atlas-base/liblapack_atlas.so.3
+ /usr/lib/atlas-base/atlas/libblas.so.3
update-alternatives --install /usr/lib/liblapack.so.3 liblapack.so.3 \
/usr/lib/atlas-base/atlas/liblapack.so.3 5 \
--slave /usr/lib/liblapack.so.3gf liblapack.so.3gf \
/usr/lib/atlas-base/atlas/liblapack.so.3
+# In 3.10.1-1, some symlinks were moved out of the alternatives system, and are
+# now shipped as normal symlinks.
+#
+# However, for an unknown reason, dpkg does not re-create the libatlas.so.3gf
+# symlink on upgrade. The following is a workaround for what seems to be a dpkg
+# bug.
+if [ $1 = "configure" -a -n "$2" -a `dpkg --compare-versions "$2" ge 3.8.4-4~exp1` -a `dpkg --compare-versions "$2" lt 3.10.1-1` ]
+then
+ ln -sf atlas-base/libatlas.so.3 /usr/lib/libatlas.so.3gf
+fi
+
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
diff --git a/debian/libatlas3-base.preinst b/debian/libatlas3-base.preinst
index 54cbf1a..3954d29 100644
--- a/debian/libatlas3-base.preinst
+++ b/debian/libatlas3-base.preinst
@@ -8,6 +8,12 @@ update-alternatives --remove libblas.so.3gf /usr/lib/atlas-base/atlas/libblas.so
# For the transition liblapack3gf => liblapack3
update-alternatives --remove liblapack.so.3gf /usr/lib/atlas-base/liblapack_atlas.so.3
+# In 3.10.1-1, some symlinks were moved out of the alternatives system
+# The following ensures that they are freed by the alternatives system before unpacking
+if [ $1 = "upgrade" -a `dpkg --compare-versions "$2" ge 3.8.4-4~exp1` -a `dpkg --compare-versions "$2" lt 3.10.1-1` ]
+then
+ update-alternatives --remove libblas.so.3 /usr/lib/atlas-base/atlas/libblas.so.3
+fi
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
--
ATLAS packaging for Debian
More information about the debian-science-commits
mailing list