diff --git a/baselibs.conf b/baselibs.conf index 195ddcd..f2d5275 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,7 +1,7 @@ liblapack3 libblas3 -lapack +lapack-devel requires "liblapack3- = " -blas +blas-devel requires -lapack- requires "libblas3- = " diff --git a/lapack-3.4.0.tar.bz2 b/lapack-3.4.0.tar.bz2 deleted file mode 100644 index 267b1a5..0000000 --- a/lapack-3.4.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:49bca377de0580e128488139184599c5137ec667576fc7cdef325363f84fd24d -size 3788300 diff --git a/lapack-3.4.0.tgz b/lapack-3.4.0.tgz new file mode 100644 index 0000000..7f411e3 --- /dev/null +++ b/lapack-3.4.0.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7139ef97004d0e3c4c30f1c52d508fd7ae84b5fbaf0dd8e792c167dc306c3e9 +size 6127787 diff --git a/lapack-rpmlintrc b/lapack-rpmlintrc deleted file mode 100644 index b3003c7..0000000 --- a/lapack-rpmlintrc +++ /dev/null @@ -1,8 +0,0 @@ -# This line is mandatory to access the configuration functions -from Config import * - -# both lapack and blas are devel packages (but have non -devel names -# for legacy reasons) -addFilter ("lapack.*devel-file-in-non-devel-package") -addFilter ("blas.*devel-file-in-non-devel-package") - diff --git a/lapack.changes b/lapack.changes index afaa053..3aff7d5 100644 --- a/lapack.changes +++ b/lapack.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Mar 14 12:31:13 UTC 2012 - saschpe@suse.de + +- 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 + ------------------------------------------------------------------- Mon Feb 13 10:48:17 UTC 2012 - coolo@suse.com diff --git a/lapack.spec b/lapack.spec index 614484d..bcf7ff8 100644 --- a/lapack.spec +++ b/lapack.spec @@ -17,20 +17,17 @@ Name: lapack +Version: 3.4.0 +Release: 0 +Summary: Linear Algebra Package +License: BSD-3-Clause +Group: Development/Libraries/Parallel +Url: http://www.netlib.org/lapack/ +Source0: http://www.netlib.org/lapack/lapack-%{version}.tgz +Patch1: lapack-3.2.2.patch BuildRequires: doxygen BuildRequires: gcc-fortran BuildRequires: python -Summary: Linear Algebra Package -License: SUSE-Public-Domain -Group: Development/Libraries/Parallel -Version: 3.4.0 -Release: 0 -Source0: lapack-%{version}.tar.bz2 -Source99: lapack-rpmlintrc -Patch1: lapack-3.2.2.patch -Url: http://www.netlib.org/lapack/ -Requires: blas = %{version} -Requires: liblapack3 = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -44,34 +41,47 @@ 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 +Summary: Linear Algebra Package +Group: Development/Libraries/Parallel +Requires: blas = %{version} +Requires: liblapack3 = %{version} +Provides: %{name} = %{version} +Provides: %{name}-devel-static = %{version} +#TODO: Change back to '<' after next version update: +Obsoletes: %{name} <= %{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. -Authors: --------- - Jack Dongarra - -%package -n blas +%package -n blas-devel Summary: Basic Linear Algebra Subprograms Group: Productivity/Scientific/Math Requires: libblas3 >= %{version} +Provides: blas = %{version} +Provides: blas-devel-static = %{version} +#TODO: Change back to '<' after next version update: +Obsoletes: blas <= %{version} -%description -n blas +%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. - - -Authors: --------- - UTK - %package -n blas-man Summary: Documentation for BLAS (Basic Linear Algebra Subprograms) Group: Productivity/Scientific/Math -Provides: blasman = %{version}-%{release} +Provides: blasman = %{version} Obsoletes: blasman < %{version} %if 0%{?suse_version} >= 1120 BuildArch: noarch @@ -81,16 +91,10 @@ BuildArch: noarch The blas-man package contains documentation for BLAS (Basic Linear Algebra subprograms) routines, in the form of man pages. - - -Authors: --------- - UTK - %package man Summary: Manpages for LAPACK Group: Development/Libraries/Parallel -Provides: lapack-manpages = %{version}-%{release} +Provides: lapack-manpages = %{version} Obsoletes: lapack-manpages < %{version} %if 0%{?suse_version} >= 1120 BuildArch: noarch @@ -99,12 +103,6 @@ BuildArch: noarch %description man Manpages for LAPACK - - -Authors: --------- - Lapack team - %package -n liblapack3 Summary: LAPACK Shared Library Group: Development/Libraries/Parallel @@ -120,12 +118,6 @@ 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. - - -Authors: --------- - Jack Dongarra - %package -n libblas3 Summary: BLAS Shared Library Group: Productivity/Scientific/Math @@ -135,12 +127,6 @@ BLAS (Basic Linear Algebra Subprograms) is a standard library for numerical algebra. BLAS provides a number of basic algorithms for linear algebra. - - -Authors: --------- - UTK - %prep %setup -q %patch1 @@ -154,21 +140,21 @@ export PRECFLAGS cp make.inc.example make.inc make cleanlib make %{?_smp_mflags} blaslib \ - OPTS="$RPM_OPT_FLAGS -fPIC" \ - NOOPT="$RPM_OPT_FLAGS -O0 -fPIC" + OPTS="%{optflags} -fPIC" \ + NOOPT="%{optflags} -O0 -fPIC" mv librefblas.a libblas_pic.a mkdir tmp ( cd tmp; ar x ../libblas_pic.a ) -gfortran -shared -Wl,-soname=libblas.so.3 -o libblas.so.%version tmp/*.o -ln -s libblas.so.%version libblas.so +gfortran -shared -Wl,-soname=libblas.so.3 -o libblas.so.%{version} tmp/*.o +ln -s libblas.so.%{version} libblas.so rm -rf tmp make cleanlib make %{?_smp_mflags} blaslib \ - OPTS="$RPM_OPT_FLAGS" \ - NOOPT="$RPM_OPT_FLAGS -O0" + OPTS="%{optflags}" \ + NOOPT="%{optflags} -O0" make blas_testing \ - OPTS="$RPM_OPT_FLAGS $PRECFLAGS" \ - NOOPT="$RPM_OPT_FLAGS $PRECFLAGS -O0" + OPTS="%{optflags} $PRECFLAGS" \ + NOOPT="%{optflags} $PRECFLAGS -O0" if grep -B15 -A15 FAIL BLAS/*.out; then echo echo "blas_testing FAILED" @@ -180,22 +166,22 @@ fi mv librefblas.a libblas.a make cleanlib make %{?_smp_mflags} lapacklib \ - OPTS="$RPM_OPT_FLAGS -fPIC" \ - NOOPT="$RPM_OPT_FLAGS -O0 -fPIC" + OPTS="%{optflags} -fPIC" \ + NOOPT="%{optflags} -O0 -fPIC" mv liblapack.a liblapack_pic.a mkdir tmp ( cd tmp; ar x ../liblapack_pic.a ) -gfortran -shared -Wl,-soname=liblapack.so.3 -o liblapack.so.%version tmp/*.o -L. -lblas -ln -s liblapack.so.%version liblapack.so +gfortran -shared -Wl,-soname=liblapack.so.3 -o liblapack.so.%{version} tmp/*.o -L. -lblas +ln -s liblapack.so.%{version} liblapack.so rm -rf tmp make cleanlib make %{?_smp_mflags} lapacklib \ - OPTS="$RPM_OPT_FLAGS" \ - NOOPT="$RPM_OPT_FLAGS -O0" + OPTS="%{optflags}" \ + NOOPT="%{optflags} -O0" ln -s libblas.a librefblas.a make lapack_testing \ - OPTS="$RPM_OPT_FLAGS $PRECFLAGS" \ - NOOPT="$RPM_OPT_FLAGS $PRECFLAGS -O0" + OPTS="%{optflags} $PRECFLAGS" \ + NOOPT="%{optflags} $PRECFLAGS -O0" if grep -B15 -A15 FAIL TESTING/*.out; then echo echo "lapack_testing FAILED" @@ -235,19 +221,19 @@ mv DOCS/man/man3/BLAS_SRC_xerbla_array.f.3 DOCS/man/man3/xerbla_array.f.3 mv DOCS/man/man3/INSTALL_ilaver.f.3 DOCS/man/man3/ilaver.f.3 %install -install -d $RPM_BUILD_ROOT/%{_libdir} -install -m 644 libblas.a $RPM_BUILD_ROOT/%{_libdir} -install -m 644 libblas_pic.a $RPM_BUILD_ROOT/%{_libdir} -install -m 644 liblapack.a $RPM_BUILD_ROOT/%{_libdir} -install -m 644 liblapack_pic.a $RPM_BUILD_ROOT/%{_libdir} -install -m 755 libblas.so.%version $RPM_BUILD_ROOT/%{_libdir} -ln -s libblas.so.%version $RPM_BUILD_ROOT/%{_libdir}/libblas.so.3 -ln -s libblas.so.%version $RPM_BUILD_ROOT/%{_libdir}/libblas.so -install -m 755 liblapack.so.%version $RPM_BUILD_ROOT/%{_libdir} -ln -s liblapack.so.%version $RPM_BUILD_ROOT/%{_libdir}/liblapack.so.3 -ln -s liblapack.so.%version $RPM_BUILD_ROOT/%{_libdir}/liblapack.so -install -d $RPM_BUILD_ROOT%{_mandir}/man3 -install -m 0644 DOCS/man/man3/*.3 $RPM_BUILD_ROOT%{_mandir}/man3/ +install -d %{buildroot}/%{_libdir} +install -m 644 libblas.a %{buildroot}/%{_libdir} +install -m 644 libblas_pic.a %{buildroot}/%{_libdir} +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}/%{_libdir}/libblas.so.3 +ln -s libblas.so.%{version} %{buildroot}/%{_libdir}/libblas.so +install -m 755 liblapack.so.%{version} %{buildroot}/%{_libdir} +ln -s liblapack.so.%{version} %{buildroot}/%{_libdir}/liblapack.so.3 +ln -s liblapack.so.%{version} %{buildroot}/%{_libdir}/liblapack.so +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" \ > blasmans find BLAS/SRC/ -name \*.f -type f -printf "%f\n" \ @@ -276,24 +262,22 @@ echo %{_mandir}/man3/slamch.f.3.gz >> lapackmans echo %{_mandir}/man3/slamchf77.f.3.gz >> lapackmans echo %{_mandir}/man3/dlamch.f.3.gz >> lapackmans echo %{_mandir}/man3/dlamchf77.f.3.gz >> lapackmans -ln -s SLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/SLAMC2.3.gz -ln -s SLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/SLAMC4.3.gz -ln -s SLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/SLAMC5.3.gz -ln -s SLAMCH.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/SLAMC3.3.gz -ln -s DLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC2.3.gz -ln -s DLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC4.3.gz -ln -s DLAMC1.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC5.3.gz -ln -s DLAMCH.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC3.3.gz +ln -s SLAMC1.3.gz %{buildroot}/%{_mandir}/man3/SLAMC2.3.gz +ln -s SLAMC1.3.gz %{buildroot}/%{_mandir}/man3/SLAMC4.3.gz +ln -s SLAMC1.3.gz %{buildroot}/%{_mandir}/man3/SLAMC5.3.gz +ln -s SLAMCH.3.gz %{buildroot}/%{_mandir}/man3/SLAMC3.3.gz +ln -s DLAMC1.3.gz %{buildroot}/%{_mandir}/man3/DLAMC2.3.gz +ln -s DLAMC1.3.gz %{buildroot}/%{_mandir}/man3/DLAMC4.3.gz +ln -s DLAMC1.3.gz %{buildroot}/%{_mandir}/man3/DLAMC5.3.gz +ln -s DLAMCH.3.gz %{buildroot}/%{_mandir}/man3/DLAMC3.3.gz %post -n libblas3 -p /sbin/ldconfig - %postun -n libblas3 -p /sbin/ldconfig %post -n liblapack3 -p /sbin/ldconfig - %postun -n liblapack3 -p /sbin/ldconfig -%files +%files devel %defattr(-,root,root) %{_libdir}/liblapack.so %{_libdir}/liblapack.a @@ -301,24 +285,26 @@ ln -s DLAMCH.3.gz $RPM_BUILD_ROOT/%{_mandir}/man3/DLAMC3.3.gz %files -n liblapack3 %defattr(-,root,root) -%{_libdir}/liblapack.so.%version +%doc LICENSE README +%{_libdir}/liblapack.so.%{version} %{_libdir}/liblapack.so.3 -%files -n blas +%files -n blas-devel %defattr(-,root,root) %{_libdir}/libblas.so %{_libdir}/libblas.a %{_libdir}/libblas_pic.a %files -n libblas3 +%doc LICENSE README %defattr(-,root,root) -%{_libdir}/libblas.so.%version +%{_libdir}/libblas.so.%{version} %{_libdir}/libblas.so.3 -%files -n blas-man -f blasmans -%defattr(-,root,root) - %files man -f lapackmans %defattr(-,root,root) +%files -n blas-man -f blasmans +%defattr(-,root,root) + %changelog