- Fix missing symbols for deprecated functions in LAPACK, add Restore_missing_deprecated_prototypes.patch - Add -Wl,--no-undefined when creating shared libraries, to catch missing symbols during build - Test fixes: * Build test binaries during %build, run in %check * Fix incorrect path for test output, to actually catch any test failures - Spec file cleanup: * Do not rename blaslib, it is used for test binaries * Use same commands for building lapacke as for other libs * Remove unused FFLAGS_NOOP for test binaries - Remove unneeded links. These will be taken care of by the update-alternatives. This will bring this package in sync with openblas. - Build deprecated functions again to avoid breaking the ABI. (boo#1207989) - Make library links in the alternatives directory arch dependent. This avoids conflicts when both 32-bit and 64-bit versions are installed (boo#1207563). - Consolidate dummy links for update-alternatives bringing them in sync with openblas. Add alternatives for lapacke. - Add Fix-out-of-bounds-read.patch to fix out of bound reads when user input is not validated properly. (bsc#1193562, CVE-2021-4048) - Rename conflicting MIN.3 and MAX.3 manpages into lapack-{MAX,MIN}.3 - Do not create the dummy files in /etc/alternatives during %install: managed by update-alternatives and packaged as ghost. - stop owning directories provided by filesystem (bsc#1184786) - Update to version 3.9.0: * LAPACK QR-preconditioned QR SVD method - xGESVDQ routines * LAPACK Householder Reconstruction - Add Avoid-out-of-bounds-accesses-in-complex-EIG-tests.patch - Rebase lapack-3.2.2.patch - Drop -std=legacy from fortran flags: * add Fix-MinGW-build-error.patch * add Fix-some-minor-inconsistencies-in-LAPACKE_czgesvdq.patch - Remove pre_checkin.sh, remove lapack-man.changes copy - Build CBLAS from lapack package * update baselibs.conf - Clean up spec file: * remove useless make cleanlib * remove ineffective duplicated 'make ..lib' calls with deviating opts, as the object files are not removed (fortuanately) the existing PIC files are used for the static libraries * remove fortran-only -std=legacy opt from CFLAGS - lapack-man: * Build manpages from same sources as the binaries (3.8.0) instead of old 3.5.0. * Merge blas-man package into lapack-man package. Avoids tedious splitting of the two. * Use fdupes macro instead of trying to deduplicate man pages manually. - Cleanup lapack spec: * Remove conditionals for obsolete distro versions * Only use python3-base instead of python3 * Drop old copy of lapack_testing.py as separate source - Add -std=legacy in order to fix boo#1166619. - Use FAT LTO objects in order to provide proper static library. - Update to version 3.8.0: * Symmetric-indefinite Factorization: Aasen’s tridiagonalization 2 stage. * LAPACKE interfaces. - Static -pic libraries are no longer built. - Package lapack_testing.py from lapack 3.8.0 with adjusted interpreter and adjust BuildRequires to python3. [bnc#1075766] - Correct RPM groups - Build the man pages in a separate .spec file (lapack-man). The resulting rpm names are kept identical. This allows us to drop doxygen out of lapack's main package buildroot, thus eliminating a build cycle. - Fix static libraries list - Add baselibs.conf to sources - Include update-alternatives dependency in subpackages that use it to guarantee it will be available. - Move blas and lapack libraries to subdirectories for fixing update-alternatives [bnc#861081] - Add %posttrans scripts for fixing migration problems. - Update to 3.5.0 * Added Hermitian LDLT factorization routines with rook pivoting algorithm * 2-by-1 CSD to be used for tall and skinny matrix with orthonormal columns * New stopping criteria for balancing * New complex division algorithm * Various improvements - No longer removing files due to license reasons as one file is no longer part of Lapack and the others have been replaced by new ones under the normal LAPACK license - packaged symlinks created by update-alternative as %ghost files - removed quotes from update-alternative command to silence rpmlint warning - Split devel packages into devel and devel-static - add update-alternative support to allow user to easily switch between several blas and lapack libraries - Update to 3.4.2 * Bug fixes - Fix bnc#772628 - update baselibs.conf - build the c interface lapacke - doxygen >= 1.7 is required for building docu - Change obsoletes '<=' for lapack and blas back to '<', there was a version update in between - Remove psfig.tex (bnc#757332) - fixing dependencies for devel-32bit - Update to 3.4.1 * Bug fixes - Undo spec file obfuscation - Fixed building on openSUSE 11.4 by fixing defattr - Made the package groups consistent: Development/Libraries/Parallel - Cleaned up spec file formatting - Made all requires use the new package naming - Adhere to shared library policy, packages containing *.so or *.h files have to be named $FOO-devel, packages containing *.a files either have to be named $FOO-devel-static or provide this name - Set license to 'BSD-3-Clause', according to the file LICENSE and the description on http://www.netlib.org/lapack/ it's not public domain - Package README and LICENSE in library packages - Removed rpmlint filters - Use upstream tarball URL - patch license to follow spdx.org standard - Remove redundant/unwanted tags/section (cf. specfile guidelines) - Use %_smp_mflags for parallel building - Update to 3.4.0 * xGEQRT: QR factorization (improved interface) * xGEQRT3: recursive QR factorization. * xTPQRT: Communication-Avoiding QR sequential kernels. * Bug fixes. * Changes see http://www.netlib.org/lapack/lapack-3.4.0.html - Run BLAS and LAPACK testsuite when building - Update to 3.3.1 [bnc#654560] * New procedures to compute the complete CS decomposition of a partitioned unitary matrix * Level-3 BLAS symmetric indefinite solve (xSYTRS) and symmetric indefinite inversion (xSYTRI) * Bug fixes * Changes see at http://www.netlib.org/lapack/lapack-3.3.1.html and http://www.netlib.org/lapack/lapack-3.3.0.html - Add baselibs. [bnc#630656] - Update to version 3.2.2 * Bug fix release * Changes see at http://www.netlib.org/lapack/lapack-3.2.2.html - package man and blas-man as noarch - Drop -O3 -funroll-all-loops compiler flags, build dcabs1.f with -O0. [bnc#569978] - Update to version 3.2.1 [bnc#504669] * Changes see at http://www.netlib.org/lapack/lapack-3.2.1.html - Update to version 3.2.0. [bnc#456384] * Extra Precise Iterative Refinement * XBLAS * Non-Negative Diagonals from Householder QR * High Performance QR and Householder Reflections on Low-Profile Matrices * New fast and accurate Jacobi SVD * Routines for Rectangular Full Packed format * Pivoted Cholesky * Mixed precision iterative refinement * Some new variants added for the one sided factorization * More robust DQDS algorithm - use versioned requires/obsoletes - %run_ldconfig is deprecated - prefix the patch with the packagename - Update to version 3.1.1. [#265999] - Integrates 3.1.0 errata and missing blas routines. - Provides better gfortran SECOND integration. - Split shared libraries into their own versioned subpackage. - Include fixes for the 3.1.0 errata. - Add missing CSROT, DROTM, DROTMG, DSDOT, SDSDOT, SROTM, SROTMG and ZDROT from blas distribution. [#228824] - Restore missing so symlinks. - Update to version 3.1.0. - Rename blasman to blas-man. - Rename lapack-manpages to lapack-man. - Trim BuildRequires. - Build and package -fPIC static library variants. [#205310] - Fix installing of the libblas.so symlink. - Do not package the matrix testing setup library libtmglib. - Do not package useless README file. - converted neededforbuild to BuildRequires - Add gmp-devel to nfb - fixed all other instances of -fno-f2c, and g77 -> gfortran use. - g77 -> gfortran, -fno-f2c is no more. - Updated manpages (#48784) - remove BuildPrereq, BuildRequires is generated - Fixed permission for manpages (#36340) - add %run_ldconfig - Use $RPM_OPT_FLAGS, so it builds on ppc64. - Fixed manpage conflict - correct library version - use -fPIC for all shared objects - link liblapack with shared libblas (same reason) - fixed %{_lib}-problems for x86_64 - Fixed bug #9925, adding blas to required packages. - Fixed bug #6803 - compile with '-01' for IA64 due to 'internal compiler error' in g77 - Fixed bug of missing objects (#4028) - Applied new patches - Modified group, url and files in spec - Applied new patches - Applied new patched - Moved manpages to /usr/share/man - Update to latest version - Package split lapack + blas - Package split: man pages + libraries - New package: LAPACK Linear Algebra Package (LAPACK) OBS-URL: https://build.opensuse.org/request/show/1064110 OBS-URL: https://build.opensuse.org/package/show/science/lapack?expand=0&rev=33
457 lines
16 KiB
RPMSpec
457 lines
16 KiB
RPMSpec
#
|
|
# spec file for package lapack
|
|
#
|
|
# Copyright (c) 2023 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: lapack
|
|
Version: 3.9.0
|
|
Release: 0
|
|
Summary: Linear Algebra Package
|
|
License: BSD-3-Clause
|
|
Group: Development/Libraries/Parallel
|
|
URL: https://www.netlib.org/lapack/
|
|
Source0: https://github.com/Reference-LAPACK/lapack/archive/v%{version}.tar.gz#/lapack-%{version}.tar.gz
|
|
Source99: baselibs.conf
|
|
Patch1: lapack-3.2.2.patch
|
|
# PATCH-FIX-UPSTREAM -- https://github.com/Reference-LAPACK/lapack/commit/489a2884c22e.patch
|
|
Patch2: Fix-MinGW-build-error.patch
|
|
# PATCH-FIX-UPSTREAM -- https://github.com/Reference-LAPACK/lapack/commit/d168b4d2ae67.patch
|
|
Patch3: Fix-some-minor-inconsistencies-in-LAPACKE_czgesvdq.patch
|
|
# PATCH-FIX-UPSTREAM -- https://github.com/Reference-LAPACK/lapack/commit/ea2a102d3827.patch
|
|
Patch4: Avoid-out-of-bounds-accesses-in-complex-EIG-tests.patch
|
|
# PATCH-FIX-UPSTREAM -- https://github.com/Reference-LAPACK/lapack/commit/38f3eeee3108b18158409ca2a100e6fe03754781
|
|
Patch5: Fix-out-of-bounds-read.patch
|
|
# PATCH-FIX-UPSTREAM
|
|
Patch6: https://github.com/Reference-LAPACK/lapack/commit/87536aa3c8bb.patch#/Restore_missing_deprecated_prototypes.patch
|
|
|
|
BuildRequires: gcc-fortran
|
|
BuildRequires: python3-base
|
|
BuildRequires: update-alternatives
|
|
Requires(pre): update-alternatives
|
|
|
|
%description
|
|
LAPACK provides routines for solving systems of simultaneous linear
|
|
equations, least-squares solutions of linear systems of equations,
|
|
eigenvalue problems, and singular value problems. The associated matrix
|
|
factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are
|
|
also provided, as are related computations such as reordering of the
|
|
Schur factorizations and estimating condition numbers. Dense and banded
|
|
matrices are handled, but not general sparse matrices. In all areas,
|
|
similar functionality is provided for real and complex matrices, in
|
|
both single and double precision.
|
|
|
|
%package -n liblapack3
|
|
Summary: LAPACK Shared Library
|
|
Group: Development/Libraries/Parallel
|
|
Requires(pre): update-alternatives
|
|
|
|
%description -n liblapack3
|
|
LAPACK provides routines for solving systems of simultaneous linear
|
|
equations, least-squares solutions of linear systems of equations,
|
|
eigenvalue problems, and singular value problems. The associated matrix
|
|
factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are
|
|
also provided, as are related computations such as reordering of the
|
|
Schur factorizations and estimating condition numbers. Dense and banded
|
|
matrices are handled, but not general sparse matrices. In all areas,
|
|
similar functionality is provided for real and complex matrices, in
|
|
both single and double precision.
|
|
|
|
%package -n libblas3
|
|
Summary: BLAS Shared Library
|
|
Group: Development/Libraries/Parallel
|
|
Requires(pre): update-alternatives
|
|
|
|
%description -n libblas3
|
|
BLAS (Basic Linear Algebra Subprograms) is a standard library for
|
|
numerical algebra. BLAS provides a number of basic algorithms for
|
|
linear algebra.
|
|
|
|
%package devel
|
|
Summary: Linear Algebra Package
|
|
Group: Development/Libraries/Parallel
|
|
Requires: blas-devel = %{version}
|
|
Requires: liblapack3 = %{version}
|
|
Provides: lapack = %{version}
|
|
Obsoletes: lapack < %{version}
|
|
|
|
%description devel
|
|
LAPACK provides routines for solving systems of simultaneous linear
|
|
equations, least-squares solutions of linear systems of equations,
|
|
eigenvalue problems, and singular value problems. The associated matrix
|
|
factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are
|
|
also provided, as are related computations such as reordering of the
|
|
Schur factorizations and estimating condition numbers. Dense and banded
|
|
matrices are handled, but not general sparse matrices. In all areas,
|
|
similar functionality is provided for real and complex matrices, in
|
|
both single and double precision.
|
|
|
|
%package devel-static
|
|
Summary: Linear Algebra Package - static libraries
|
|
Group: Development/Libraries/Parallel
|
|
Requires: lapack-devel = %{version}
|
|
|
|
%description devel-static
|
|
LAPACK provides routines for solving systems of simultaneous linear
|
|
equations, least-squares solutions of linear systems of equations,
|
|
eigenvalue problems, and singular value problems. The associated matrix
|
|
factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are
|
|
also provided, as are related computations such as reordering of the
|
|
Schur factorizations and estimating condition numbers. Dense and banded
|
|
matrices are handled, but not general sparse matrices. In all areas,
|
|
similar functionality is provided for real and complex matrices, in
|
|
both single and double precision.
|
|
|
|
%package -n blas-devel
|
|
Summary: Basic Linear Algebra Subprograms
|
|
Group: Development/Libraries/Parallel
|
|
Requires: libblas3 = %{version}
|
|
Provides: blas = %{version}
|
|
Obsoletes: blas < %{version}
|
|
|
|
%description -n blas-devel
|
|
BLAS (Basic Linear Algebra Subprograms) is a standard library for
|
|
numerical algebra. BLAS provides a number of basic algorithms for
|
|
linear algebra. BLAS is fast and well-tested, was written in FORTRAN 77
|
|
and built with gfortran. BLAS manual pages are available in the
|
|
blas-man package.
|
|
|
|
%package -n blas-devel-static
|
|
Summary: Basic Linear Algebra Subprograms
|
|
Group: Development/Libraries/Parallel
|
|
Requires: blas-devel = %{version}
|
|
|
|
%description -n blas-devel-static
|
|
BLAS (Basic Linear Algebra Subprograms) is a standard library for
|
|
numerical algebra. BLAS provides a number of basic algorithms for
|
|
linear algebra. BLAS is fast and well-tested, was written in FORTRAN 77
|
|
and built with gfortran. BLAS manual pages are available in the
|
|
blas-man package.
|
|
|
|
%package -n liblapacke3
|
|
Summary: LAPACKE development files
|
|
Group: Development/Libraries/C and C++
|
|
|
|
%description -n liblapacke3
|
|
This library provides a native C interface to LAPACK routines available
|
|
at www.netlib.org/lapack to facilitate usage of LAPACK functionality
|
|
for C programmers.
|
|
|
|
This implementation introduces:
|
|
- row-major and column-major matrix layout controlled by the first function
|
|
parameter;
|
|
- an implementation with working arrays (middle-level interface) as well as
|
|
without working arrays (high-level interface);
|
|
- input scalars passed by value;
|
|
- error code as a return value instead of the INFO parameter.
|
|
|
|
%package -n lapacke-devel
|
|
Summary: LAPACKE development files
|
|
Group: Development/Libraries/C and C++
|
|
Requires: liblapacke3 = %{version}
|
|
Provides: lapacke = %{version}
|
|
|
|
%description -n lapacke-devel
|
|
LAPACKE headers and development files.
|
|
|
|
%package -n lapacke-devel-static
|
|
Summary: LAPACKE static libraries
|
|
Group: Development/Libraries/C and C++
|
|
Requires: lapacke-devel = %{version}
|
|
|
|
%description -n lapacke-devel-static
|
|
LAPACKE development files - static libraries.
|
|
|
|
%package -n libcblas3
|
|
Summary: CBLAS Shared Library
|
|
Group: Development/Libraries/C and C++
|
|
Requires(pre): update-alternatives
|
|
# Only version ever packaged separately
|
|
Obsoletes: libcblas3 == 20110120
|
|
|
|
%description -n libcblas3
|
|
This library provides a native C interface to BLAS routines available
|
|
at www.netlib.org/blas to facilitate usage of BLAS functionality
|
|
for C programmers.
|
|
|
|
%package -n cblas-devel
|
|
Summary: CBLAS development files
|
|
Group: Development/Libraries/C and C++
|
|
Requires: libcblas3 = %{version}
|
|
Provides: cblas = %{version}
|
|
|
|
%description -n cblas-devel
|
|
cblas headers and development files.
|
|
|
|
%package -n cblas-devel-static
|
|
Summary: CBLAS - static libraries
|
|
Group: Development/Libraries/C and C++
|
|
Requires: cblas-devel = %{version}
|
|
|
|
%description -n cblas-devel-static
|
|
The cblas-devel-static package contains the CBLAS static libraries
|
|
for -static linking. You do not need these, unless you link
|
|
statically, which is highly discouraged.
|
|
|
|
%prep
|
|
%setup -q
|
|
%autopatch -p1
|
|
sed -i -e '1 s@env python@python3@' lapack_testing.py
|
|
|
|
%build
|
|
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
|
%global optflags_f %{optflags}
|
|
%ifarch %{ix86}
|
|
%global test_precflags "-ffloat-store"
|
|
%endif
|
|
|
|
cp make.inc.example make.inc
|
|
# for ABI compatibility we need to build the deprecated interfaces
|
|
echo 'BUILD_DEPRECATED = Yes' >> make.inc
|
|
|
|
%make_build cleanlib
|
|
%make_build blaslib \
|
|
FFLAGS="%{optflags_f} -fPIC"
|
|
mkdir tmp
|
|
( cd tmp; ar x ../librefblas.a )
|
|
gfortran -shared -Wl,-soname=libblas.so.3 -o libblas.so.%{version} -Wl,--no-undefined tmp/*.o
|
|
ln -s libblas.so.%{version} libblas.so
|
|
rm -rf tmp
|
|
|
|
%make_build cblaslib \
|
|
CFLAGS="%{optflags} -fPIC -DADD_ "
|
|
mkdir tmp
|
|
( cd tmp; ar x ../libcblas.a )
|
|
gfortran -shared -Wl,-soname=libcblas.so.3 -o libcblas.so.%{version} -Wl,--no-undefined tmp/*.o -L. -lblas
|
|
ln -s libcblas.so.%{version} libcblas.so
|
|
rm -rf tmp
|
|
|
|
%make_build lapacklib \
|
|
FFLAGS="%{optflags_f} -fPIC"
|
|
mkdir tmp
|
|
( cd tmp; ar x ../liblapack.a )
|
|
gfortran -shared -Wl,-soname=liblapack.so.3 -o liblapack.so.%{version} -Wl,--no-undefined tmp/*.o -L. -lblas
|
|
ln -s liblapack.so.%{version} liblapack.so
|
|
rm -rf tmp
|
|
|
|
make %{?_smp_mflags} lapackelib \
|
|
CFLAGS="%{optflags} -fPIC -DADD_ -DHAVE_LAPACK_CONFIG_H -DLAPACK_COMPLEX_STRUCTURE"
|
|
mkdir tmp
|
|
( cd tmp; ar x ../liblapacke.a )
|
|
gfortran -shared -Wl,-soname=liblapacke.so.3 -o liblapacke.so.%{version} -Wl,--no-undefined tmp/*.o -L. -llapack
|
|
ln -s liblapacke.so.%{version} liblapacke.so
|
|
rm -rf tmp
|
|
|
|
# Build test binaries - blas
|
|
%make_build -C BLAS/TESTING FFLAGS="%{optflags_f} %{?test_precflags}"
|
|
# Build test binaries - cblas
|
|
%make_build -C CBLAS/testing FFLAGS="%{optflags_f} %{?test_precflags}"
|
|
# Build test binaries - lapack
|
|
%make_build -C TESTING/MATGEN FFLAGS="%{optflags_f} %{?test_precflags}"
|
|
%make_build -C TESTING/LIN FFLAGS="%{optflags_f} %{?test_precflags}"
|
|
%make_build -C TESTING/EIG FFLAGS="%{optflags_f} %{?test_precflags}"
|
|
|
|
%check
|
|
# Increase stack size, required for xeigtstz, see
|
|
# https://github.com/Reference-LAPACK/lapack/issues/335
|
|
# Remove for lapack > 3.9
|
|
ulimit -s 16384
|
|
|
|
%make_build blas_testing FFLAGS="%{optflags_f} %{?test_precflags}"
|
|
if grep -B15 -A15 FAIL BLAS/TESTING/*.out; then
|
|
echo
|
|
echo "blas_testing FAILED"
|
|
false
|
|
fi
|
|
|
|
%make_build cblas_testing CFLAGS="%{optflags} -fPIC"
|
|
grep -B15 -A15 FAIL CBLAS/testing/*.out && false
|
|
|
|
%make_build lapack_testing FFLAGS="%{optflags_f} %{?test_precflags}"
|
|
if grep -B15 -A15 FAIL TESTING/*.out; then
|
|
echo
|
|
echo "lapack_testing FAILED"
|
|
false
|
|
fi
|
|
|
|
%install
|
|
install -d %{buildroot}/%{_libdir}
|
|
install -d %{buildroot}/%{_sysconfdir}/alternatives
|
|
install -d %{buildroot}/%{_includedir}
|
|
## BLAS
|
|
install -d %{buildroot}/%{_libdir}/blas
|
|
install -m 644 librefblas.a %{buildroot}/%{_libdir}/libblas.a
|
|
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
|
|
## CBLAS
|
|
install -m 644 CBLAS/include/*.h %{buildroot}/%{_includedir}
|
|
install -m 644 libcblas.a %{buildroot}/%{_libdir}
|
|
install -m 755 libcblas.so.%{version} %{buildroot}/%{_libdir}/blas
|
|
ln -s libcblas.so.%{version} %{buildroot}/%{_libdir}/blas/libcblas.so.3
|
|
ln -s blas/libcblas.so.%{version} %{buildroot}/%{_libdir}/libcblas.so
|
|
## LAPACK
|
|
install -d %{buildroot}/%{_libdir}/lapack
|
|
install -m 644 liblapack.a %{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
|
|
## LAPACKE
|
|
install -m 644 LAPACKE/include/*.h %{buildroot}/%{_includedir}
|
|
install -m 644 liblapacke.a %{buildroot}/%{_libdir}
|
|
install -m 755 liblapacke.so.%{version} %{buildroot}/%{_libdir}/lapack
|
|
ln -s liblapacke.so.%{version} %{buildroot}/%{_libdir}/lapack/liblapacke.so.3
|
|
ln -s lapack/liblapacke.so.%{version} %{buildroot}/%{_libdir}/liblapacke.so
|
|
|
|
%post -n libblas3
|
|
%{_sbindir}/update-alternatives --install \
|
|
%{_libdir}/libblas.so.3 libblas.so.3_%{_arch} %{_libdir}/blas/libblas.so.3 50
|
|
/sbin/ldconfig
|
|
|
|
%preun -n libblas3
|
|
if [ "$1" = 0 ] ; then
|
|
%{_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_%{_arch} %{_libdir}/lapack/liblapack.so.3 50
|
|
/sbin/ldconfig
|
|
|
|
%preun -n liblapack3
|
|
if [ "$1" = 0 ] ; then
|
|
%{_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 libcblas3
|
|
%{_sbindir}/update-alternatives --install \
|
|
%{_libdir}/libcblas.so.3 libcblas.so.3_%{_arch} %{_libdir}/blas/libcblas.so.3 50
|
|
/sbin/ldconfig
|
|
|
|
%preun -n libcblas3
|
|
if [ "$1" = 0 ] ; then
|
|
%{_sbindir}/update-alternatives --remove libcblas.so.3 %{_libdir}/blas/libcblas.so.3
|
|
fi
|
|
|
|
%postun -n libcblas3 -p /sbin/ldconfig
|
|
|
|
%posttrans -n libcblas3
|
|
if [ "$1" = 0 ] ; then
|
|
if ! [ -f %{_libdir}/libcblas.so.3 ] ; then
|
|
"%{_sbindir}/update-alternatives" --auto libcblas.so.3
|
|
fi
|
|
fi
|
|
|
|
%post -n liblapacke3
|
|
%{_sbindir}/update-alternatives --install \
|
|
%{_libdir}/liblapacke.so.3 liblapacke.so.3_%{_arch} %{_libdir}/lapack/liblapacke.so.3 50
|
|
/sbin/ldconfig
|
|
|
|
%preun -n liblapacke3
|
|
if [ "$1" = 0 ] ; then
|
|
%{_sbindir}/update-alternatives --remove liblapacke.so.3 %{_libdir}/lapack/liblapacke.so.3
|
|
fi
|
|
|
|
%postun -n liblapacke3 -p /sbin/ldconfig
|
|
|
|
%posttrans -n liblapacke3
|
|
if [ "$1" = 0 ] ; then
|
|
if ! [ -f %{_libdir}/liblapacke.so.3 ] ; then
|
|
"%{_sbindir}/update-alternatives" --auto liblapacke.so.3
|
|
fi
|
|
fi
|
|
|
|
%files -n liblapack3
|
|
%doc README.md
|
|
%license LICENSE
|
|
%dir %{_libdir}/lapack
|
|
%{_libdir}/lapack/liblapack.so.%{version}
|
|
%{_libdir}/lapack/liblapack.so.3
|
|
%ghost %{_libdir}/liblapack.so.3
|
|
%ghost %{_sysconfdir}/alternatives/liblapack.so.3_%{_arch}
|
|
|
|
%files -n libblas3
|
|
%doc README.md
|
|
%license LICENSE
|
|
%dir %{_libdir}/blas
|
|
%{_libdir}/blas/libblas.so.%{version}
|
|
%{_libdir}/blas/libblas.so.3
|
|
%ghost %{_libdir}/libblas.so.3
|
|
%ghost %{_sysconfdir}/alternatives/libblas.so.3_%{_arch}
|
|
|
|
%files devel
|
|
%{_libdir}/liblapack.so
|
|
|
|
%files devel-static
|
|
%{_libdir}/liblapack.a
|
|
|
|
%files -n blas-devel
|
|
%{_libdir}/libblas.so
|
|
|
|
%files -n blas-devel-static
|
|
%{_libdir}/libblas.a
|
|
|
|
%files -n liblapacke3
|
|
%{_libdir}/lapack/liblapacke.so.%{version}
|
|
%{_libdir}/lapack/liblapacke.so.3
|
|
%ghost %{_libdir}/liblapacke.so.3
|
|
%ghost %{_sysconfdir}/alternatives/liblapacke.so.3_%{_arch}
|
|
|
|
%files -n lapacke-devel
|
|
%doc LAPACKE/README
|
|
%license LAPACKE/LICENSE
|
|
%{_libdir}/liblapacke.so
|
|
%{_includedir}/lapack*.h
|
|
|
|
%files -n lapacke-devel-static
|
|
%{_libdir}/liblapacke.a
|
|
|
|
%files -n libcblas3
|
|
%doc README.md
|
|
%license LICENSE
|
|
%dir %{_libdir}/blas
|
|
%{_libdir}/blas/libcblas.so.%{version}
|
|
%{_libdir}/blas/libcblas.so.3
|
|
%ghost %{_libdir}/libcblas.so.3
|
|
%ghost %{_sysconfdir}/alternatives/libcblas.so.3_%{_arch}
|
|
|
|
%files -n cblas-devel
|
|
%doc CBLAS/README
|
|
%{_libdir}/libcblas.so
|
|
%{_includedir}/cblas*.h
|
|
|
|
%files -n cblas-devel-static
|
|
%{_libdir}/libcblas.a
|
|
|
|
%changelog
|