Accepting request 149988 from home:scorot:branches:devel:libraries:c_c++

- add update-alternatives support to allow easy switching between the different blas and lapack implementations
- Add Requires(post) and Requires(preun)
- add patch markups in spec file

OBS-URL: https://build.opensuse.org/request/show/149988
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=16
This commit is contained in:
Corot Sebastien 2013-01-26 11:36:20 +00:00 committed by Git OBS Bridge
parent 467c75daaa
commit 5af87aed22
2 changed files with 61 additions and 11 deletions

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Mon Jan 21 20:19:13 UTC 2013 - scorot@free.fr
- use Requires(post) and Requires(preun) instead of PreReq
- add patch markups in spec file
-------------------------------------------------------------------
Tue Jan 15 20:42:00 UTC 2013 - scorot@free.fr
- add update-alternatives support to allow easy switching between
the different blas and lapack implementations
-------------------------------------------------------------------
Fri Nov 30 20:46:47 UTC 2012 - scorot@free.fr

View File

@ -1,7 +1,7 @@
#
# spec file for package openblas
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2013 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
@ -23,21 +23,23 @@ Summary: An optimized BLAS library based on GotoBLAS2
License: BSD-3-Clause
Group: System/Libraries
Url: https://github.com/xianyi/OpenBLAS/
# Tarball gotten from
# https://github.com/xianyi/OpenBLAS/tarball/v%{version}
Source0: xianyi-OpenBLAS-v%{version}-0-ge01b3d4.tar.gz
Source0: http://github.com/xianyi/OpenBLAS/tarball/v0.2.5/xianyi-OpenBLAS-v%{version}-0-ge01b3d4.tar.gz
# LAPACK
Source1: http://www.netlib.org/lapack/lapack-3.4.2.tgz
# Link against libgfortran
# PATCH-FIX-UPSTREAM openblas-0.1.1-libs.patch: Link against libgfortran
Patch0: openblas-0.1.1-libs.patch
# PATCH-FIX-UPSTREAM c_xerbla_no-void-return.patch
Patch1: c_xerbla_no-void-return.patch
# PATCH-FEATURE-OPENSUSE openblas-0.1.0-soname.patch
Patch2: openblas-0.1.0-soname.patch
# PATCH-FIX-UPSTREAM openblas-0.2.1-noexecstack.patch
Patch3: openblas-0.2.1-noexecstack.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 ia64 ppc ppc64 x86_64
BuildRequires: gcc-fortran
# For execstack
# BuildRequires: prelink
BuildRequires: update-alternatives
Requires(post): update-alternatives
Requires(preun): update-alternatives
%description
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. The
@ -179,13 +181,49 @@ ln -sf lib%{name}p.so.0 lib%{name}p.so
# execstack -c $lib
# done
%post -n libopenblas0 -p /sbin/ldconfig
%post -n libopenblas0
"%_sbindir/update-alternatives" --install \
%{_libdir}/libblas.so.3 libblas.so.3 %{_libdir}/libopenblas.so.0 20
"%_sbindir/update-alternatives" --install \
%{_libdir}/liblapack.so.3 liblapack.so.3 %{_libdir}/libopenblas.so.0 20
/sbin/ldconfig
%preun -n libopenblas0
if [ "$1" = 0 ] ; then
"%_sbindir/update-alternatives" --remove libblas.so.3 %{_libdir}/libopenblas.so.0
"%_sbindir/update-alternatives" --remove liblapack.so.3 %{_libdir}/libopenblas.so.0
fi
%postun -n libopenblas0 -p /sbin/ldconfig
%post -n libopenblaso0 -p /sbin/ldconfig
%post -n libopenblaso0
"%_sbindir/update-alternatives" --install \
%{_libdir}/libblas.so.3 libblas.so.3 %{_libdir}/libopenblaso.so.0 20
"%_sbindir/update-alternatives" --install \
%{_libdir}/liblapack.so.3 liblapack.so.3 %{_libdir}/libopenblaso.so.0 20
/sbin/ldconfig
%preun -n libopenblaso0
if [ "$1" = 0 ] ; then
"%_sbindir/update-alternatives" --remove libblas.so.3 %{_libdir}/libopenblaso.so.0
"%_sbindir/update-alternatives" --remove liblapack.so.3 %{_libdir}/libopenblaso.so.0
fi
%postun -n libopenblaso0 -p /sbin/ldconfig
%post -n libopenblasp0 -p /sbin/ldconfig
%post -n libopenblasp0
"%_sbindir/update-alternatives" --install \
%{_libdir}/libblas.so.3 libblas.so.3 %{_libdir}/libopenblasp.so.0 20
"%_sbindir/update-alternatives" --install \
%{_libdir}/liblapack.so.3 liblapack.so.3 %{_libdir}/libopenblasp.so.0 20
/sbin/ldconfig
%preun -n libopenblasp0
if [ "$1" = 0 ] ; then
"%_sbindir/update-alternatives" --remove libblas.so.3 %{_libdir}/libopenblasp.so.0
"%_sbindir/update-alternatives" --remove liblapack.so.3 %{_libdir}/libopenblasp.so.0
fi
%postun -n libopenblasp0 -p /sbin/ldconfig
%clean