#global gitcommit cc63fcd2b23def5ca6b824cdaf7ba6deda3d23de %{?gitcommit:%global gitcommitshort %(c=%{gitcommit}; echo ${c:0:7})} ## total hack, since the meson macros have broken variables on centos7 %global _vpath_srcdir . %global _vpath_builddir ./build Name: casync Version: 2 Release: 7%{?gitcommit:.git%{gitcommitshort}}%{?dist} Summary: Content Addressable Data Synchronizer License: LGPLv2+ URL: https://github.com/systemd/casync %if %{defined gitcommit} Source0: https://github.com/keszybz/casync/archive/%{?gitcommit}/casync-%{shortcommit}.tar.gz %else Source0: https://github.com/systemd/casync/archive/v%{version}/%{name}-%{version}.tar.gz %endif Patch0001: 0001-Fix-segv-in-ca_remote_forget_chunk.patch Patch0002: 0001-Fix-seed-chunker-discriminator-not-set-78.patch Patch0003: casync-libcurl-dep.patch Patch0004: casync-include-falloc.patch BuildRequires: meson BuildRequires: gcc BuildRequires: pkgconfig(liblzma) >= 5.1.0 BuildRequires: pkgconfig(libzstd) BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libcurl) >= 7.29.0 #BuildRequires: pkgconfig(fuse) >= 2.6 BuildRequires: pkgconfig(libssl) BuildRequires: pkgconfig(libselinux) BuildRequires: libacl-devel # for rpm macros BuildRequires: systemd # for tests BuildRequires: rsync # for the man page BuildRequires: python-sphinx %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 %if %{defined gitcommit} %autosetup -n %{name}-%{gitcommit} -p1 %else %autosetup -p1 %endif %build #/usr/bin/meson --buildtype=plain --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/libexec --bindir=/usr/bin --sbindir=/usr/sbin --includedir=/usr/include --datadir=/usr/share --mandir=/usr/share/man --infodir=/usr/share/info --localedir=/usr/share/locale --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib --wrap-mode=nodownload --auto-features=enabled -D fuse=false build %meson -Dfuse=false %meson_build %check %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 %_prefix/lib/casync/protocols/casync-sftp %_mandir/man1/casync.1* %_udevrulesdir/75-casync.rules %changelog * Mon Sep 23 2019 Vincent Batts - 2-7 - Rebuild for libcrypto * Wed Dec 5 2018 Vincent Batts - 2-6 - Build for centos7 * Wed Jan 17 2018 Igor Gnatenko - 2-5 - Rebuild for openssl 1.1 * Fri Sep 01 2017 Igor Gnatenko - 2-4 - Backport fix for setting chunk-size * Wed Aug 02 2017 Fedora Release Engineering - 2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Sun Jul 30 2017 Florian Weimer - 2-2 - Rebuild with binutils fix for ppc64le (#1475636) * Wed Jul 26 2017 Zbigniew Jędrzejewski-Szmek - 2-1 - Update to latest version * Wed Jul 26 2017 Fedora Release Engineering - 1-5.gitcc63fcd - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Jun 23 2017 Zbigniew Jędrzejewski-Szmek - 1-4.git - Pull in fixes for failures on non-amd64 arches * Tue Jun 20 2017 Zbigniew Jędrzejewski-Szmek - 1-1 - Initial packaging