%global rname qSnapper %global selinuxtype targeted Name: qsnapper Version: 1.1.3 Release: 1%{?dist} Summary: Qt application for managing btrfs snapshots License: GPL-3.0-or-later URL: https://github.com/presire/qSnapper Source0: %{url}/archive/v%{version}/%{rname}-%{version}.tar.gz BuildRequires: cmake >= 3.16 BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: hicolor-icon-theme BuildRequires: selinux-policy-devel BuildRequires: snapper-devel BuildRequires: cmake(PolkitQt6-1) BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6Gui) BuildRequires: cmake(Qt6LinguistTools) BuildRequires: cmake(Qt6Quick) BuildRequires: cmake(Qt6QuickControls2) BuildRequires: cmake(Qt6DBus) Requires: snapper >= 0.8.0 Requires: polkit Requires: dbus Requires: (%{name}-selinux = %{version}-%{release} if selinux-policy-%{selinuxtype}) %description qSnapper is a graphical user interface for the Snapper snapshot management tool. It provides an intuitive way to create, browse, and manage filesystem snapshots on Btrfs and other supported filesystems. %package selinux Summary: SELinux module for %{name} License: GPL-3.0-or-later Requires: %{name} = %{version}-%{release} BuildArch: noarch %{?selinux_requires} %description selinux This package provides the SELinux policy module to ensure qsnapper runs properly under an environment with SELinux enabled. %prep %autosetup -C -p1 %conf %cmake \ -DCMAKE_SKIP_RPATH=ON \ -DCMAKE_SKIP_BUILD_RPATH=ON \ -DCMAKE_SKIP_INSTALL_RPATH=ON \ -DENABLE_SELINUX=ON %build %cmake_build %install %cmake_install %dnl Install translations install -dm 0755 %{buildroot}%{_datadir}/%{name}/translations install -Dm 0644 %{_vpath_builddir}/%{name}_*.qm %{buildroot}%{_datadir}/%{name}/translations/ %dnl Install policy modules install -Dpm 0644 selinux/%{name}.if %{buildroot}%{_datadir}/selinux/devel/include/distributed/%{name}.if %find_lang %{name} --with-qt %pre selinux %selinux_relabel_pre -s %{selinuxtype} %post selinux %selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{name}.pp %postun selinux if [ $1 -eq 0]; then %selinux_modules_uninstall -s %{selinuxtype} %{name} fi %posttrans selinux %selinux_relabel_post -s %{selinuxtype} %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %files -f %{name}.lang %license LICENSE.md Licenses/* %doc README.md %{_bindir}/%{name} %{_libexecdir}/%{name}-dbus-service %{_datadir}/applications/%{name}.desktop %{_datadir}/dbus-1/system-services/com.presire.%{name}.Operations.service %{_datadir}/dbus-1/system.d/com.presire.%{name}.Operations.conf %{_datadir}/icons/hicolor/*/apps/%{rname}.png %{_datadir}/polkit-1/actions/com.presire.%{name}.policy %files selinux %{_datadir}/doc/%{name}/selinux/ %{_datadir}/selinux/packages/%{name}.pp %{_datadir}/selinux/devel/include/distributed/%{name}.if %changelog * Sat Apr 04 2026 Shawn W Dunn - Initial Packaging