+# TODO:
+# 3.1.3 rsyncd segfaults very early in server rsync:// mode (both inetd and standalone)
+# rsync[27223]: segfault at 7468 ip 00007f4281c56e81 sp 00007ffc29186160 error 4 in libc-2.27.so[7f4281bd3000+1b4000]
#
# Conditional build:
%bcond_with rsh # set remote shell command to rsh instead of ssh (old behaviour)
+%bcond_without fadvise # apply fadvise patch
%bcond_with tests # perform "make test"
#
%ifarch alpha
Summary(zh_CN.UTF-8): [通讯]传输工具
Summary(zh_TW.UTF-8): [喙啪]\e$(B6G?i火(c\e(B
Name: rsync
-Version: 3.1.2
-Release: 2
+Version: 3.1.3
+Release: 4
+Epoch: 1
License: GPL v3+
Group: Networking/Utilities
-Source0: http://rsync.samba.org/ftp/rsync/%{name}-%{version}.tar.gz
-# Source0-md5: 0f758d7e000c0f7f7d3792610fad70cb
-Source1: http://rsync.samba.org/ftp/rsync/rsync-patches-%{version}.tar.gz
-# Source1-md5: f412602a3cba0b872adfaed905a0aa28
+Source0: https://rsync.samba.org/ftp/rsync/%{name}-%{version}.tar.gz
+# Source0-md5: 1581a588fde9d89f6bc6201e8129afaf
+Source1: https://rsync.samba.org/ftp/rsync/%{name}-patches-%{version}.tar.gz
+# Source1-md5: 753fc37ffc277571c69135e8bc5fae9d
Source2: %{name}.inet
Source3: %{name}.init
Source4: %{name}.sysconfig
Source5: %{name}d.logrotate
+Patch100: %{name}-fixes.patch
Patch0: %{name}-config.patch
-URL: http://rsync.samba.org/
+Patch1: %{name}-fadvise.patch
+Patch2: %{name}-noatime.patch
+Patch3: CVE-2016-9840.patch
+Patch4: CVE-2016-9841.patch
+Patch5: CVE-2016-9842.patch
+Patch6: CVE-2016-9843.patch
+URL: https://rsync.samba.org/
BuildRequires: acl-devel
BuildRequires: autoconf >= 2.59
BuildRequires: automake
Summary: Files necessary to run rsync in daemon mode
Summary(pl.UTF-8): Pliki niezbędne do uruchomienia rsynca w trybie serwera
Group: Networking/Daemons
-Requires: %{name} = %{version}-%{release}
+Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: rc-inetd
Provides: rsyncd
Obsoletes: rsyncd
Summary(pl.UTF-8): Pliki niezbędne do uruchomienia rsynca w trybie serwera
Group: Networking/Daemons
Requires(post,preun): /sbin/chkconfig
-Requires: %{name} = %{version}-%{release}
+Requires: %{name} = %{epoch}:%{version}-%{release}
Provides: rsyncd
Obsoletes: rsyncd
Obsoletes: rsyncd-inetd
%prep
%setup -q -b1
+%patch100 -p1
%patch0 -p1
+%{?with_fadvise:%patch1 -p1}
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
# for compat with previous patched version
patch -p1 -i patches/acls.diff || exit 1
#RSYNC_PASSWORD=
EOF
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/rsyncd
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/rsyncd
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rsyncd
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/rsyncd
+install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/rsyncd
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/rsyncd
+cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rsyncd
+cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/rsyncd
%clean
rm -rf $RPM_BUILD_ROOT