Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openblas for openSUSE:Factory checked in at 2026-08-05 17:46:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openblas (Old) and /work/SRC/openSUSE:Factory/.openblas.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openblas" Wed Aug 5 17:46:17 2026 rev:80 rq:1369393 version:0.3.33 Changes: -------- --- /work/SRC/openSUSE:Factory/openblas/openblas.changes 2026-07-31 16:09:32.013075687 +0200 +++ /work/SRC/openSUSE:Factory/.openblas.new.16738/openblas.changes 2026-08-05 17:46:38.134121350 +0200 @@ -1,0 +2,16 @@ +Sun Aug 2 09:59:47 UTC 2026 - Martin Pluskal <[email protected]> + +- Let the compat package provide libopenblas.so.0 instead of the + flavour package: + * every flavour carries the SONAME libopenblas.so.0, but the + libraries live in the private flavour directory, so the automatic + provide advertises a SONAME the dynamic linker cannot resolve + * the update-alternatives link that does make it resolvable belongs + to the compatlib package, which was only reachable through + Supplements, and OBS build roots do not honour Supplements + * consumers therefore resolved against the flavour package alone and + then failed at load time, for example libarpack2, which broke + every gdal-linked package in Application:Geo + * filter the generated provide and declare it on the compat package + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openblas.spec ++++++ --- /var/tmp/diff_new_pack.UekFMS/_old 2026-08-05 17:46:39.206158898 +0200 +++ /var/tmp/diff_new_pack.UekFMS/_new 2026-08-05 17:46:39.210159038 +0200 @@ -147,6 +147,21 @@ %define p_cmakedir %{p_libdir}/cmake/%{pname} %define num_threads 64 +%if %{with alternatives} +# Every flavour carries the SONAME libopenblas.so.0, but the libraries +# themselves live in the private flavour directory, which the dynamic linker +# does not search. The only thing that makes that SONAME loadable is the +# update-alternatives link owned by the matching compatlib package. So drop +# the automatic provide from the flavour packages -- they advertise a SONAME +# they cannot satisfy -- and let the compat package provide it explicitly +# instead. Otherwise a consumer such as libarpack2 resolves its +# libopenblas.so.0 requirement against the flavour package alone and then dies +# at load time with "libopenblas.so.0: cannot open shared object file". +# Installed systems get away with it because zypper honours the Supplements +# below, but OBS build roots and --no-recommends installations do not. +%global __provides_exclude ^libopenblas\\.so\\.%{so_v} +%endif + %if 0%{?sha1:1} %define v_string %{sha1} %else @@ -224,6 +239,15 @@ Obsoletes: lib%{name}%{so_a} <= 0.3.30 # Automatically install compatlib when upgrading from >= 0.3.30 Supplements: (lib%{name}%{so_a} and update-alternatives) +# This package owns the update-alternatives link, so it -- and not the flavour +# package -- is what actually satisfies a libopenblas.so.0 dependency. The link +# is a %%ghost, so the provide has to be spelled out by hand; see the +# __provides_exclude comment above. + %if "%{__isa_bits}" == "64" +Provides: libopenblas.so.%{so_a}()(64bit) + %else +Provides: libopenblas.so.%{so_a} + %endif %if "%flavor" == "serial" Obsoletes: lib%{pname}%{so_v} < %{version} ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.UekFMS/_old 2026-08-05 17:46:39.310162541 +0200 +++ /var/tmp/diff_new_pack.UekFMS/_new 2026-08-05 17:46:39.314162681 +0200 @@ -1,4 +1,4 @@ -mtime: 1785320296 -commit: 26ab4b3d5c5655b8052759790a9a13c582160c60a038ccfb5cff091d9ce8f84c +mtime: 1785664882 +commit: 53d950ddde1494da8179fbc7e6c8f206fb0d33eae1617cc8ea8f7f9fd7f9285d url: https://src.opensuse.org/science/openblas.git ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-08-02 12:01:22.000000000 +0200 @@ -0,0 +1,4 @@ +*.obscpio +*.osc +_build.* +.pbuild
