SonicDE-rpmspecs/sonic-frameworks-sso/sonic-frameworks-sso.spec
test a88703e93e
Some checks failed
Build RPMs / build (push) Has been cancelled
Add EPEL apps at latest versions and fix all EPEL dependency conflicts
Add 8 new packages built from upstream KDE sources at versions matching
the rest of SonicDE (Gear 26.04.3, Plasma 6.7.4):
- colord-kde 26.04.3
- dolphin-plugins 26.04.3
- filelight 26.04.3
- kde-gtk-config 6.7.4
- kde-inotify-survey 26.04.3
- ksanecore 26.04.3 (dependency for skanpage)
- plasma-discover 6.7.4 (with snap backend disabled)
- skanpage 26.04.3

These packages replace the EPEL versions and use SonicDE dependencies
instead of kf6-*/plasma-* packages, ensuring they are upgraded (not
removed) when SonicDE is installed alongside EPEL KDE.

Fix EPEL dependencies in existing SonicDE packages that caused packages
to be removed during dnf upgrade --allowerasing:
- sonic-desktop-interface: kde-cli-tools -> sonic-terminal-tools,
  kmenuedit -> sonic-launcher-menu-edit, kwrited -> sonic-write-daemon,
  signon-plugin-oauth2 and plasma-systemsettings changed to Recommends
- sonic-workspace: kio-fuse -> sonic-frameworks-io-fuse,
  polkit-kde -> sonic-polkit-agent,
  xdg-desktop-portal-kde -> xdg-desktop-portal-sonicde,
  plasma-keyboard and kde-settings-plasma changed to Recommends
- sonic-workspace-addons: kf6-plasma -> sonic-interface-libraries
- kde-gtk-config: breeze-gtk-common -> sonic-silver-gtk-common
- sonic-login-manager: kde-settings-plasma changed to Recommends
- kcm-soniclogin: plasma-systemsettings changed to Recommends
- sonic-rpm-macros: kde-qdoc-common changed to Recommends
- sonic-welcome-center: add Obsoletes for plasma-welcome

Also includes Obsoletes/Provides fixes across all spec files for proper
EPEL package replacement, and Conflicts tag removal from spec files.

Result: dnf upgrade --allowerasing from standard EPEL KDE removes 0
packages. dnf install of SonicDE packages installs 195 packages with
0 removals.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-27 17:11:06 +00:00

112 lines
3.7 KiB
RPMSpec

# 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
#Name: signon
Name: sonic-frameworks-sso
Version: 8.61.2
Release: 4%{?dist}
Summary: Accounts framework for Linux and POSIX based platforms
License: LGPL-2.1-only
#URL: https://gitlab.com/accounts-sso/signond
URL: https://github.com/Sonic-DE/%{reponame}
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{reponame}-%{version}.tar.gz
BuildRequires: make
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: qt6-qtbase-devel
# upstream name: signond
Provides: signond%{?_isa} = %{version}-%{release}
# conflicting implementation: gsignond
Requires: dbus
Provides: signon%{?_isa} = %{version}-%{release}
Obsoletes: signon < %{version}-%{release}
%description
Single Sign-On is a framework for centrally storing authentication credentials
and handling authentication on behalf of applications as requested by
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 qt6
Summary: Single Sign On client library for Qt6-based applications
Provides: signon-qt6%{?_isa} = %{version}-%{release}
Obsoletes: signon-qt6 < %{version}-%{release}
%description qt6
%{summary}.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
# upstream name: signond
Provides: signond-devel%{?_isa} = %{version}-%{release}
Provides: signon-devel%{?_isa} = %{version}-%{release}
Obsoletes: signon-devel < %{version}-%{release}
Provides: signon-qt6-devel%{?_isa} = %{version}-%{release}
Obsoletes: signon-qt6-devel < %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{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
%cmake -DBUILD_SIGNOND:BOOL=ON -DCMAKE_INSTALL_SYSCONFDIR=/etc
%cmake_build
%install
%cmake_install
# create/own libdir/signond/extensions
mkdir -p %{buildroot}%{_libdir}/signond/extensions/
%files
%license COPYING
%config(noreplace) %{_sysconfdir}/signond.conf
%{_libexecdir}/signond
%{_libdir}/libsignon-extension.so.0*
%{_libdir}/libsignon-plugins-common.so.0*
%{_libdir}/signond/
%{_datadir}/dbus-1/services/*.service
%files qt6
%{_libdir}/libsignon-qt6.so.0{,.*}
%files devel
%{_includedir}/signon-qt6/
%{_libdir}/cmake/SignOnQt6/
%{_libdir}/pkgconfig/libsignon-qt6.pc
%{_libdir}/libsignon-qt6.so
%{_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
- SonicDE hard fork build for Enterprise Linux 10 and Fedora