%global rname qSnapper %global selinuxtype targeted Name: qsnapper Version: 1.3.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. %dnl %package selinux %dnl Summary: SELinux module for %{name} %dnl Requires: %{name} = %{version}-%{release} %dnl BuildArch: noarch %dnl %{?selinux_requires} %dnl %description selinux %dnl This package provides the SELinux policy module to ensure qsnapper %dnl 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 %build %cmake_build %install %cmake_install %dnl Install translations %dnl install -dm 0755 %{buildroot}%{_datadir}/%{name}/translations %dnl install -Dm 0644 %{_vpath_builddir}/%{name}_*.qm %{buildroot}%{_datadir}/%{name}/translations/ %dnl Install policy modules %dnl install -Dpm 0644 selinux/%{name}.if %{buildroot}%{_datadir}/selinux/devel/include/distributed/%{name}.if %dnl %find_lang %{name} --with-qt %post %tmpfiles_create %{_tmpfilesdir}/qsnapper.conf %dnl %pre selinux %dnl %selinux_relabel_pre -s %{selinuxtype} %dnl %post selinux %dnl %selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{name}.pp %dnl %postun selinux %dnl if [ $1 -eq 0]; then %dnl %selinux_modules_uninstall -s %{selinuxtype} %{name} %dnl fi %dnl %posttrans selinux %dnl %selinux_relabel_post -s %{selinuxtype} %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %dnl %files -f %{name}.lang %files %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 %{_tmpfilesdir}/qsnapper.conf %dnl %files selinux %dnl %{_datadir}/doc/%{name}/selinux/ %dnl %{_datadir}/selinux/packages/%{name}.pp %dnl %{_datadir}/selinux/devel/include/distributed/%{name}.if %changelog * Sat Apr 04 2026 Shawn W Dunn - Initial Packaging