Files
fedora-tools/fedora-tools-settings/fedora-tools-settings.spec
T

119 lines
4.0 KiB
RPMSpec

Name: fedora-tools-settings
Version: 0.1.0
Release: 13%{?dist}
Summary: Plasma System Settings module for Fedora Tools
License: MIT
URL: https://git.ajpanton.se/ajp_anton/fedora-tools
Source0: %{name}-%{version}.tar.gz
Source1: LICENSE
Source2: README.md
BuildRequires: cmake
BuildRequires: extra-cmake-modules
BuildRequires: gcc-c++
BuildRequires: kf6-kauth-devel
BuildRequires: kf6-kcmutils-devel
BuildRequires: kf6-kconfig-devel
BuildRequires: kf6-ki18n-devel
BuildRequires: kf6-kirigami-devel
BuildRequires: qt6-qtdeclarative-devel
Requires: dnf5
Requires: kf6-kauth
Requires: kf6-kcmutils
Requires: kf6-kirigami
Requires: plasma-systemsettings
Requires: rpm
%description
Adds a Fedora Tools page to KDE Plasma System Settings. It discovers tools from
the configured RPM repository, reports installation state, and can install
tools after administrator authorisation.
%prep
%autosetup
%build
%cmake
# RCC otherwise gives every revision built on the same changelog date the
# same timestamp, allowing Qt to reuse an older QML disk cache. Keep the
# resource stamp reproducible, but make it depend on the actual UI contents.
qml_checksum=$(find src/ui -type f -print0 | sort -z | xargs -0 sha256sum | sha256sum)
(
unset SOURCE_DATE_EPOCH
export QT_RCC_SOURCE_DATE_OVERRIDE=$((16#${qml_checksum:0:8}))
%cmake_build
)
%check
%ctest
%install
%cmake_install
install -Dpm 0644 %{SOURCE1} \
%{buildroot}%{_licensedir}/%{name}/LICENSE
install -Dpm 0644 %{SOURCE2} \
%{buildroot}%{_docdir}/%{name}/README.md
%post
# Releases through 0.1.0-7 let privileged DNF processes inherit KAuth's
# restrictive umask. Restore DNF's standard permissions on files they created.
for file in environments.toml groups.toml modules.toml nevras.toml packages.toml system.toml; do
test ! -e "%{_prefix}/lib/sysimage/libdnf5/$file" || chmod 0644 "%{_prefix}/lib/sysimage/libdnf5/$file"
done
%files
%license %{_licensedir}/%{name}/LICENSE
%doc %{_docdir}/%{name}/README.md
%{_libdir}/qt6/plugins/plasma/kcms/systemsettings/kcm_fedora_tools.so
%{_libexecdir}/kf6/kauth/fedora-tools-settings-helper
%{_datadir}/applications/kcm_fedora_tools.desktop
%{_datadir}/dbus-1/system-services/se.ajpanton.fedoratools.service
%{_datadir}/dbus-1/system.d/se.ajpanton.fedoratools.conf
%{_datadir}/polkit-1/actions/se.ajpanton.fedoratools.policy
%changelog
* Sat Sep 12 2026 fedora-tools contributors - 0.1.0-13
- Share settings validation and report failed configuration writes
- Simplify ordering and source packaging
* Tue Sep 08 2026 fedora-tools contributors - 0.1.0-12
- Hide unsupported Framework hardware tools and flag incompatible local installs
* Mon Sep 07 2026 fedora-tools contributors - 0.1.0-11
- Invalidate cached QML whenever the embedded settings pages change
* Sun Sep 06 2026 fedora-tools contributors - 0.1.0-10
- Discover configuration applications registered by installed tools
* Sun Sep 06 2026 fedora-tools contributors - 0.1.0-9
- Open the Panel Actions widget's native per-panel configuration
* Sat Sep 05 2026 fedora-tools contributors - 0.1.0-8
- Preserve standard permissions on DNF system-state files
* Sat Sep 05 2026 fedora-tools contributors - 0.1.0-7
- Use the DNF upgrade transaction for installed tools
* Sat Sep 05 2026 fedora-tools contributors - 0.1.0-6
- Refresh privileged DNF metadata before installing a tool
* Sat Sep 05 2026 fedora-tools contributors - 0.1.0-5
- Fix button contrast and timing-value loading
- Separate touchpad anchor age from its stationary-time setting
* Sat Sep 05 2026 fedora-tools contributors - 0.1.0-4
- Improve tool descriptions and configuration help
- Add the minimum hold-tap duration setting
* Sat Sep 05 2026 fedora-tools contributors - 0.1.0-3
- Add compact deterministic tool rows and per-tool configuration
* Sat Sep 05 2026 fedora-tools contributors - 0.1.0-2
- Show installation progress beside the selected tool
- Add safe per-tool uninstall actions
* Sat Sep 05 2026 fedora-tools contributors - 0.1.0-1
- Initial package