f856948
%global srcname borgbackup
f856948
f856948
Name:           %{srcname}
af8f169
Version:        1.1.4
8630a98
Release:        2%{?dist}
11d6296
Summary:        A deduplicating backup program with compression and authenticated encryption
f856948
f856948
License:        BSD
f856948
URL:            https://borgbackup.readthedocs.org
86b6729
Source0:        https://files.pythonhosted.org/packages/source/b/%{srcname}/%{srcname}-%{version}.tar.gz
f856948
86b6729
Patch0:         0001-utf8-to-unicode-string-literal.patch
6a39eb7
Patch1:         0002-disable-sphinx-man-page-build.patch
d8c34ba
f856948
# build
f856948
BuildRequires:  python%{python3_pkgversion}-devel
f856948
BuildRequires:  python%{python3_pkgversion}-setuptools
f856948
BuildRequires:  python%{python3_pkgversion}-setuptools_scm
f856948
BuildRequires:  python%{python3_pkgversion}-Cython
f856948
BuildRequires:  python%{python3_pkgversion}-llfuse
f856948
f856948
# test
f856948
BuildRequires:  python%{python3_pkgversion}-pytest
11d6296
BuildRequires:  python%{python3_pkgversion}-msgpack >= 0.4.6
f856948
f856948
# docs
d8c34ba
%if 0%{?rhel}
15677a3
# python3-sphinx packages are not available in epel
d8c34ba
# so we use the old python2
d8c34ba
BuildRequires:  python-sphinx
d8c34ba
%else
f856948
BuildRequires:  python%{python3_pkgversion}-sphinx
d8c34ba
%endif
f856948
f856948
# no python deps
7b9bec2
BuildRequires:  openssl-devel >= 1.0.0
f856948
BuildRequires:  fuse-devel
f856948
BuildRequires:  libacl-devel
af8f169
BuildRequires:  lz4-devel >= 1.7.0
af8f169
BuildRequires:  libzstd-devel >= 1.3.0
f856948
b28cac8
Requires:       python%{python3_pkgversion}-setuptools
11d6296
Requires:       python%{python3_pkgversion}-msgpack >= 0.4.6
7b9bec2
Requires:       python%{python3_pkgversion}-llfuse
d2d88ee
Requires:       fuse
7b9bec2
f856948
%description
f856948
BorgBackup (short: Borg) is a deduplicating backup program. Optionally, it
f856948
supports compression and authenticated encryption.
f856948
f856948
%prep
d8c34ba
%setup -n %{srcname}-%{version}
f856948
rm -rf %{srcname}.egg-info
f856948
2c5da3f
# epel only has python2-sphinx and python2 has some problems
2c5da3f
# with utf8 and it needs a patched docs until
2c5da3f
# there is a python3 of sphinx
d8c34ba
%patch0 -p1
6a39eb7
6a39eb7
# we don't need the guzzley_sphinx theme for only man page generation
6a39eb7
%patch1 -p1
d8c34ba
f856948
%build
f856948
%py3_build
f856948
6a39eb7
# MANPAGE GENERATION
aa5c4d0
# workaround to dump sphinx_rtd_theme dependency - not needed for manpages
aa5c4d0
export READTHEDOCS=True
d8c34ba
6a39eb7
# workaround to include borg module for usage generation
6a39eb7
export PYTHONPATH=$(pwd)/build/$(ls build/ | grep 'lib.')
d8c34ba
d8c34ba
%if 0%{?rhel}
d8c34ba
make -C docs man
d8c34ba
%else
f856948
make -C docs SPHINXBUILD=sphinx-build-3 man
d8c34ba
%endif
f856948
f856948
%install
f856948
find . -name *.so -type f -exec chmod 0755 {} \;
f856948
f856948
%py3_install
11d6296
install -D -m 0644 docs/_build/man/borg*.1* %{buildroot}%{_mandir}/man1/borg.1
f856948
b231c6c
# add shell completions
b231c6c
#%define bash_compdir %(pkg-config --variable=completionsdir bash-completion)
b231c6c
%define bash_compdir %{_prefix}/share/bash-completion/completions
b231c6c
%define zsh_compdir %{_prefix}/share/zsh/site-functions
b231c6c
%define fish_compdir %{_prefix}/share/fish/completions
b231c6c
b231c6c
install -d  %{buildroot}%{bash_compdir}
b231c6c
install -d  %{buildroot}%{zsh_compdir}
b231c6c
install -d  %{buildroot}%{fish_compdir}
b231c6c
b231c6c
install -D -m 0644 scripts/shell_completions/bash/* %{buildroot}%{bash_compdir}
b231c6c
install -D -m 0644 scripts/shell_completions/zsh/* %{buildroot}%{zsh_compdir}
b231c6c
install -D -m 0644 scripts/shell_completions/fish/* %{buildroot}%{fish_compdir}
b231c6c
f856948
%check
6a39eb7
export PYTHONPATH=$(pwd)/build/$(ls build/ | grep 'lib.')
e349ee9
e349ee9
# workaround to prevent test issues with ascii/utf-8 under rhel 7
2d5c055
%if 0%{?rhel} || 0%{?fedora} == 25
e349ee9
export LANG=en_US.UTF-8
e349ee9
%endif
e349ee9
e349ee9
# exclude test_fuse: there is no modprobe in mock for fuse
e349ee9
# exclude test_non_ascii_acl: problem with mock
e349ee9
# exclude benchmark: not relevant for package build
af8f169
# exclude test_dash_open: pytest stub has a bug and is fixed in 3.0.2 (epel7 uses 2.8.5)
35ef8cc
# exclude test_mount_hardlinks: there is no modprobe in mock for fuse
35ef8cc
py.test-3 -vk "not test_non_ascii_acl and not test_fuse and not benchmark and not test_dash_open and not test_mount_hardlinks" $PYTHONPATH/borg/testsuite/*.py
f856948
b231c6c
%files
f856948
%license LICENSE
f856948
%doc README.rst PKG-INFO AUTHORS
f856948
%doc docs/changes.rst
f856948
%{_mandir}/man1/*
f856948
f856948
%{python3_sitearch}/*
f856948
%{_bindir}/borg
6a39eb7
%{_bindir}/borgfs
b231c6c
%{_prefix}/share/bash-completion/completions/*
b231c6c
%{_prefix}/share/zsh/site-functions/*
b231c6c
%{_prefix}/share/fish/completions/*
f856948
f856948
f856948
%changelog
8630a98
* Mon Jan 1 2018 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.1.4-2
8630a98
- add testsuite, needed for selftest
8630a98
af8f169
* Mon Jan 1 2018 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.1.4-1
af8f169
- upstream version 1.1.4 (see upstream changelog)
af8f169
- added zstd compression
af8f169
- removed patch for borg check --repair malfunction
af8f169
- remove testsuite from package
af8f169
3fae087
* Sun Dec 17 2017 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.1.3-2
3fae087
- fix borg check --repair malfunction (upstream pull #3444)
3fae087
35ef8cc
* Tue Nov 28 2017 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.1.3-1
35ef8cc
- upstream version 1.1.3
35ef8cc
- fixes CVE-2017-15914 (BZ#1517664)
35ef8cc
b231c6c
* Tue Nov 07 2017 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.1.2-1
b231c6c
- upstream version 1.1.2
b231c6c
- added shell completions
b231c6c
ea7885b
* Wed Nov 01 2017 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.1.1-1
ea7885b
- upstream version 1.1.1
ea7885b
d2d88ee
* Mon Oct 09 2017 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.1.0-1
d2d88ee
- upstream version 1.1.0 (BZ#1499512)
d2d88ee
- added missing fuse dependency (BZ#1493434)
d2d88ee
3d95631
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.11-4
3d95631
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
3d95631
2570e9c
* Sun Jul 30 2017 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.11-3
2570e9c
- removed sphinx_rtd_theme dependency
2570e9c
f02d9d7
* Sat Jul 29 2017 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.11-2
f02d9d7
- wrong tag build
f02d9d7
08385af
* Sat Jul 29 2017 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.11-1
08385af
- upstream version 1.0.11 (BZ#1473897)
08385af
- removed setup.py build_api
08385af
912d815
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.10-2
912d815
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
912d815
dbd5637
* Mon Feb 13 2017 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.10-1
dbd5637
- upstream version 1.0.10 (BZ#1421660)
dbd5637
d6e1b94
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.9-2
d6e1b94
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
d6e1b94
962b741
* Sun Dec 25 2016 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.9-1
962b741
- upstream version 1.0.9 (BZ#1406277)
962b741
- fix manifest spoofing vulnerability - see docs for info
962b741
bd0d681
* Mon Dec 19 2016 Miro HronĨok <mhroncok@redhat.com> - 1.0.8-3
bd0d681
- Rebuild for Python 3.6
bd0d681
c3831b0
* Mon Oct 31 2016 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.8-2
52430ad
- upstream version 1.0.8 (BZ#1389986)
52430ad
c7493dd
* Sun Aug 21 2016 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.7-1
c7493dd
- security fix with borg serve and restrict-to-path (BZ#1354371)
c7493dd
e0be428
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.6-2
e0be428
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
e0be428
86b6729
* Wed Jul 13 2016 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.6-1
86b6729
- upstream version 1.0.6 (BZ#1354371)
86b6729
- update source url (now pointing to files.pythonhosted.org)
86b6729
- testsuite on XFS is patched upstream
86b6729
42eaa6d
* Fri Jul 01 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 1.0.3-2
42eaa6d
- Fix testsuite on XFS (#1331820)
42eaa6d
b28cac8
* Sun May 22 2016 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.3-1
b28cac8
- Added requires for setuptools (BZ#1335325)
b28cac8
- upstream version 1.0.3
b28cac8
b28cac8
* Thu Apr 28 2016 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.2-2
b28cac8
- rebuilt
b28cac8
b28cac8
* Thu Apr 28 2016 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.2-2
b28cac8
- Missing dependency python-setuptools
b28cac8
2c5da3f
* Sun Apr 17 2016 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.2-1
d8c34ba
- added epel7 specific parts
d8c34ba
- make manpage generation work with epel7
95586c3
- upstream version 1.0.2
d8c34ba
11d6296
* Sat Apr 16 2016 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.1-2
11d6296
- simplified specfile
11d6296
- removed unneeded dependencies: python3-mock, python3-pytest-cov
11d6296
b09601f
* Sun Apr 10 2016 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.1-1
b09601f
- Upstream version 1.0.1. see changelog
b09601f
7b9bec2
* Thu Apr 07 2016 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.0-2
7b9bec2
- Added requires for python3-llfuse (#1324685)
7b9bec2
- Added minversion for openssl
7b9bec2
f856948
* Mon Apr 04 2016 Benjamin Pereto <benjamin@sandchaschte.ch> - 1.0.0-1
f856948
- Upstream version 1.0.0
f856948
- Rewrote build requirements for EPEL7
f856948
f856948
* Thu Dec 17 2015 Benjamin Pereto <benjamin@sandchaschte.ch> - 0.29.0-3
f856948
- Specified correct project URL
f856948
- Added Buildrequires python3-sphinx_rtd_theme for f23
f856948
f856948
* Thu Dec 17 2015 Benjamin Pereto <benjamin@sandchaschte.ch> - 0.29.0-2
f856948
- Cleanup Spec
f856948
- Rename package to borgbackup
f856948
 
f856948
* Mon Dec 14 2015 Benjamin Pereto <benjamin@sandchaschte.ch> - 0.29.0-1
f856948
- New Upstream Version
f856948
- Added manpage from Upstream
f856948
- Testsuite now functional without benchmark
f856948
f856948
* Sat Dec 05 2015 Benjamin Pereto <benjamin@sandchaschte.ch> - 0.28.2-6
f856948
- Added correct testsuite to check
f856948
- Removed unnessesary statements
f856948
f856948
* Fri Dec 04 2015 Benjamin Pereto <benjamin@sandchaschte.ch> - 0.28.2-5
f856948
- Renamed Specfile to python3 only and remove pre-built egg-info
f856948
f856948
* Wed Dec 02 2015 Benjamin Pereto <benjamin@sandchaschte.ch> - 0.28.2-4
f856948
- Removed double package statement and sum macro
f856948
f856948
* Tue Dec 01 2015 Benjamin Pereto <benjamin@sandchaschte.ch> - 0.28.2-3
f856948
- Added dependency python3-msgpack to buildrequires
f856948
f856948
* Tue Dec 01 2015 Benjamin Pereto <benjamin@sandchaschte.ch> - 0.28.2-2
f856948
- Added dependency python3-msgpack
f856948
f856948
* Tue Dec 01 2015 Benjamin Pereto <benjamin@sandchaschte.ch> - 0.28.2-1
f856948
- Initial Packaging for the BorgBackup Project
f856948