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

@ -1,9 +1,9 @@
#!/bin/bash
set -e
COPR="${COPR:-@SonicDE/SonicDE-EL10}"
COPR="${COPR:-@SonicDE/SonicDE-EL10-dev}"
GIT_URL="${GIT_URL:-https://pc-rytteren.dk/forge/anders/SonicDE-rpmspecs.git}"
BRANCH="${BRANCH:-master}"
BRANCH="${BRANCH:-hardfork}"
METHOD="${METHOD:-rpkg}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

View file

@ -7,12 +7,9 @@
# Upstream KDE project: kaccounts-integration
%global oldname kaccounts-integration
# EPEL10 does not have kf5
%if 0%{?rhel} && 0%{?rhel} >= 10
# SonicDE is a Qt6/KF6-only hard fork; no KF5 packages are shipped, so the
# Qt5/KF5 compat build is never produced.
%bcond_with kf5
%else
%bcond_without kf5
%endif
#Name: kaccounts-integration
Name: sonic-accounts-integration
@ -178,7 +175,7 @@ pushd %{oldname}_qt5
popd
%endif
%files qt6 -f %{name}.lang
%files qt6 -f %{oldname}.lang
%doc README*
%license LICENSES/*
%{_kf6_datadir}/applications/kcm_kaccounts.desktop

View file

@ -84,7 +84,7 @@ Conflicts: plasma-pa < %{version}-%{release}
rm -fv %{buildroot}%{_kf6_libdir}/libplasma-volume.so
%files -f %{name}.lang
%files -f %{oldname}.lang
%license LICENSES/*
%{_kf6_qmldir}/org/kde/plasma/private/volume/
%{_kf6_qtplugindir}/plasma/kcms/systemsettings/kcm_pulseaudio.so

View file

@ -95,7 +95,7 @@ desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.bluedevil
desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.bluedevilwizard.desktop
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README
%{_datadir}/mime/packages/bluedevil-mime.xml
%{_kf6_bindir}/bluedevil-sendfile

View file

@ -8,12 +8,8 @@
%global oldname plasma-breeze
%global base_name breeze
# EPEL10 does not have kf5
%if 0%{?rhel} && 0%{?rhel} >= 10
# SonicDE is a Qt6/KF6-only hard fork; no KF5 packages are shipped.
%bcond_with kf5
%else
%bcond_without kf5
%endif
#Name: plasma-breeze
Name: sonic-breeze

View file

@ -80,7 +80,7 @@ https://community.kde.org/Plasma/Browser_Integration
%find_lang %{oldname} --all-name
%files -f %{name}.lang
%files -f %{oldname}.lang
%license LICENSES/*
%config %{_sysconfdir}/chromium/native-messaging-hosts/org.kde.plasma.browser_integration.json
%config %{_sysconfdir}/opt/chrome/native-messaging-hosts/org.kde.plasma.browser_integration.json

View file

@ -11,7 +11,8 @@
%global botan 1
%endif
%bcond_without qt5
# SonicDE is a Qt6-only hard fork; no Qt5 variant is built.
%bcond_with qt5
%bcond_without qt6
#global doc 1
@ -349,8 +350,10 @@ cmake_opts="-Wno-dev \
%install
%if %{with qt5}
%define _vpath_builddir %{_target_platform}-qt5
%cmake_install
%endif
%if %{with qt6}
%define _vpath_builddir %{_target_platform}-qt6

View file

@ -280,7 +280,7 @@ BuildArch: noarch
%install
%cmake_install
%find_lang %{name} --with-html --all-name
%find_lang plasmadesktop6 --with-html --all-name
grep "%{_kf6_docdir}" %{name}.lang > %{name}-doc.lang
cat %{name}.lang %{name}-doc.lang | sort | uniq -u > plasmadesktop6.lang
@ -389,7 +389,7 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/kaccess.desktop
%{_libexecdir}/kimpanel-scim-panel
%endif
%files doc -f %{name}-doc.lang
%files doc -f plasmadesktop6-doc.lang
%changelog

View file

@ -72,7 +72,7 @@ signs of imminent failure appear.
%check
desktop-file-validate %{buildroot}/%{_datadir}/applications/kcm_disks.desktop
%files -f %{name}.lang
%files -f %{oldname}.lang
%license LICENSES/*.txt
%{_libexecdir}/kf6/kauth/kded-smart-helper
%{_qt6_plugindir}/plasma/kcms/kinfocenter/kcm_disks.so

View file

@ -93,7 +93,7 @@ Conflicts: plasma-drkonqi < %{version}-%{release}
install -p -D -m755 src/doc/examples/installdbgsymbols_fedora.sh \
%{buildroot}%{_libexecdir}/installdbgsymbols.sh
%find_lang all --with-html --with-qt --all-name
%find_lang plasma-drkonqi --with-html --with-qt --all-name
grep drkonqi.mo all.lang > plasma-drkonqi.lang
%post

View file

@ -86,7 +86,7 @@ with profile support to handle different button/pen layouts per profile.
%find_lang %{oldname} --all-name --with-html
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc AUTHORS
%license COPYING*
%{_datadir}/dbus-1/interfaces/org.kde.Wacom*.xml

View file

@ -108,7 +108,7 @@ to interface with the Uncomplicated Firewall (UFW).
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml || :
desktop-file-validate %{buildroot}%{_datadir}/applications/kcm_firewall.desktop
%files -f %{name}.lang
%files -f %{oldname}.lang
%license LICENSES/*.txt
%{_libdir}/libkcm_firewall_core.so
%{_qt6_plugindir}/plasma/kcms/systemsettings/kcm_firewall.so

View file

@ -97,7 +97,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --all-name
%files -f %{name}.lang
%files -f %{oldname}.lang
%dir %{_kf6_qmldir}/org/
%dir %{_kf6_qmldir}/org/kde
%doc README.md

View file

@ -92,7 +92,7 @@ Developer Documentation files for %{name} in HTML format
mkdir -p %{buildroot}%{_kf6_datadir}/kservices6
mkdir -p %{buildroot}%{_kf6_datadir}/kservicetypes6
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_datadir}/qlogging-categories6/%{framework}.*

View file

@ -34,7 +34,7 @@ BuildRequires: cmake
# For %%{_udevrulesdir}
BuildRequires: systemd
Requires: kf6-filesystem >= %{version}
Requires: kf6-filesystem
Recommends: bluez >= 5
Provides: kf6-bluez-qt = %{version}-%{release}

View file

@ -88,7 +88,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --all-name --with-man --with-html
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_libdir}/libKF6DocTools.so.6

View file

@ -96,7 +96,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --all-name
mkdir -p %{buildroot}%{_kf6_plugindir}/kfilemetadata/writers/
%files -f %{name}.lang
%files -f %{oldname}.lang
%license LICENSES/*.txt
%{_kf6_bindir}/kfilemetadata_dump6
%{_kf6_datadir}/qlogging-categories6/%{framework}*

View file

@ -138,7 +138,7 @@ cat kio6_tags.lang kio6_baloosearch.lang kio6_timeline.lang \
cat baloo_file6.lang baloo_file_extractor6.lang \
> %{oldname}-file.lang
%files -f %{name}.lang
%files -f baloodb6.lang
%license LICENSES/*.txt
%{_kf6_bindir}/baloosearch6
%{_kf6_bindir}/balooshow6

View file

@ -93,7 +93,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --all-name
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_bindir}/kiconfinder6

View file

@ -8,7 +8,8 @@
%global oldname kf6-kidletime
# Disable X11 for RHEL
%bcond x11 %[%{undefined rhel}]
# SonicDE is X11-only, so the X11 plugin is always built.
%bcond_without x11
%global framework kidletime
@ -116,8 +117,7 @@ Developer Documentation files for %{name} in HTML format
%if %{with x11}
%files x11
%{_kf6_plugindir}/org.kde.kidletime.platforms/KF6IdleTimeXcbPlugin0.so
%{_kf6_plugindir}/org.kde.kidletime.platforms/KF6IdleTimeXcbPlugin1.so
%{_kf6_plugindir}/org.kde.kidletime.platforms/KF6IdleTimeXcbPlugin*.so
%endif
%files devel

View file

@ -76,7 +76,7 @@ developing applications that use %{name}.
%build
%cmake_kf6 \
-DKIMAGEFORMATS_HEIF:BOOL=ON \
-DKIMAGEFORMATS_HEIF:BOOL=OFF \
-DKIMAGEFORMATS_JXR:BOOL=ON
%cmake_build

View file

@ -85,7 +85,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --all-name
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_libdir}/libKF6I18n.so.6

View file

@ -115,7 +115,7 @@ Conflicts: kio-extras-devel < %{version}-%{release}
%find_lang %{oldname} --all-name --with-html
%files -f %{name}.lang
%files -f %{oldname}.lang
%license LICENSES/*
%{_kf6_plugindir}/kded/

View file

@ -242,7 +242,7 @@ Developer Documentation files for %{name} in HTML format
%files core-libs
%{_kf6_libdir}/libKF6KIOCore.so.*
%files doc -f %{name}.lang
%files doc -f %{oldname}.lang
%files gui
%{_kf6_libdir}/libKF6KIOGui.so.*

View file

@ -115,7 +115,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --all-name --with-man
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_bindir}/kwallet-query

View file

@ -87,7 +87,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --all-name
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_datadir}/qlogging-categories6/*%{framework}.*

View file

@ -23,7 +23,7 @@ URL: https://github.com/Sonic-DE/%{reponame}
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{reponame}-%{version}.tar.gz
#Source1: https://download.kde.org/%%{stable_kf6}/frameworks/%%{majmin_ver_kf6}/%%{framework}-%%{version}.tar.xz.sig
BuildRequires: sonic-frameworks-cmake-modules >= %{version}
BuildRequires: sonic-frameworks-cmake-modules
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: sonic-rpm-macros
@ -85,7 +85,7 @@ Developer Documentation files for %{name} in HTML format
mkdir -p %{buildroot}%{_kf6_qtplugindir}/kpackage/packagestructure/
mkdir -p %{buildroot}%{_kf6_datadir}/kpackage/
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_datadir}/qlogging-categories6/%{framework}.*

View file

@ -84,7 +84,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --all-name --with-man
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_datadir}/qlogging-categories6/%{framework}.*

View file

@ -105,7 +105,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --all-name
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_datadir}/qlogging-categories6/%{framework}.*

View file

@ -93,7 +93,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --all-name
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_libdir}/libKF6CalendarEvents.so.*

View file

@ -61,7 +61,7 @@ between QWidget-based and QML-based apps.
%cmake_install
%find_lang %{oldname} --all-name --with-man --with-qt
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_libdir}/cmake/KF6QQC2DesktopStyle/

View file

@ -88,8 +88,10 @@ Developer Documentation files for %{name} in HTML format
%install
%cmake_install_kf6
%find_lang_kf6 libkirigami6_qt
%find_lang_kf6 libkirigami2plugin_qt
cat libkirigami6_qt.lang libkirigami2plugin_qt.lang > all.lang
%files -f libkirigami6_qt.lang
%files -f all.lang
%doc README.md
%dir %{_kf6_qmldir}/org/
%dir %{_kf6_qmldir}/org/kde/
@ -97,29 +99,29 @@ Developer Documentation files for %{name} in HTML format
%{_kf6_qmldir}/org/kde/kirigami
%{_datadir}/qlogging-categories6/kirigami.categories
%{_kf6_libdir}/libKirigami.so.6
%{_kf6_libdir}/libKirigami.so.%{version}
%{_kf6_libdir}/libKirigami.so.6.*
%{_kf6_libdir}/libKirigamiDelegates.so.6
%{_kf6_libdir}/libKirigamiDelegates.so.%{version}
%{_kf6_libdir}/libKirigamiDelegates.so.6.*
%{_kf6_libdir}/libKirigamiDialogs.so.6
%{_kf6_libdir}/libKirigamiDialogs.so.%{version}
%{_kf6_libdir}/libKirigamiDialogs.so.6.*
%{_kf6_libdir}/libKirigamiLayouts.so.6
%{_kf6_libdir}/libKirigamiLayouts.so.%{version}
%{_kf6_libdir}/libKirigamiLayouts.so.6.*
%{_kf6_libdir}/libKirigamiLayoutsPrivate.so.6
%{_kf6_libdir}/libKirigamiLayoutsPrivate.so.%{version}
%{_kf6_libdir}/libKirigamiLayoutsPrivate.so.6.*
%{_kf6_libdir}/libKirigamiPlatform.so.6
%{_kf6_libdir}/libKirigamiPlatform.so.%{version}
%{_kf6_libdir}/libKirigamiPlatform.so.6.*
%{_kf6_libdir}/libKirigamiPrimitives.so.6
%{_kf6_libdir}/libKirigamiPrimitives.so.%{version}
%{_kf6_libdir}/libKirigamiPrimitives.so.6.*
%{_kf6_libdir}/libKirigamiPrivate.so.6
%{_kf6_libdir}/libKirigamiPrivate.so.%{version}
%{_kf6_libdir}/libKirigamiPrivate.so.6.*
%{_kf6_libdir}/libKirigamiPolyfill.so.6
%{_kf6_libdir}/libKirigamiPolyfill.so.%{version}
%{_kf6_libdir}/libKirigamiPolyfill.so.6.*
%{_kf6_libdir}/libKirigamiTemplates.so.6
%{_kf6_libdir}/libKirigamiTemplates.so.%{version}
%{_kf6_libdir}/libKirigamiTemplates.so.6.*
%{_kf6_libdir}/libKirigamiControls.so.6
%{_kf6_libdir}/libKirigamiControls.so.%{version}
%{_kf6_libdir}/libKirigamiControls.so.6.*
%{_kf6_libdir}/libKirigamiForms*.so.6
%{_kf6_libdir}/libKirigamiForms*.so.%{version}
%{_kf6_libdir}/libKirigamiForms*.so.6.*
%files devel
%dir %{_kf6_datadir}/kdevappwizard/

View file

@ -96,7 +96,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --with-man --all-name
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_libdir}/libKF6ConfigWidgets.so.*

View file

@ -97,7 +97,7 @@ Developer Documentation files for %{name} in HTML format
# create/own dirs
mkdir -p %{buildroot}%{_kf6_qtplugindir}/kcms
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_bindir}/kcmshell6

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

View file

@ -1,17 +1,15 @@
# Generated for SonicDE from Fedora's signon.spec.
# SonicDE is a hard fork of KDE Plasma; the sources come from the
# https://github.com/Sonic-DE/sonic-frameworks-sso fork, not from download.kde.org.
# The SonicDE fork has migrated from qmake to CMake and is Qt6-only
# (find_package(Qt6 6.5 ...) in CMakeLists.txt), so this spec uses the
# CMake build system and no longer ships the Qt5 variant.
%define _disable_source_fetch 0
%define debug_package %{nil}
%global reponame sonic-frameworks-sso
# Upstream KDE project: signond
%global oldname signon
%global gitdate 20240205
%global commit0 c8ad98249af541514ff7a81634d3295e712f1a39
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
%global tag0 VERSION_%{version}
#Name: signon
Name: sonic-frameworks-sso
Version: 8.61.2
@ -22,31 +20,13 @@ License: LGPL-2.1-only
#URL: https://gitlab.com/accounts-sso/signond
URL: https://github.com/Sonic-DE/%{reponame}
# Temporary source, for plasma6 compatibility
#Source0: https://gitlab.com/nicolasfella/signond/-/archive/%%{commit0}/signond-%%{commit0}.tar.gz
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{reponame}-%{version}.tar.gz
# Original Sources
#%%if 0%%{?tag0:1}
#Source0: https://gitlab.com/accounts-sso/signond/repository/archive.tar.gz?ref=%%{tag0}#/%%{name}-%%{version}.tar.gz
#%%else
#Source0: https://gitlab.com/accounts-sso/signond/repository/archive.tar.gz?ref=%%{commit0}#/%%{name}-%%{shortcommit0}.tar.gz
#%%endif
BuildRequires: make
BuildRequires: dbus-x11
BuildRequires: doxygen
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: graphviz
BuildRequires: libproxy-devel
BuildRequires: qt5-qtbase-devel
BuildRequires: time
BuildRequires: qt6-qtbase-devel
# signon-qt5 was in ktp-5 COPR
Obsoletes: signon-qt5 < 8.57-5
Provides: signon-qt5 = %{version}-%{release}
# upstream name: signond
Provides: signond = %{version}-%{release}
@ -65,14 +45,6 @@ applications. It consists of a secure storage of login credentials (for example
usernames and passwords), plugins for different authentication systems and a
client library for applications to communicate with this system.
%package qt5
Summary: Single Sign On client library for Qt5-based applications
Provides: signon-qt5 = %{version}-%{release}
Conflicts: signon-qt5 < %{version}-%{release}
%description qt5
%{summary}.
%package qt6
Summary: Single Sign On client library for Qt6-based applications
Provides: signon-qt6 = %{version}-%{release}
@ -84,121 +56,57 @@ Conflicts: signon-qt6 < %{version}-%{release}
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
# upstream name: signond
Provides: signond-devel = %{version}-%{release}
Provides: signon-devel = %{version}-%{release}
Conflicts: signon-devel < %{version}-%{release}
Provides: signon-qt6-devel = %{version}-%{release}
Conflicts: signon-qt6-devel < %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package qt5-devel
Summary: Development files for %{name}-qt5
Provides: signon-qt5-devel = %{version}-%{release}
Conflicts: signon-qt5-devel < %{version}-%{release}
%description qt5-devel
%{summary}.
%package qt6-devel
Summary: Development files for %{name}-qt6
Provides: signon-qt6-devel = %{version}-%{release}
Conflicts: signon-qt6-devel < %{version}-%{release}
%description qt6-devel
%{summary}.
%package doc
Summary: Documentation for %{name}
BuildArch: noarch
Provides: signon-doc = %{version}-%{release}
Conflicts: signon-doc < %{version}-%{release}
%description doc
The %{name}-doc package contains documentation for %{name}.
%prep
%autosetup -p1 -n %{reponame}-%{version}
# The fork's CMake tries to install D-Bus interface XML files that are
# not present in the repository. Drop that install rule so the install
# step succeeds; the introspection data is not needed at runtime.
sed -i '/^install(FILES$/,/dbus-1\/interfaces)/d' cmake/signond/CMakeLists.txt
%build
mkdir %{oldname}_qt5
pushd %{oldname}_qt5
%qmake_qt5 \
CONFIG+=release \
QMF_INSTALL_ROOT=%{_prefix} LIBDIR=%{_libdir} ../signon.pro
popd
%make_build -C %{oldname}_qt5
%cmake -DBUILD_SIGNOND:BOOL=ON -DCMAKE_INSTALL_SYSCONFDIR=/etc
%cmake_build
mkdir %{oldname}_qt6
pushd %{oldname}_qt6
%qmake_qt6 \
CONFIG+=release \
QMF_INSTALL_ROOT=%{_prefix} LIBDIR=%{_libdir} ../signon.pro
popd
%make_build -C %{oldname}_qt6
%install
make install INSTALL_ROOT=%{buildroot} -C %{oldname}_qt5
make install INSTALL_ROOT=%{buildroot} -C %{oldname}_qt6
# Removing additional unneeded files
rm %{buildroot}%{_libdir}/libsignon-qt5.a
rm %{buildroot}%{_libdir}/libsignon-qt6.a
%cmake_install
# create/own libdir/signond/extensions
mkdir -p %{buildroot}%{_libdir}/signond/extensions/
# create/own libdir/extensions
mkdir -p %{buildroot}%{_libdir}/extensions/
%files
## fixme: common/shared _docdir/signon content below gets in the way
#doc README.md TODO NOTES
%license COPYING
%config(noreplace) %{_sysconfdir}/signond.conf
%{_bindir}/signond
%{_bindir}/signonpluginprocess
%{_libdir}/libsignon-extension.so.1*
%{_libdir}/libsignon-plugins-common.so.1*
%{_libdir}/libsignon-plugins.so.1*
%{_libdir}/signon/
%{_libexecdir}/signond
%{_libdir}/libsignon-extension.so.0*
%{_libdir}/libsignon-plugins-common.so.0*
%{_libdir}/signond/
%{_datadir}/dbus-1/services/*.service
%files qt5
%{_libdir}/libsignon-qt5.so.1{,.*}
%files qt6
%{_libdir}/libsignon-qt6.so.1{,.*}
%{_libdir}/libsignon-qt6.so.0{,.*}
%files devel
%{_includedir}/signon-extension/
%{_includedir}/signon-plugins/
%{_includedir}/signond/
%{_libdir}/libsignon-extension.so
%{_libdir}/libsignon-plugins-common.so
%{_libdir}/libsignon-plugins.so
%{_libdir}/pkgconfig/SignOnExtension.pc
%{_libdir}/pkgconfig/signon-plugins-common.pc
%{_libdir}/pkgconfig/signon-plugins.pc
%{_libdir}/pkgconfig/signond.pc
%files qt5-devel
%{_includedir}/signon-qt5/
%{_libdir}/cmake/SignOnQt5/
%{_libdir}/pkgconfig/libsignon-qt5.pc
%{_libdir}/libsignon-qt5.so
%files qt6-devel
%{_includedir}/signon-qt6/
%{_libdir}/cmake/SignOnQt6/
%{_libdir}/pkgconfig/libsignon-qt6.pc
%{_libdir}/libsignon-qt6.so
%files doc
%{_docdir}/signon/
%{_docdir}/libsignon-qt/
%{_docdir}/signon-plugins/
%{_docdir}/signon-plugins-dev/
%{_libdir}/libsignon-extension.so
%{_libdir}/libsignon-plugins-common.so
%changelog
* Mon Aug 24 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 8.61.2-1

View file

@ -106,7 +106,7 @@ mkdir -p %{buildroot}%{_kf6_qtplugindir}/ktexteditor
# Removing empty file
rm -f %{buildroot}%{_kf6_datadir}/katepart5/script/README.md
%files -f %{name}.lang
%files -f %{oldname}.lang
%dir %{_kf6_plugindir}/parts/
%doc README.md
%license LICENSES/*.txt

View file

@ -94,7 +94,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --all-name
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_libdir}/libKF6TextWidgets.so.*

View file

@ -95,7 +95,7 @@ Developer Documentation files for %{name} in HTML format
# create/own parts plugin dir
mkdir -p %{buildroot}%{_kf6_plugindir}/parts/
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md AUTHORS
%license LICENSES/*.txt
%{_kf6_libdir}/libKF6Parts.so.*

View file

@ -96,7 +96,7 @@ Developer Documentation files for %{name} in HTML format
%find_lang %{oldname} --all-name --with-man
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_libdir}/libKF6UnitConversion.so.*

View file

@ -114,7 +114,7 @@ Developer Documentation files for %{name} in HTML format
mkdir -p %{buildroot}%{_kf6_datadir}/kxmlgui5/
%find_lang %{oldname} --all-name
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*.txt
%{_kf6_datadir}/qlogging-categories6/%{framework}.*

View file

@ -88,7 +88,7 @@ appearance of GTK apps in KDE.
%{_kf6_plugindir}/kded/gtkconfig.so
%{_libdir}/gtk-3.0/modules/libcolorreload-gtk-module.so
%{_libdir}/gtk-3.0/modules/libwindow-decorations-gtk-module.so
%{_datadir}/themes/Breeze/window_decorations.css
%{_datadir}/themes/Silver/window_decorations.css
%{_datadir}/kcm-gtk-module/
%{_datadir}/qlogging-categories6/kde-gtk-config.categories

View file

@ -19,7 +19,7 @@ URL: https://github.com/Sonic-DE/%{reponame}
#Source0: https://download.kde.org/%%{stable_kf6}/plasma/%%{version}/%%{name}-%%{version}.tar.xz
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{reponame}-%{version}.tar.gz
#Source1: https://download.kde.org/%%{stable_kf6}/plasma/%%{version}/%%{name}-%%{version}.tar.xz.sig
Patch0: %{name}-ffmpeg8.patch
# ffmpeg8 compat patch not needed; the fork works with ffmpeg 7.x in EPEL10
# Compile Tools
BuildRequires: cmake
@ -101,7 +101,7 @@ developing applications that use %{name}.
%find_lang %{oldname} --with-qt --all-name
%files -f %{name}.lang
%files -f %{oldname}.lang
%license LICENSES/*
%{_libdir}/libKPipeWire.so.6
%{_libdir}/libKPipeWire.so.%{version}

View file

@ -1,6 +1,9 @@
# Generated for SonicDE from Fedora's polkit-qt-1.spec.
# SonicDE is a hard fork of KDE Plasma; the sources come from the
# https://github.com/Sonic-DE/sonic-polkit fork, not from download.kde.org.
# The SonicDE fork is Qt6-only (the upstream CMakeLists hardcodes
# QT_MAJOR_VERSION=6 and requires Qt >= 6.5.0), so this spec no longer
# builds the Qt5 variant that Fedora's polkit-qt-1 shipped.
%define _disable_source_fetch 0
%define debug_package %{nil}
%global reponame sonic-polkit
@ -32,37 +35,21 @@ Conflicts: polkit-qt-1 < %{version}-%{release}
Polkit-qt is a library that lets developers use the PolicyKit API
through a nice Qt-styled API.
%package -n polkit-qt5-1
Summary: PolicyKit Qt5 bindings
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Widgets)
Obsoletes: polkit-qt5 < 0.112.0-3
Provides: polkit-qt5 = %{version}-%{release}
%description -n polkit-qt5-1
Polkit-qt is a library that lets developers use the PolicyKit API
through a nice Qt-styled API.
%package -n polkit-qt5-1-devel
Summary: Development files for PolicyKit Qt5 bindings
Obsoletes: polkit-qt5-devel < 0.112.0-3
Provides: polkit-qt5-devel = %{version}-%{release}
Requires: polkit-qt5-1%{?_isa} = %{version}-%{release}
%description -n polkit-qt5-1-devel
%{summary}.
%package -n polkit-qt6-1
Summary: PolicyKit Qt6 bindings
BuildRequires: pkgconfig(Qt6Core)
BuildRequires: pkgconfig(Qt6DBus)
BuildRequires: pkgconfig(Qt6Gui)
BuildRequires: pkgconfig(Qt6Widgets)
Provides: polkit-qt6-1 = %{version}-%{release}
%description -n polkit-qt6-1
Polkit-qt is a library that lets developers use the PolicyKit API
through a nice Qt-styled API.
%package -n polkit-qt6-1-devel
Summary: Development files for PolicyKit Qt5 bindings
Summary: Development files for PolicyKit Qt6 bindings
Requires: polkit-qt6-1%{?_isa} = %{version}-%{release}
Provides: polkit-qt6-1-devel = %{version}-%{release}
%description -n polkit-qt6-1-devel
%{summary}.
@ -71,39 +58,12 @@ Requires: polkit-qt6-1%{?_isa} = %{version}-%{release}
%build
%global _vpath_builddir %{_target_platform}-qt5
%cmake -DBUILD_EXAMPLES:BOOL=OFF -DQT_MAJOR_VERSION=5
%cmake_build
%global _vpath_builddir %{_target_platform}-qt6
%cmake -DBUILD_EXAMPLES:BOOL=OFF -DQT_MAJOR_VERSION=6
%cmake -DBUILD_EXAMPLES:BOOL=OFF
%cmake_build
%install
%global _vpath_builddir %{_target_platform}-qt5
%cmake_install
%global _vpath_builddir %{_target_platform}-qt6
%cmake_install
%files -n polkit-qt5-1
%doc AUTHORS README
%license LICENSES/*
%{_libdir}/libpolkit-qt5-core-1.so.1*
%{_libdir}/libpolkit-qt5-gui-1.so.1*
%{_libdir}/libpolkit-qt5-agent-1.so.1*
%files -n polkit-qt5-1-devel
%{_includedir}/polkit-qt5-1/
%{_libdir}/libpolkit-qt5-core-1.so
%{_libdir}/libpolkit-qt5-gui-1.so
%{_libdir}/libpolkit-qt5-agent-1.so
%{_libdir}/pkgconfig/polkit-qt5-1.pc
%{_libdir}/pkgconfig/polkit-qt5-core-1.pc
%{_libdir}/pkgconfig/polkit-qt5-gui-1.pc
%{_libdir}/pkgconfig/polkit-qt5-agent-1.pc
%{_libdir}/cmake/PolkitQt5-1/
%files -n polkit-qt6-1
%doc AUTHORS README
%license LICENSES/*

View file

@ -21,7 +21,6 @@ Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{reponame}-%{versio
BuildRequires: sonic-frameworks-cmake-modules
BuildRequires: sonic-rpm-macros
BuildRequires: kf5-rpm-macros
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: cmake(Qt6Gui)

View file

@ -7,12 +7,8 @@
# Upstream KDE project: plasma-integration
%global oldname plasma-integration
# EPEL10 does not have kf5
%if 0%{?rhel} && 0%{?rhel} >= 10
# SonicDE is a Qt6/KF6-only hard fork; no KF5 packages are shipped.
%bcond_with kf5
%else
%bcond_without kf5
%endif
#Name: plasma-integration
Name: sonic-qt-theme-bridge

View file

@ -67,14 +67,13 @@ applications that use %{name}-qt6.
%files qt6
%{_kf6_qmldir}/org/kde/kquickimageeditor
%{_kf6_libdir}/libKQuickImageEditor.so.%{version}
%{_kf6_libdir}/libKQuickImageEditor.so.0.*
%{_kf6_libdir}/libKQuickImageEditor.so.1
%files qt6-devel
%{_kf6_libdir}/libKQuickImageEditor.so
%{_kf6_libdir}/cmake/KQuickImageEditor
%{_includedir}/KQuickImageEditor/
%{_includedir}/kquickimageeditor/
%{_kf6_archdatadir}/mkspecs/modules/qt_KQuickImageEditor.pri
%changelog

View file

@ -125,7 +125,7 @@ Conflicts: krdp-devel < %{version}-%{release}
%systemd_user_postun_with_reload app-org.kde.krdpserver.service
%systemd_user_postun app-org.kde.krdpserver.service
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%{_kf6_bindir}/krdpserver
%{_kf6_datadir}/applications/kcm_krdpserver.desktop

View file

@ -134,7 +134,7 @@ Conflicts: spectacle < %{version}-%{release}
appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/org.kde.spectacle.appdata.xml ||:
desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.spectacle.desktop
%files -f %{name}.lang
%files -f %{oldname}.lang
%license LICENSES/*
%{_kf6_bindir}/spectacle
%{_kf6_datadir}/man/man1/spectacle.1*

View file

@ -91,7 +91,7 @@ desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.%{oldname
appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/org.kde.ksystemlog.appdata.xml
%files -f %{name}.lang
%files -f %{oldname}.lang
%license LICENSES
%{_kf6_bindir}/ksystemlog
%{_kf6_datadir}/applications/org.kde.ksystemlog.desktop

View file

@ -80,7 +80,7 @@ resources.
%cmake_install
%find_lang %{oldname} --all-name --with-html
%files -f %{name}.lang
%files -f %{oldname}.lang
%license LICENSES/*.txt
%{_bindir}/plasma-systemmonitor
%{_datadir}/applications/org.kde.plasma-systemmonitor.desktop

View file

@ -70,7 +70,7 @@ kernel.
%check
desktop-file-validate %{buildroot}/%{_datadir}/applications/kcm_bolt.desktop
%files -f %{name}.lang
%files -f %{oldname}.lang
%doc README.md
%license LICENSES/*
%{_kf6_libdir}/libkbolt.so

View file

@ -73,7 +73,7 @@ prying eyes even when the user is logged in.
%cmake_install
%find_lang %{oldname} --all-name
%files -f %{name}.lang
%files -f %{oldname}.lang
%license LICENSES/*
%{_kf6_plugindir}/kded/plasmavault.so
%dir %{_qt6_plugindir}/plasma/applets/

View file

@ -82,7 +82,7 @@ rm -fv %{buildroot}%{_kf6_libdir}/libplasma-welcome-publicplugin.a
#appstream-util validate-relax --nonet %%{buildroot}%%{_kf6_metainfodir}/%%{orgname}.*.xml
desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/%{orgname}.desktop
%files -f %{name}.lang
%files -f %{oldname}.lang
%license LICENSES/{BSD-3-Clause.txt,GPL-2.0-or-later.txt,FSFAP.txt}
%doc README.md
%{_kf6_bindir}/plasma-welcome

View file

@ -233,7 +233,7 @@ Conflicts: kwin-x11-doc
%install
%cmake_install
%find_lang %{name} --with-html --all-name
%find_lang kwin6 --with-html --all-name
grep "%{_kf6_docdir}" %{name}.lang > %{name}-doc.lang
cat %{name}.lang %{name}-doc.lang | sort | uniq -u > kwin6.lang
@ -292,7 +292,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/xdg/Xwayland-session.d
%{_includedir}/kwin-x11
%{_libdir}/libkwin-x11.so
%files doc -f %{name}-doc.lang
%files doc -f kwin6-doc.lang
%license LICENSES/*.txt

View file

@ -61,43 +61,7 @@ Conflicts: plasma-workspace-wallpapers < %{version}-%{release}
%files
%license COPYING.LGPL3
%{_datadir}/wallpapers/Altai/
%{_datadir}/wallpapers/Autumn/
%{_datadir}/wallpapers/BytheWater/
%{_datadir}/wallpapers/Canopee/
%{_datadir}/wallpapers/Cascade/
%{_datadir}/wallpapers/Cluster/
%{_datadir}/wallpapers/ColdRipple/
%{_datadir}/wallpapers/ColorfulCups/
%{_datadir}/wallpapers/DarkestHour/
%{_datadir}/wallpapers/Elarun/
%{_datadir}/wallpapers/EveningGlow/
%{_datadir}/wallpapers/FallenLeaf/
%{_datadir}/wallpapers/FlyingKonqui/
%{_datadir}/wallpapers/Flow/
%{_datadir}/wallpapers/Grey/
%{_datadir}/wallpapers/Honeywave/
%{_datadir}/wallpapers/IceCold/
%{_datadir}/wallpapers/Kay/
%{_datadir}/wallpapers/Kite/
%{_datadir}/wallpapers/Kokkini/
%{_datadir}/wallpapers/MilkyWay/
%{_datadir}/wallpapers/Mountain/
%{_datadir}/wallpapers/Nexus/
%{_datadir}/wallpapers/Nuvole/
%{_datadir}/wallpapers/OneStandsOut/
%{_datadir}/wallpapers/Opal/
%{_datadir}/wallpapers/PastelHills/
%{_datadir}/wallpapers/Patak/
%{_datadir}/wallpapers/Path/
%{_datadir}/wallpapers/SafeLanding/
%{_datadir}/wallpapers/ScarletTree/
%{_datadir}/wallpapers/Shell/
%{_datadir}/wallpapers/summer_1am/
%{_datadir}/wallpapers/Volna/
%{_datadir}/wallpapers/Coast/
%{_datadir}/wallpapers/Orionids/
%{_datadir}/wallpapers/Sub-Arctic/
%{_datadir}/wallpapers/*/
%changelog
* Mon Aug 24 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 6.7.4.1-1

View file

@ -503,7 +503,7 @@ fi
%files common
%license LICENSES
%files -f %{name}.lang
%files -f all.lang
%{_libexecdir}/ksecretprompter
%{_kf6_datadir}/applications/org.kde.baloorunner.desktop
%{_kf6_datadir}/applications/org.kde.secretprompter.desktop