Accepting request 1066744 from science
- Make sure pre-existing (arch-independent) update-alternatives are wiped before registering new ones. Since update-alternatives has no reliable way to check if a certain 'generic name' exists, brute-force it and ignore any error (boo#1208248). - Remove totally pointless - ie. never executed - %%posttrans script. - Restore generic link for update-alternatives. This is usually set by the update-alternatives and it is '%ghost'ed but rpmlint complains. - Add rpmlintrc rules to avoid false positives from consistently guessing the update-alternatives generic name wrong. - Make arch dependent generic names conditional. OBS-URL: https://build.opensuse.org/request/show/1066744 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=55
This commit is contained in:
commit
52502ae780
@ -1,3 +1,20 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 14 18:14:06 UTC 2023 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- Make sure pre-existing (arch-independent) update-alternatives
|
||||
are wiped before registering new ones.
|
||||
Since update-alternatives has no reliable way to check if
|
||||
a certain 'generic name' exists, brute-force it and ignore
|
||||
any error (boo#1208248).
|
||||
- Remove totally pointless - ie. never executed - %%posttrans
|
||||
script.
|
||||
- Restore generic link for update-alternatives. This is usually
|
||||
set by the update-alternatives and it is '%ghost'ed but rpmlint
|
||||
complains.
|
||||
- Add rpmlintrc rules to avoid false positives from consistently
|
||||
guessing the update-alternatives generic name wrong.
|
||||
- Make arch dependent generic names conditional.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 3 07:52:04 UTC 2023 - Egbert Eich <eich@suse.com>
|
||||
|
||||
|
3
openblas.rpmlintrc
Normal file
3
openblas.rpmlintrc
Normal file
@ -0,0 +1,3 @@
|
||||
# rpmlint get update-alternatives generic names wrong consistently
|
||||
addFilter(".* alternative-link-missing.*")
|
||||
addFilter(".* alternative-generic-name-missing .*\$\{lib\}.*")
|
@ -25,6 +25,10 @@
|
||||
|
||||
%bcond_with ringdisabled
|
||||
|
||||
%if 0%{?suse_version} > 1500
|
||||
%define a_x _%{_arch}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == ""
|
||||
%define package_name %{pname}
|
||||
ExclusiveArch: do_not_build
|
||||
@ -186,6 +190,7 @@ URL: http://www.openblas.net
|
||||
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz#/OpenBLAS-%{version}.tar.gz
|
||||
Source1: README.SUSE
|
||||
Source2: README.HPC.SUSE
|
||||
Source3: openblas.rpmlintrc
|
||||
Patch1: Use-blasint-for-INTERFACE64-compatibility.patch
|
||||
Patch2: remove-spurious-loops.patch
|
||||
Patch101: Link-library-with-z-noexecstack.patch
|
||||
@ -451,12 +456,15 @@ find -name \*.f -exec chmod 644 {} +
|
||||
# /usr/lib64/libopenblas.so -> libopenblas.so.<so_v>
|
||||
|
||||
install -d %{buildroot}/%{_sysconfdir}/alternatives
|
||||
for link in openblas-default libblas.so.3 liblapack.so.3 libcblas.so.3 liblapacke.so.3; do
|
||||
ln -s %{_sysconfdir}/alternatives/${link}%{?a_x} %{buildroot}/%{_libdir}/${link}
|
||||
done
|
||||
|
||||
%if 0%{?build_devel}
|
||||
install -d %{buildroot}%{_libdir}/pkgconfig/
|
||||
ln -s %{_sysconfdir}/alternatives/openblas-default_%{_arch}/pkgconfig/openblas.pc %{buildroot}%{_libdir}/pkgconfig/
|
||||
ln -s %{_sysconfdir}/alternatives/openblas-default%{?a_x}/pkgconfig/openblas.pc %{buildroot}%{_libdir}/pkgconfig/
|
||||
install -d %{buildroot}/%{_libdir}/cmake
|
||||
ln -s %{_sysconfdir}/alternatives/openblas-default_%{_arch}/cmake/openblas %{buildroot}/%{_libdir}/cmake/
|
||||
ln -s %{_sysconfdir}/alternatives/openblas-default%{?a_x}/cmake/openblas %{buildroot}/%{_libdir}/cmake/
|
||||
%endif
|
||||
|
||||
%else # with hpc
|
||||
@ -513,13 +521,16 @@ d=%{_libdir}/cmake/openblas
|
||||
&& { n=$(mktemp -d $(dirname $d)/tmpd-XXXXX); mv $d $n; rm -rf $n; } || true
|
||||
|
||||
%post -n lib%{name}%{so_v}
|
||||
# There's no way to determine if a setting exists, so just remove it and ignore errors
|
||||
%{?a_x:%{_sbindir}/update-alternatives --remove-all openblas-default 2>/dev/null || true}
|
||||
%{_sbindir}/update-alternatives --install \
|
||||
%{_libdir}/openblas-default openblas-default_%{_arch} %{p_libdir} %openblas_so_prio
|
||||
%{_libdir}/openblas-default openblas-default%{?a_x} %{p_libdir} %openblas_so_prio
|
||||
# Cannot package this link - brp-25-symlink doesn't recognize links created by update-alternatives
|
||||
ln -sf openblas-default/lib%{pname}.so.%{so_v} %{_libdir}/lib%{pname}.so.%{so_v}
|
||||
for lib in libblas.so.3 libcblas.so.3 liblapack.so.3 liblapacke.so.3; do
|
||||
%{?a_x:%{_sbindir}/update-alternatives --remove-all ${lib} 2>/dev/null || true}
|
||||
%{_sbindir}/update-alternatives --install \
|
||||
%{_libdir}/${lib} ${lib}_%{_arch} %{p_libdir}/lib%{pname}.so.%{so_v} 20
|
||||
%{_libdir}/${lib} ${lib}%{?a_x} %{p_libdir}/lib%{pname}.so.%{so_v} 20
|
||||
done
|
||||
/sbin/ldconfig
|
||||
|
||||
@ -529,26 +540,14 @@ ln -sf lib%{pname}.so.%{so_v} %{_libdir}/lib%{pname}.so
|
||||
%postun -n lib%{name}%{so_v}
|
||||
if [ ! -f %{p_libdir}/lib%{pname}.so.%{so_v} ]; then
|
||||
for lib in libblas.so.3 libcblas.so.3 liblapack.so.3 liblapacke.so.3; do
|
||||
%{_sbindir}/update-alternatives --remove ${lib}_%{_arch} %{_libdir}/lib%{pname}.so.%{so_v}
|
||||
%{_sbindir}/update-alternatives --remove ${lib}%{?a_x} %{_libdir}/lib%{pname}.so.%{so_v}
|
||||
done
|
||||
fi
|
||||
if [ ! -d %{p_libdir} ]; then
|
||||
%{_sbindir}/update-alternatives --remove openblas-default_%{_arch} %{p_libdir}
|
||||
%{_sbindir}/update-alternatives --remove openblas-default%{?a_x} %{p_libdir}
|
||||
fi
|
||||
/sbin/ldconfig
|
||||
|
||||
%posttrans -n lib%{name}%{so_v}
|
||||
if [ "$1" = 0 ] ; then
|
||||
if [ ! -d %{_libdir}/openblas-default ] ; then
|
||||
%{_sbindir}/update-alternatives --auto openblas-default
|
||||
fi
|
||||
for lib in libblas.so.3 libcblas.so.3 liblapack.so.3 liblapacke.so.3; do
|
||||
if ! [ -f %{_libdir}/${lib} ] ; then
|
||||
%{_sbindir}/update-alternatives --auto ${lib}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
%else
|
||||
|
||||
%postun -n lib%{name}
|
||||
@ -568,11 +567,11 @@ fi
|
||||
%ghost %{_libdir}/libcblas.so.3
|
||||
%ghost %{_libdir}/liblapack.so.3
|
||||
%ghost %{_libdir}/liblapacke.so.3
|
||||
%ghost %{_sysconfdir}/alternatives/openblas-default_%{_arch}
|
||||
%ghost %{_sysconfdir}/alternatives/libblas.so.3_%{_arch}
|
||||
%ghost %{_sysconfdir}/alternatives/libcblas.so.3_%{_arch}
|
||||
%ghost %{_sysconfdir}/alternatives/liblapack.so.3_%{_arch}
|
||||
%ghost %{_sysconfdir}/alternatives/liblapacke.so.3_%{_arch}
|
||||
%ghost %{_sysconfdir}/alternatives/openblas-default%{?a_x}
|
||||
%ghost %{_sysconfdir}/alternatives/libblas.so.3%{?a_x}
|
||||
%ghost %{_sysconfdir}/alternatives/libcblas.so.3%{?a_x}
|
||||
%ghost %{_sysconfdir}/alternatives/liblapack.so.3%{?a_x}
|
||||
%ghost %{_sysconfdir}/alternatives/liblapacke.so.3%{?a_x}
|
||||
%else
|
||||
%hpc_dirs
|
||||
%{p_libdir}/libopenblas*r*.so
|
||||
|
Loading…
x
Reference in New Issue
Block a user