## START: Set by rpmautospec ## (rpmautospec version 0.8.4) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 2; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec Name: btrfs-backup-ng Version: 0.9.17 Release: %autorelease Summary: Btrfs backups with snapshots, incremental transfers and restore License: MIT URL: https://github.com/berrym/btrfs-backup-ng Source: %{pypi_source btrfs_backup_ng} # Fix exclusive lock acquire on btrfs; sent upstream. Patch0: btrfs-backup-ng-0.9.17-lock-rewind-before-listing.patch BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3-pytest BuildRequires: python3-pytest-asyncio # External tools the test suite invokes BuildRequires: btrfs-progs BuildRequires: bzip2 BuildRequires: dash BuildRequires: fish BuildRequires: gzip BuildRequires: lz4 BuildRequires: lzop BuildRequires: openssl BuildRequires: pbzip2 BuildRequires: pigz BuildRequires: procps-ng BuildRequires: xz BuildRequires: zsh BuildRequires: zstd Requires: btrfs-progs Requires: openssh-clients Requires: pv Requires: gzip Requires: bzip2 Requires: zstd Requires: xz Requires: lz4 Requires: lzop Requires: pigz Requires: pbzip2 %description btrfs-backup-ng creates, transfers, prunes and restores btrfs snapshots: to local disks, to other machines over SSH, or as raw send-stream files on any filesystem (NFS, SMB, cloud storage). It is configured with TOML and driven by subcommands such as run, snapshot, transfer, prune, restore and verify, with an interactive wizard to write the first configuration. Features: - Incremental transfers, with the parent matched by btrfs UUID so a re-created snapshot is never used as the wrong parent - Time-based retention: hourly, daily, weekly, monthly and yearly - Restore from local, SSH and raw targets, as full or incremental chains - Stream compression with zstd, gzip, lz4, xz, bzip2, lzop, pigz and pbzip2 - Raw backups with GPG or OpenSSL encryption and a checksummed metadata sidecar that raw verify can check - SSH host-key verification, bandwidth limits and sudo support on the remote - Locks kept on the remote target, so a prune running elsewhere cannot delete a snapshot that a restore is reading - Snapper integration, including restoring snapshots with their metadata - Import of btrbk configuration, snapshots and systemd timers - systemd timer installation, email and webhook notifications, and a doctor command that diagnoses and repairs common problems Man pages and bash, zsh and fish completions are included. %prep %autosetup -p1 -n btrfs_backup_ng-%{version} %generate_buildrequires %pyproject_buildrequires %build %pyproject_wheel %install %pyproject_install %pyproject_save_files -l btrfs_backup_ng install -d %{buildroot}%{_mandir}/man1 install -m 0644 man/man1/btrfs*.1* %{buildroot}%{_mandir}/man1 install -d %{buildroot}%{bash_completions_dir} install -d %{buildroot}%{zsh_completions_dir} install -d %{buildroot}%{fish_completions_dir} install -m 0644 completions/btrfs-backup-ng.bash %{buildroot}%{bash_completions_dir}/btrfs-backup-ng install -m 0644 completions/btrfs-backup-ng.zsh %{buildroot}%{zsh_completions_dir}/_btrfs-backup-ng install -m 0644 completions/btrfs-backup-ng.fish %{buildroot}%{fish_completions_dir}/btrfs-backup-ng.fish %check # Tests that run an external program skip when it is missing; listing a tool # here turns its skips into failures, so a dropped BuildRequires fails the build. export BBNG_TEST_REQUIRE_TOOLS=awk,btrfs,bzip2,dash,fish,gzip,lz4,lzop,openssl,pbzip2,pigz,ps,xz,zsh,zstd %{pytest} %files -n btrfs-backup-ng -f %{pyproject_files} %doc README.md CHANGELOG.md %{_mandir}/man1/btrfs*.1.gz %{_bindir}/btrfs-backup-ng %{_datadir}/%{name}/ %{bash_completions_dir}/btrfs-backup-ng %{zsh_completions_dir}/_btrfs-backup-ng %{fish_completions_dir}/btrfs-backup-ng.fish %changelog ## START: Generated by rpmautospec * Thu Oct 22 2026 Michael Berry - 0.9.17-2 - Fix exclusive lock acquire on btrfs targets * Thu Oct 22 2026 Michael Berry - 0.9.17-1 - Update to 0.9.17 * Tue Oct 20 2026 Michael Berry - 0.9.16-1 - Update to 0.9.16 * Mon Oct 19 2026 Michael Berry - 0.9.15-1 - Update to 0.9.15 * Mon Oct 19 2026 Michael Berry - 0.9.14-1 - Update to 0.9.14 - Drop the pytest < 8.4 patch; upstream includes the fix * Sun Oct 18 2026 Michael Berry - 0.9.13-3 - Rewrite Summary and expand %%description from the README * Sun Oct 18 2026 Michael Berry - 0.9.13-2 - Fix %%check with pytest < 8.4 * Sun Oct 18 2026 Michael Berry - 0.9.13-1 - Update to 0.9.13 - Run the full test suite with no -k exclusions; require the tools the build provides via BBNG_TEST_REQUIRE_TOOLS so a missing one fails - BuildRequire the compressors, zsh and fish so their tests run - Requires: lzop (the program), not lzo (the library) * Sat Oct 17 2026 Michael Berry - 0.9.12-1 - Update to 0.9.12 * Wed Jul 15 2026 Fedora Release Engineering - 0.8.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild * Thu Jun 04 2026 Python Maint - 0.8.2-4 - Rebuilt for Python 3.15 * Fri Jan 16 2026 Fedora Release Engineering - 0.8.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild * Fri Jan 16 2026 Fedora Release Engineering - 0.8.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild * Sat Jan 10 2026 Michael Berry - 0.8.2-1 - Update package to v0.8.2 * Fri Sep 19 2025 Python Maint - 0.6.8-5 - Rebuilt for Python 3.14.0rc3 bytecode * Fri Aug 15 2025 Python Maint - 0.6.8-4 - Rebuilt for Python 3.14.0rc2 bytecode * Wed Jul 23 2025 Fedora Release Engineering - 0.6.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Tue Jun 03 2025 Python Maint - 0.6.8-2 - Rebuilt for Python 3.14 * Tue May 13 2025 Michael Berry - 0.6.8-1 - Update to v0.6.8. Bug fixes and refactored to reduce cyclomatic complexity. * Sun May 11 2025 Michael Berry - 0.6.6-1 - local build * Thu Jan 23 2025 Michael Berry - 0.6.5-1 - Update to v0.6.5 * Thu Jan 16 2025 Fedora Release Engineering - 0.6.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Fri Sep 13 2024 Michael Berry - 0.6.4-2 - Use autospec macros for spec file * Thu Sep 12 2024 Michael Berry - 0.6.4-1 - Fixed duplicated log messages -v0.6.4 * Wed Sep 11 2024 Michael Berry - 0.6.3-3 - Updated README.md * Tue Sep 10 2024 Michael Berry - 0.6.3-2 - Upstream README.md * Tue Sep 10 2024 Michael Berry - 0.6.3-1 - Initial import (fedora#2305930). ## END: Generated by rpmautospec