File snapper.spec of Package snapper
Name: snapper
Version: 0.13.0
Release: 1%{?dist}
Summary: Tool for filesystem snapshot management
License: GPL-2.0-or-later
URL: http://snapper.io
Source0: snapper-%{version}.tar.gz
BuildRequires: gcc-c++
BuildRequires: boost-devel >= 1.33.0
BuildRequires: dbus-devel
BuildRequires: libxml2-devel
BuildRequires: libmount-devel
BuildRequires: libacl-devel
BuildRequires: btrfs-progs-devel
BuildRequires: json-c-devel
BuildRequires: ncurses-devel
BuildRequires: pam-devel
BuildRequires: gettext-devel
BuildRequires: docbook-style-xsl
BuildRequires: libxslt
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: make
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig
BuildRequires: e2fsprogs-devel
Requires: btrfs-progs
Requires: dbus
Requires: diffutils
%description
Snapper is a tool for filesystem snapshot management. It can create, delete,
and compare snapshots and undo changes done between snapshots. Snapper works
with btrfs and thin-provisioned LVM volumes.
%package devel
Summary: Development files for snapper
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files for snapper.
%prep
%autosetup -n snapper-%{version}
%build
autoreconf -fiv
%configure \
--prefix=%{_prefix} \
--sysconfdir=%{_sysconfdir} \
--disable-silent-rules \
--disable-ext4
%make_build
%install
%make_install
# Create config directories if needed
mkdir -p %{buildroot}%{_sysconfdir}/snapper/configs
mkdir -p %{buildroot}%{_sysconfdir}/snapper/filters
# Remove duplicate COPYING from doc dir (we use %license instead)
rm -f %{buildroot}%{_datadir}/doc/snapper/COPYING
# Rename cron script from openSUSE naming to standard naming
mv %{buildroot}%{_sysconfdir}/cron.hourly/suse.de-snapper \
%{buildroot}%{_sysconfdir}/cron.hourly/snapper
%post
%systemd_post snapper-timeline.timer snapper-cleanup.timer snapper-boot.timer
%preun
%systemd_preun snapper-timeline.timer snapper-cleanup.timer snapper-boot.timer
%postun
%systemd_postun_with_restart snapper-timeline.timer snapper-cleanup.timer snapper-boot.timer
%files
%license COPYING
%doc AUTHORS README.md
%{_bindir}/snapper
%{_sbindir}/snapperd
%{_sbindir}/mksubvolume
%{_sbindir}/snbk
%dir %{_sysconfdir}/snapper
%dir %{_sysconfdir}/snapper/configs
%dir %{_sysconfdir}/snapper/filters
%{_sysconfdir}/cron.hourly/snapper
%{_sysconfdir}/logrotate.d/snapper
%{_datadir}/dbus-1/system.d/org.opensuse.Snapper.conf
%{_unitdir}/snapper-*.timer
%{_unitdir}/snapper-*.service
%{_unitdir}/snapperd.service
%{_libdir}/libsnapper.so.*
%{_libdir}/security/pam_snapper.so
%{_libdir}/snapper/
%{_prefix}/lib/pam_snapper/
%{_prefix}/lib/snapper/
%{_prefix}/lib/zypp/
%{_mandir}/man?/*
%{_datadir}/snapper/
%{_datadir}/dbus-1/system-services/org.opensuse.Snapper.service
%{_datadir}/locale/*/LC_MESSAGES/snapper.mo
%{_datadir}/bash-completion/completions/snapper
%{_datadir}/bash-completion/completions/snbk
%{_datadir}/zsh/site-functions/_snapper
%files devel
%{_includedir}/snapper/
%{_libdir}/libsnapper.so
%changelog
* Sun Jan 26 2025 Andrey <hactarr@obs> - 0.11.2-1
- Initial package for AlmaLinux 10