Blob Blame History Raw
Name:           casync
Version:        1
Release:        2%{?dist}
Summary:        Content Addressable Data Synchronizer

License:        LGPLv2+
URL:            https://github.com/systemd/casync
Source0:        https://github.com/systemd/casync/archive/v%{version}/%{name}-%{version}.tar.gz

BuildRequires:  meson
BuildRequires:  gcc
BuildRequires:  pkgconfig(liblzma) >= 5.1.0
BuildRequires:  pkgconfig(libcurl) >= 7.32.0
BuildRequires:  pkgconfig(fuse) >= 2.6
BuildRequires:  libgcrypt-devel
BuildRequires:  libacl-devel
# for tests
BuildRequires:  rsync

Patch0001: 0001-Drop-some-unnecessary-braces.patch
Patch0002: 0002-Redefine-ioctl-FS_IOC_-SG-ETFLAGS-to-take-an-int.patch
Patch0003: 0003-cadecoder-only-try-to-set-settable-chattr-bits.patch
Patch0004: 0004-util-define-__NR_renameat2-for-ppc64.patch
Patch0005: 0005-util-define-__NR_renameat2-for-s390-x.patch
Patch0006: 0006-tests-fix-tests-when-the-source-directory-is-not-cal.patch

%description
casync provides a way to efficiently transfer files which change over
time over the internet. It will split a given set into a git-inspired
content-addressable set of smaller compressed chunks, which can then
be conveniently transferred using HTTP. On the receiving side those
chunks will be uncompressed and merged together to recreate the
original data. When the original data is modified, only the new chunks
have to be transferred during an update.

%prep
%autosetup -p1

%build
%meson
%meson_build

%check
# Some tests currently fail, but are being worked-on upstream.
%meson_test || :

%install
%meson_install

%files
%license LICENSE.LGPL2.1
%doc README.md TODO
%_bindir/casync
%dir %_prefix/lib/casync
%dir %_prefix/lib/casync/protocols
%_prefix/lib/casync/protocols/casync-ftp
%_prefix/lib/casync/protocols/casync-http
%_prefix/lib/casync/protocols/casync-https

%changelog
* Tue Jun 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1-1
- Initial packaging