Compare commits

...

No commits in common. "c9-beta" and "c10s" have entirely different histories.

7 changed files with 160 additions and 51 deletions

View File

@ -1 +0,0 @@
e4cbee0532ac401b4d0095433dd712c5c598852b SOURCES/flexiblas-3.0.4.tar.xz

15
.gitignore vendored
View File

@ -1 +1,14 @@
SOURCES/flexiblas-3.0.4.tar.xz
/flexiblas-3.0.0.tar.xz
/flexiblas-3.0.1.tar.xz
/flexiblas-3.0.2.tar.xz
/flexiblas-3.0.3.tar.xz
/flexiblas-3.0.4.tar.xz
/flexiblas-3.1.2.tar.gz
/flexiblas-3.1.3.tar.gz
/flexiblas-3.2.0.tar.gz
/flexiblas-3.2.1.tar.gz
/flexiblas-3.3.0.tar.gz
/flexiblas-3.3.1.tar.gz
/flexiblas-3.4.0.tar.gz
/flexiblas-3.4.1.tar.gz
/flexiblas-3.4.2.tar.gz

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# flexiblas
The flexiblas package

View File

@ -1,14 +0,0 @@
diff -up flexiblas-3.0.4/CMakeLists.txt.annocheck flexiblas-3.0.4/CMakeLists.txt
--- flexiblas-3.0.4/CMakeLists.txt.annocheck 2020-10-22 11:07:48.000000000 +0200
+++ flexiblas-3.0.4/CMakeLists.txt 2022-02-15 09:50:29.971016074 +0100
@@ -177,6 +177,10 @@ SET ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+IF(DEFINED ENV{LDFLAGS})
+ SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} $ENV{LDFLAGS}")
+ENDIF()
+
#
# Check Some files
#

View File

@ -1,7 +1,9 @@
%bcond_without system_lapack
%bcond_without atlas
%bcond_without blis
%bcond_without openblas
%bcond system_lapack 1
%bcond atlas %[%{undefined rhel} && "%{_arch}" != "riscv64"]
%bcond blis %{undefined rhel}
%bcond openblas 1
# https://bugzilla.redhat.com/show_bug.cgi?id=2058840
%undefine _ld_as_needed
%if %{with openblas}
@ -12,26 +14,25 @@
%global default_backend64 %{default_backend}64
%global major_version 3
%global minor_version 0
%global patch_version 4
%global minor_version 4
%global patch_version 2
%global laapi_version 3.11.0
Name: flexiblas
Version: %{major_version}.%{minor_version}.%{patch_version}
Release: 8%{?dist}
Release: 2%{?dist}
Summary: A BLAS/LAPACK wrapper library with runtime exchangeable backends
# GPLv3 with an exception for the BLAS/LAPACK interface
# https://www.gnu.org/licenses/gpl-faq.en.html#LinkingOverControlledInterface
# libcscutils/ is LGPLv2+
# contributed/ and test/ are BSD
License: GPLv3 with exceptions and LGPLv2+ and BSD
# LGPL-3.0-or-later
# libcscutils/ is LGPL-2.0-or-later
# contributed/ and test/ are BSD-3-Clause-Open-MPI
License: LGPL-3.0-or-later AND LGPL-2.0-or-later AND BSD-3-Clause-Open-MPI
URL: https://www.mpi-magdeburg.mpg.de/projects/%{name}
Source0: https://csc.mpi-magdeburg.mpg.de/mpcsc/software/%{name}/%{name}-%{version}.tar.xz
Patch1: flexiblas-3.0.4-annocheck.patch
Source0: https://github.com/mpimd-csc/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
BuildRequires: make, cmake, python
BuildRequires: gcc-fortran, gcc-c++
BuildRequires: gcc, gcc-fortran
BuildRequires: multilib-rpm-config
%if %{with system_lapack}
BuildRequires: blas-static, lapack-static
%endif
@ -44,6 +45,7 @@ BuildRequires: blis-devel
%if %{with openblas}
BuildRequires: openblas-devel
%endif
Requires: %{name}-netlib%{?_isa} = %{version}-%{release}
%global _description %{expand:
FlexiBLAS is a wrapper library that enables the exchange of the BLAS and
@ -71,14 +73,20 @@ This package contains a plugin that enables profiling support.
%package devel
Summary: Development headers and libraries for FlexiBLAS
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib%{?_isa} = %{version}-%{release}
%if 0%{?__isa_bits} == 64
Requires: %{name}-netlib64%{?_isa} = %{version}-%{release}
%endif
%description devel %_description
This package contains the development headers and libraries.
%if %{with atlas}
%package atlas
Supplements: (atlas and %{name})
Summary: FlexiBLAS wrappers for ATLAS
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib%{?_isa} = %{version}-%{release}
%description atlas %_description
This package contains FlexiBLAS wrappers for the ATLAS project.
@ -86,24 +94,30 @@ This package contains FlexiBLAS wrappers for the ATLAS project.
%if %{with blis}
%package blis-serial
Supplements: (blis-serial and %{name})
Summary: FlexiBLAS wrappers for BLIS
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib%{?_isa} = %{version}-%{release}
%description blis-serial %_description
This package contains FlexiBLAS wrappers for the sequential library compiled
with a 32-integer interface.
%package blis-openmp
Supplements: (blis-openmp and %{name})
Summary: FlexiBLAS wrappers for BLIS
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib%{?_isa} = %{version}-%{release}
%description blis-openmp %_description
This package contains FlexiBLAS wrappers for the library compiled with
OpenMP support with a 32-integer interface.
%package blis-threads
Supplements: (blis-threads and %{name})
Summary: FlexiBLAS wrappers for BLIS
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib%{?_isa} = %{version}-%{release}
%description blis-threads %_description
This package contains FlexiBLAS wrappers for the library compiled with
@ -112,24 +126,30 @@ threading support with a 32-integer interface.
%if %{with openblas}
%package openblas-serial
Supplements: (openblas-serial and %{name})
Summary: FlexiBLAS wrappers for OpenBLAS
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib%{?_isa} = %{version}-%{release}
%description openblas-serial %_description
This package contains FlexiBLAS wrappers for the sequential library compiled
with a 32-integer interface.
%package openblas-openmp
Supplements: (openblas-openmp and %{name})
Summary: FlexiBLAS wrappers for OpenBLAS
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib%{?_isa} = %{version}-%{release}
%description openblas-openmp %_description
This package contains FlexiBLAS wrappers for the library compiled with
OpenMP support with a 32-integer interface.
%package openblas-threads
Supplements: (openblas-threads and %{name})
Summary: FlexiBLAS wrappers for OpenBLAS
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib%{?_isa} = %{version}-%{release}
%description openblas-threads %_description
This package contains FlexiBLAS wrappers for the library compiled with
@ -155,24 +175,30 @@ This package contains a plugin that enables profiling support.
%if %{with blis}
%package blis-serial64
Supplements: (blis-serial64 and %{name})
Summary: FlexiBLAS wrappers for BLIS (64-bit)
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib64%{?_isa} = %{version}-%{release}
%description blis-serial64 %_description
This package contains FlexiBLAS wrappers for the sequential library compiled
with a 64-integer interface.
%package blis-openmp64
Supplements: (blis-openmp64 and %{name})
Summary: FlexiBLAS wrappers for BLIS (64-bit)
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib64%{?_isa} = %{version}-%{release}
%description blis-openmp64 %_description
This package contains FlexiBLAS wrappers for the library compiled with
OpenMP support with a 64-integer interface.
%package blis-threads64
Supplements: (blis-threads64 and %{name})
Summary: FlexiBLAS wrappers for BLIS (64-bit)
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib64%{?_isa} = %{version}-%{release}
%description blis-threads64 %_description
This package contains FlexiBLAS wrappers for the library compiled with
@ -181,24 +207,30 @@ threading support with a 64-integer interface.
%if %{with openblas}
%package openblas-serial64
Supplements: (openblas-serial64 and %{name})
Summary: FlexiBLAS wrappers for OpenBLAS (64-bit)
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib64%{?_isa} = %{version}-%{release}
%description openblas-serial64 %_description
This package contains FlexiBLAS wrappers for the sequential library compiled
with a 64-integer interface.
%package openblas-openmp64
Supplements: (openblas-openmp64 and %{name})
Summary: FlexiBLAS wrappers for OpenBLAS (64-bit)
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib64%{?_isa} = %{version}-%{release}
%description openblas-openmp64 %_description
This package contains FlexiBLAS wrappers for the library compiled with
OpenMP support with a 64-integer interface.
%package openblas-threads64
Supplements: (openblas-threads64 and %{name})
Summary: FlexiBLAS wrappers for OpenBLAS (64-bit)
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-netlib64%{?_isa} = %{version}-%{release}
%description openblas-threads64 %_description
This package contains FlexiBLAS wrappers for the library compiled with
@ -207,31 +239,31 @@ threading support with a 64-integer interface.
%endif
%prep
%setup -q
%patch1 -p1 -b .annocheck
%autosetup -p1
%build
%if %{with system_lapack}
rm -rf contributed
%endif
%cmake -B build \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
%if %{with system_lapack}
-DLAPACK_API_VERSION=%{laapi_version} \
-DSYS_BLAS_LIBRARY=$(pkg-config --variable=libdir blas)/libblas.a \
-DSYS_LAPACK_LIBRARY=$(pkg-config --variable=libdir lapack)/liblapack_pic.a \
%endif
-DINTEGER8=OFF \
-DCMAKE_SKIP_INSTALL_RPATH=ON \
-DTESTS=ON
%make_build -C build
%if 0%{?__isa_bits} == 64
%cmake -B build64 \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
%if %{with system_lapack}
-DLAPACK_API_VERSION=%{laapi_version} \
-DSYS_BLAS_LIBRARY=$(pkg-config --variable=libdir blas)/libblas64.a \
-DSYS_LAPACK_LIBRARY=$(pkg-config --variable=libdir lapack)/liblapack_pic64.a \
%endif
-DINTEGER8=ON \
-DCMAKE_SKIP_INSTALL_RPATH=ON \
-DTESTS=ON
%make_build -C build64
%endif
@ -244,6 +276,9 @@ echo "default = %{default_backend}" > %{buildroot}%{_sysconfdir}/%{name}rc
echo "default = %{default_backend64}" > %{buildroot}%{_sysconfdir}/%{name}64rc
%endif
# Replace arch-dependent header file with arch-independent stub
%multilib_fix_c_header --file %{_includedir}/%{name}/%{name}_config.h
# remove dummy hook
rm -f %{buildroot}%{_libdir}/%{name}*/lib%{name}_hook_dummy.so
@ -268,6 +303,7 @@ find %{buildroot}%{_sysconfdir}/%{name}*.d/* -type f \
-exec sed -i 's PThread -threads gI' {} \;
%check
export CTEST_OUTPUT_ON_FAILURE=1
export FLEXIBLAS_TEST=%{buildroot}%{_libdir}/%{name}/lib%{name}_%{default_backend}.so
make -C build test
%if 0%{?__isa_bits} == 64
@ -299,6 +335,7 @@ make -C build64 test
%{_libdir}/%{name}/lib%{name}_hook_profile.so
%files devel
%{_bindir}/%{name}-config
%{_includedir}/%{name}
%{_libdir}/lib%{name}.so
%{_libdir}/lib%{name}_api.so
@ -306,6 +343,7 @@ make -C build64 test
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/pkgconfig/%{name}_api.pc
%if 0%{?__isa_bits} == 64
%{_bindir}/%{name}64-config
%{_includedir}/%{name}64
%{_libdir}/lib%{name}64.so
%{_libdir}/lib%{name}64_api.so
@ -400,24 +438,86 @@ make -C build64 test
%endif
%changelog
* Mon Feb 28 2022 Matej Mužila <mmuzila@redhat.com> - 3.0.4-8
- Don't use --as-needed link option
Related: rhbz#2044859
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 3.4.2-2
- Bump release for June 2024 mass rebuild
* Wed Feb 23 2022 Matej Mužila <mmuzila@redhat.com> - 3.0.4-7
- Add gating.yaml
Related: rhbz#2044859
* Wed Feb 28 2024 Iñaki Úcar <iucar@fedoraproject.org> - 3.4.2-1
- Update to 3.4.2 (rhbz#2264712)
* Tue Feb 15 2022 Matej Mužila <mmuzila@redhat.com> - 3.0.4-6
- Fix annocheck bind-now problems
Resolves: rhbz#2044859
* Fri Feb 09 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 3.4.1-4
- Disable ATLAS and BLIS in RHEL builds
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.0.4-5
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 3.0.4-4
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jan 11 2024 Iñaki Úcar <iucar@fedoraproject.org> - 3.4.1-1
- Update to 3.4.1
* Tue Jan 09 2024 Iñaki Úcar <iucar@fedoraproject.org> - 3.4.0-1
- Update to 3.4.0
- License changes to LGPL-3.0-or-later
* Tue Jul 25 2023 Iñaki Úcar <iucar@fedoraproject.org> - 3.3.1-5
- Add Supplements to help pull wrappers if libraries are installed directly
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri May 19 2023 Iñaki Úcar <iucar@fedoraproject.org> - 3.3.1-3
- Require netlib from base package
- Adapt license tag to SPDX
- Add rpminspect.yaml file to skip tests with false positives
* Tue Apr 04 2023 Iñaki Úcar <iucar@fedoraproject.org> - 3.3.1-2
- Fix multilib config header conflict
* Mon Apr 03 2023 Iñaki Úcar <iucar@fedoraproject.org> - 3.3.1-1
- Update to 3.3.1
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Jan 09 2023 Iñaki Úcar <iucar@fedoraproject.org> - 3.3.0-1
- Update to 3.3.0
* Fri Dec 23 2022 Iñaki Úcar <iucar@fedoraproject.org> - 3.2.1-3
- Specify LAPACK API compatibility level
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jul 13 2022 Iñaki Úcar <iucar@fedoraproject.org> - 3.2.1-1
- Update to 3.2.1
* Mon Jun 27 2022 Iñaki Úcar <iucar@fedoraproject.org> - 3.2.0-4
- Add depency on netlib subpackage to all backends (RHBZ#2101369)
* Tue May 24 2022 Iñaki Úcar <iucar@fedoraproject.org> - 3.2.0-3
- Add explicit requires to devel package to content rpmdeps test
* Tue May 17 2022 Iñaki Úcar <iucar@fedoraproject.org> - 3.2.0-2
- Undefine _ld_as_needed to fix underlinking issue (BZ 2058840)
* Tue May 17 2022 Iñaki Úcar <iucar@fedoraproject.org> - 3.2.0-1
- Update to 3.2.0
* Fri Feb 25 2022 Iñaki Úcar <iucar@fedoraproject.org> - 3.1.3-1
- Update to 3.1.3
* Mon Jan 17 2022 Iñaki Úcar <iucar@fedoraproject.org> - 3.1.2-1
- Update to 3.1.2, adding support for LAPACK up to 3.10.0
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Jul 19 2021 Nikola Forró <nforro@redhat.com> - 3.0.4-5
- Get rid of RPATH
* Fri Apr 23 2021 Iñaki Úcar <iucar@fedoraproject.org> 3.0.4-4
- Rebuilt for LAPACK 3.9.1 with LAPACK_API_VERSION=3.9.0
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

7
rpminspect.yaml Normal file
View File

@ -0,0 +1,7 @@
annocheck:
extra_opts:
# libflexiblas_netlib.so:
# - fortify: isamax_, sasum_
# libflexiblas_fallback_lapack.so:
# - fortify: sgbbrd_, sgbcon_, sgbequ_, sladiv2_, slamch_
hardened: --skip-glibcxx-assertions --skip-fortify

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (flexiblas-3.4.2.tar.gz) = 3ce2baf68dcd9adac60e798d5838b4d34850de6043bee526bd2f0309a3a8212e405585cb95a7946b06f6f0af424a440ac7136a656dc2ba1534af76e210608093