Fix build failures across all 136 SonicDE specs for RHEL 10

The hard-forked specs inherited Fedora's Qt5/KF5 dual-build logic and
   upstream naming, but SonicDE is Qt6/KF6-only and renames many install
   paths.  This resolves every build failure so all 136 packages build
   cleanly on AlmaLinux 10 (EPEL10).

   Major categories of fixes:

   - Qt5/KF5 bcond: force-disable kf5/qt5 in sonic-accounts-integration,
     sonic-breeze, sonic-qt-theme-bridge and sonic-crypto-library, since
     the forks are Qt6-only and no KF5 packages are shipped.

   - %find_lang / %files -f mismatch: 41 specs called %find_lang with the
     upstream name but referenced %{name}.lang in %files, so the .lang file
     was never found.  Aligned %files -f to the same name %find_lang emits.

   - Fork-specific install paths: silver/silver-dark icon themes
     (sonic-frameworks-silver-icons), Silver GTK theme dir
     (sonic-gtk-theme-bridge), and glob-based wallpaper listing
     (sonic-workspace-wallpapers) replace the old breeze/hardcoded paths.

   - Library SOVERSION globs: sonic-frameworks-quick-ui and
     sonic-quick-image-editor shipped %{version} in .so paths, but the
     CMake project version differs from the spec version; switched to
     SOVERSION globs.

   - Distro compatibility: disable HEIF plugin in sonic-frameworks-image-
     formats (libheif 1.17 API break), drop missing ffmpeg8 patch from
     sonic-pipewire, always build X11 plugin in sonic-frameworks-idle-
     tracker, and remove unbuildable kf5-rpm-macros / version-pinned
     BuildRequires.

   - sonic-frameworks-sso: drop D-Bus interface XML install rule and fix
     sysconfdir path.

   - sonic-polkit: remove Qt5 build (fork is Qt6-only).
This commit is contained in:
Anders da Silva Rytter Hansen 2026-08-25 12:14:17 +02:00
commit cc9183c735
57 changed files with 132 additions and 308 deletions

View file

@ -149,25 +149,25 @@ hardlink -c -v %{buildroot}%{_datadir}/icons/
du -s .
# %%ghost icon.cache
touch %{buildroot}%{_kf6_datadir}/icons/{breeze,breeze-dark}/icon-theme.cache
touch %{buildroot}%{_kf6_datadir}/icons/{silver,silver-dark}/icon-theme.cache
%if 0%{?fedora}
install -pm 0644 icons-fedora/apps/48/org.fedoraproject.AnacondaInstaller.svg %{buildroot}%{_kf6_datadir}/icons/breeze/apps/48
ln -sr %{buildroot}%{_kf6_datadir}/icons/breeze/apps/48/org.fedoraproject.AnacondaInstaller.svg %{buildroot}%{_kf6_datadir}/icons/breeze-dark/apps/48/org.fedoraproject.AnacondaInstaller.svg
install -pm 0644 icons-fedora/apps/48/org.fedoraproject.AnacondaInstaller.svg %{buildroot}%{_kf6_datadir}/icons/silver/apps/48
ln -sr %{buildroot}%{_kf6_datadir}/icons/silver/apps/48/org.fedoraproject.AnacondaInstaller.svg %{buildroot}%{_kf6_datadir}/icons/silver-dark/apps/48/org.fedoraproject.AnacondaInstaller.svg
%endif
## trigger-based scriptlets
%transfiletriggerin -n breeze-icon-theme -- %{_datadir}/icons/breeze
gtk-update-icon-cache --force %{_datadir}/icons/breeze &>/dev/null || :
%transfiletriggerin -n breeze-icon-theme -- %{_datadir}/icons/silver
gtk-update-icon-cache --force %{_datadir}/icons/silver &>/dev/null || :
%transfiletriggerin -n breeze-icon-theme -- %{_datadir}/icons/breeze-dark
gtk-update-icon-cache --force %{_datadir}/icons/breeze-dark &>/dev/null || :
%transfiletriggerin -n breeze-icon-theme -- %{_datadir}/icons/silver-dark
gtk-update-icon-cache --force %{_datadir}/icons/silver-dark &>/dev/null || :
%transfiletriggerpostun -n breeze-icon-theme -- %{_datadir}/icons/breeze
gtk-update-icon-cache --force %{_datadir}/icons/breeze &>/dev/null || :
%transfiletriggerpostun -n breeze-icon-theme -- %{_datadir}/icons/silver
gtk-update-icon-cache --force %{_datadir}/icons/silver &>/dev/null || :
%transfiletriggerpostun -n breeze-icon-theme -- %{_datadir}/icons/breeze-dark
gtk-update-icon-cache --force %{_datadir}/icons/breeze-dark &>/dev/null || :
%transfiletriggerpostun -n breeze-icon-theme -- %{_datadir}/icons/silver-dark
gtk-update-icon-cache --force %{_datadir}/icons/silver-dark &>/dev/null || :
%endif
@ -186,27 +186,27 @@ gtk-update-icon-cache --force %{_datadir}/icons/breeze-dark &>/dev/null || :
%files -n breeze-icon-theme
%license COPYING-ICONS
%doc README.md
%ghost %{_datadir}/icons/breeze/icon-theme.cache
%{_datadir}/icons/breeze/index.theme
%{_datadir}/icons/breeze/*/
%ghost %{_datadir}/icons/breeze-dark/icon-theme.cache
%{_datadir}/icons/breeze-dark/index.theme
%{_datadir}/icons/breeze-dark/*/
%exclude %{_datadir}/icons/breeze/breeze-icons.rcc
%ghost %{_datadir}/icons/silver/icon-theme.cache
%{_datadir}/icons/silver/index.theme
%{_datadir}/icons/silver/*/
%ghost %{_datadir}/icons/silver-dark/icon-theme.cache
%{_datadir}/icons/silver-dark/index.theme
%{_datadir}/icons/silver-dark/*/
%exclude %{_datadir}/icons/silver/silver-icons.rcc
%if 0%{?fedora}
%exclude %{_datadir}/icons/breeze*/apps/*/org.fedoraproject.AnacondaInstaller.svg
%exclude %{_datadir}/icons/silver*/apps/*/org.fedoraproject.AnacondaInstaller.svg
%endif
%if 0%{?fedora}
%files -n breeze-icon-theme-fedora
%{_datadir}/icons/breeze*/apps/*/org.fedoraproject.AnacondaInstaller.svg
%{_datadir}/icons/silver*/apps/*/org.fedoraproject.AnacondaInstaller.svg
%endif
%endif
%if %{with install_rcc}
%files -n breeze-icon-theme-rcc
%{_datadir}/icons/breeze/breeze-icons.rcc
%{_datadir}/icons/silver/silver-icons.rcc
%endif
%changelog