From 85450298294940aa1878af9dc51a4ccb130fa245ec5e57816b4a0e245949773b Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 27 Jun 2014 04:53:11 +0000 Subject: [PATCH] Accepting request 238325 from devel:libraries:c_c++ - Move blas and lapack libraries to subdirectories for fixing update-alternatives [bnc#861081] - Add %posttrans scripts for fixing migration problems. (forwarded request 238081 from Dmitry_R) OBS-URL: https://build.opensuse.org/request/show/238325 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lapack?expand=0&rev=37 --- lapack.changes | 7 ++++++ lapack.spec | 59 ++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 50 insertions(+), 16 deletions(-) diff --git a/lapack.changes b/lapack.changes index 2d4aae8..1617ed8 100644 --- a/lapack.changes +++ b/lapack.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Jun 18 08:15:19 UTC 2014 - dmitry_r@opensuse.org + +- Move blas and lapack libraries to subdirectories for fixing + update-alternatives [bnc#861081] +- Add %posttrans scripts for fixing migration problems. + ------------------------------------------------------------------- Thu Nov 21 20:52:18 UTC 2013 - burnus@net-b.de diff --git a/lapack.spec b/lapack.spec index 5da8777..24f8b41 100644 --- a/lapack.spec +++ b/lapack.spec @@ -1,7 +1,7 @@ # # spec file for package lapack # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -173,7 +173,6 @@ This implementation introduces: - input scalars passed by value; - error code as a return value instead of the INFO parameter. - %package -n lapacke-devel Requires: liblapacke3 = %{version} Provides: lapacke = %{version} @@ -309,20 +308,29 @@ rm -f DOCS/psfig.tex # see bnc#757332 %install install -d %{buildroot}/%{_libdir} -install -d %{buildroot}/%{_includedir} install -d %{buildroot}/%{_sysconfdir}/alternatives +## BLAS +install -d %{buildroot}/%{_libdir}/blas install -m 644 libblas.a %{buildroot}/%{_libdir} install -m 644 libblas_pic.a %{buildroot}/%{_libdir} +install -m 755 libblas.so.%{version} %{buildroot}/%{_libdir}/blas +ln -s libblas.so.%{version} %{buildroot}/%{_libdir}/blas/libblas.so.3 +ln -s blas/libblas.so.%{version} %{buildroot}/%{_libdir}/libblas.so +# dummy target for update-alternatives +ln -s blas/libblas.so.%{version} %{buildroot}/%{_libdir}/libblas.so.3 +ln -s libblas.so.%{version} %{buildroot}/%{_sysconfdir}/alternatives/libblas.so.3 +## LAPACK +install -d %{buildroot}/%{_libdir}/lapack install -m 644 liblapack.a %{buildroot}/%{_libdir} install -m 644 liblapack_pic.a %{buildroot}/%{_libdir} -install -m 755 libblas.so.%{version} %{buildroot}/%{_libdir} -ln -s libblas.so.%{version} %{buildroot}/%{_sysconfdir}/alternatives/libblas.so.3 -ln -s libblas.so.%{version} %{buildroot}/%{_libdir}/libblas.so.3 -ln -s libblas.so.%{version} %{buildroot}/%{_libdir}/libblas.so -install -m 755 liblapack.so.%{version} %{buildroot}/%{_libdir} +install -m 755 liblapack.so.%{version} %{buildroot}/%{_libdir}/lapack +ln -s liblapack.so.%{version} %{buildroot}/%{_libdir}/lapack/liblapack.so.3 +ln -s lapack/liblapack.so.%{version} %{buildroot}/%{_libdir}/liblapack.so +# dummy target for update-alternatives +ln -s lapack/liblapack.so.%{version} %{buildroot}/%{_libdir}/liblapack.so.3 ln -s liblapack.so.%{version} %{buildroot}/%{_sysconfdir}/alternatives/liblapack.so.3 -ln -s liblapack.so.%{version} %{buildroot}/%{_libdir}/liblapack.so.3 -ln -s liblapack.so.%{version} %{buildroot}/%{_libdir}/liblapack.so +## LAPACKE +install -d %{buildroot}/%{_includedir} cd lapacke install -m 644 include/*.h %{buildroot}/%{_includedir} install -m 644 liblapacke.a %{buildroot}/%{_libdir} @@ -331,6 +339,7 @@ install -m 755 liblapacke.so.%{version} %{buildroot}/%{_libdir} ln -s liblapacke.so.%{version} %{buildroot}/%{_libdir}/liblapacke.so.3 ln -s liblapacke.so.%{version} %{buildroot}/%{_libdir}/liblapacke.so cd .. +## documentation install -d %{buildroot}%{_mandir}/man3 install -m 0644 DOCS/man/man3/*.3 %{buildroot}%{_mandir}/man3/ find BLAS/SRC/ -name \*.f -type f -printf "%{_mandir}/man3/%f.3.gz\n" \ @@ -380,35 +389,51 @@ ln -s DLADIV.3.gz %{buildroot}/%{_mandir}/man3/DLADIV2.3.gz %post -n libblas3 %_sbindir/update-alternatives --install \ - %{_libdir}/libblas.so.3 libblas.so.3 %{_libdir}/libblas.so.%{version} 50 + %{_libdir}/libblas.so.3 libblas.so.3 %{_libdir}/blas/libblas.so.3 50 /sbin/ldconfig %preun -n libblas3 if [ "$1" = 0 ] ; then - %_sbindir/update-alternatives --remove libblas.so.3 %{_libdir}/libblas.so.%{version} + %_sbindir/update-alternatives --remove libblas.so.3 %{_libdir}/blas/libblas.so.3 fi %postun -n libblas3 -p /sbin/ldconfig +%posttrans -n libblas3 +if [ "$1" = 0 ] ; then + if ! [ -f %{_libdir}/libblas.so.3 ] ; then + "%_sbindir/update-alternatives" --auto libblas.so.3 + fi +fi + %post -n liblapack3 %_sbindir/update-alternatives --install \ - %{_libdir}/liblapack.so.3 liblapack.so.3 %{_libdir}/liblapack.so.%{version} 50 + %{_libdir}/liblapack.so.3 liblapack.so.3 %{_libdir}/lapack/liblapack.so.3 50 /sbin/ldconfig %preun -n liblapack3 if [ "$1" = 0 ] ; then - %_sbindir/update-alternatives --remove liblapack.so.3 %{_libdir}/liblapack.so.%{version} + %_sbindir/update-alternatives --remove liblapack.so.3 %{_libdir}/lapack/liblapack.so.3 fi %postun -n liblapack3 -p /sbin/ldconfig +%posttrans -n liblapack3 +if [ "$1" = 0 ] ; then + if ! [ -f %{_libdir}/liblapack.so.3 ] ; then + "%_sbindir/update-alternatives" --auto liblapack.so.3 + fi +fi + %post -n liblapacke3 -p /sbin/ldconfig %postun -n liblapacke3 -p /sbin/ldconfig %files -n liblapack3 %defattr(-,root,root) %doc LICENSE README -%{_libdir}/liblapack.so.%{version} +%dir %{_libdir}/lapack +%{_libdir}/lapack/liblapack.so.%{version} +%{_libdir}/lapack/liblapack.so.3 %if 0%{?suse_version} >= 1120 %ghost %{_libdir}/liblapack.so.3 %ghost %{_sysconfdir}/alternatives/liblapack.so.3 @@ -420,7 +445,9 @@ fi %files -n libblas3 %defattr(-,root,root) %doc LICENSE README -%{_libdir}/libblas.so.%{version} +%dir %{_libdir}/blas +%{_libdir}/blas/libblas.so.%{version} +%{_libdir}/blas/libblas.so.3 %if 0%{?suse_version} >= 1120 %ghost %{_libdir}/libblas.so.3 %ghost %{_sysconfdir}/alternatives/libblas.so.3