Files
rpm-borgmatic/borgmatic.spec
T
2022-04-20 17:57:40 +02:00

110 lines
3.7 KiB
RPMSpec

%bcond_without tests
Name: borgmatic
Version: 1.5.24
Release: 2%{?dist}
Summary: Simple, configuration-driven backup software for servers and workstations
License: None
URL: https://torsion.org/borgmatic
Source0: https://projects.torsion.org/witten/borgmatic/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: systemd-rpm-macros
BuildRequires: python(abi) >= 3.7
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_version}dist(setuptools)
BuildRequires: python%{python3_version}dist(jsonschema)
BuildRequires: python%{python3_version}dist(requests)
BuildRequires: (python%{python3_version}dist(ruamel.yaml) > 0.15.0 with python%{python3_version}dist(ruamel.yaml) < 0.18)
BuildRequires: (python%{python3_version}dist(colorama) >= 0.4.1 with python%{python3_version}dist(colorama) < 0.5)
%if %{with tests}
%if 0%{?python3_version_nodots} >= 38
BuildRequires: python%{python3_version}dist(appdirs)
BuildRequires: python%{python3_version}dist(attrs)
BuildRequires: python%{python3_version}dist(black)
BuildRequires: python%{python3_version}dist(click)
BuildRequires: python%{python3_version}dist(pathspec)
BuildRequires: python%{python3_version}dist(regex)
%endif
BuildRequires: python%{python3_version}dist(coverage)
BuildRequires: python%{python3_version}dist(flake8)
BuildRequires: python%{python3_version}dist(flexmock)
BuildRequires: python%{python3_version}dist(isort)
BuildRequires: python%{python3_version}dist(mccabe)
BuildRequires: python%{python3_version}dist(pluggy)
BuildRequires: python%{python3_version}dist(py)
BuildRequires: python%{python3_version}dist(pycodestyle)
BuildRequires: python%{python3_version}dist(pyflakes)
BuildRequires: python%{python3_version}dist(pytest)
BuildRequires: python%{python3_version}dist(pytest-cov)
BuildRequires: python%{python3_version}dist(toml)
BuildRequires: python%{python3_version}dist(typed-ast)
%endif
Requires: python(abi) >= 3.7
Requires: python%{python3_version}dist(jsonschema)
Requires: python%{python3_version}dist(requests)
Requires: (python%{python3_version}dist(ruamel.yaml) > 0.15.0 with python%{python3_version}dist(ruamel.yaml) < 0.18)
Requires: (python%{python3_version}dist(colorama) >= 0.4.1 with python%{python3_version}dist(colorama) < 0.5)
%description
borgmatic (formerly atticmatic) is a simple Python wrapper script for
the Borg backup software that initiates a backup, prunes any old backups
according to a retention policy, and validates backups for consistency.
%prep
%autosetup -n %{name}
rm -rf %{name}.egg-info
%build
%py3_build
%install
%py3_install
install -dm 0750 %{buildroot}%{_sysconfdir}/borgmatic
install -dm 0750 %{buildroot}%{_sysconfdir}/borgmatic.d
install -Dpm 0644 sample/systemd/%{name}.service %{buildroot}%{_unitdir}/%{name}.service
install -Dpm 0644 sample/systemd/%{name}.timer %{buildroot}%{_unitdir}/%{name}.timer
%check
%if %{with tests}
%{__python3} setup.py test
%endif
%files
%license LICENSE
%doc README.md
%attr(0750, root, root) %{_sysconfdir}/borgmatic
%attr(0750, root, root) %{_sysconfdir}/borgmatic.d
%{_bindir}/borgmatic
%{_bindir}/generate-borgmatic-config
%{_bindir}/upgrade-borgmatic-config
%{_bindir}/validate-borgmatic-config
%{python3_sitelib}/%{name}
%{python3_sitelib}/%{name}-%{version}-py%{python3_version}.egg-info
%{_unitdir}/borgmatic.service
%{_unitdir}/borgmatic.timer
%post
%systemd_post borgmatic.timer
%preun
%systemd_preun borgmatic.timer
%postun
%systemd_postun borgmatic.timer
%changelog
* Wed Apr 20 2022 Daniel Uvehag <ufven+pkgs@protonmail.com> - 1.5.24-2
- Add systemd support
* Wed Apr 20 2022 Daniel Uvehag <ufven+pkgs@protonmail.com> - 1.5.24-1
- Initial package.