SonicDE-rpmspecs/sonic-rpm-macros/sonic-rpm-macros.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

63 lines
2 KiB
RPMSpec

# Based on Fedora's kf6.spec, reduced to the RPM macros. The directories the
# frameworks install into are still owned by the distribution's kf6-filesystem
# package, which contains no code and therefore needs no fork.
%global debug_package %{nil}
# Keep in sync with the SonicDE frameworks release train.
%global sonicde_frameworks_version 6.29.0.1
# Keep in sync with the SonicDE Plasma release train.
%global sonicde_plasma_version 6.7.4.6
Name: sonic-rpm-macros
Version: %{sonicde_frameworks_version}
Release: 3%{?dist}
Summary: RPM macros for building SonicDE packages
License: BSD-3-Clause
URL: https://github.com/Sonic-DE
Source0: macros.kf6
Source1: LICENSE
BuildArch: noarch
Requires: cmake >= 3
Requires: qt6-rpm-macros >= 6
Requires: gcc-c++
Requires: doxygen
Requires: qt6-doc-devel
Recommends: kde-qdoc-common
Requires: cmake(Qt6ToolsTools)
# Directory ownership only, no KDE code.
Requires: kf6-filesystem
# SonicDE ships its own copy of the KF6 macros, so it replaces the ones from
# the distribution.
Provides: kf6-rpm-macros = %{version}-%{release}
Conflicts: kf6-rpm-macros < %{version}-%{release}
%description
RPM macros for building the SonicDE hard fork of KDE Frameworks 6 and Plasma
on Enterprise Linux 10 and Fedora.
%prep
%autosetup -c -T
cp -p %{SOURCE0} %{SOURCE1} .
%build
%{nil}
%install
install -Dpm644 macros.kf6 %{buildroot}%{_rpmconfigdir}/macros.d/macros.kf6
install -Dpm644 LICENSE %{buildroot}%{_licensedir}/%{name}/LICENSE
sed -i \
-e "s|@@kf6_VERSION@@|%{sonicde_frameworks_version}|g" \
-e "s|@@sonicde_frameworks_VERSION@@|%{sonicde_frameworks_version}|g" \
-e "s|@@sonicde_plasma_VERSION@@|%{sonicde_plasma_version}|g" \
%{buildroot}%{_rpmconfigdir}/macros.d/macros.kf6
%files
%license LICENSE
%{_rpmconfigdir}/macros.d/macros.kf6
%changelog
* Mon Aug 24 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 6.29.0.1-1
- Initial SonicDE macros package, based on Fedora's kf6.spec