]> git.pld-linux.org Git - packages/rsync.git/blobdiff - rsync.spec
up to 3.1.3; SECURITY; rsync-3.1.2-1-fadvise.patch disabled
[packages/rsync.git] / rsync.spec
index 5ad583d5a0c7f4db70800a00d591acc182963edc..72a0e813a0e8f7bde7eac68ec8408fcbdb055fd1 100644 (file)
@@ -1,6 +1,10 @@
+# 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_with    fadvise # apply fadvise patch
 %bcond_with    tests   # perform "make test"
 #
 %ifarch alpha
@@ -16,27 +20,31 @@ Summary(uk.UTF-8):  Програма для ефективного віддале
 Summary(zh_CN.UTF-8):  [通讯]传输工具
 Summary(zh_TW.UTF-8):  [喙啪]\e$(B6G?i火(c\e(B
 Name:          rsync
-Version:       3.0.0
-# don't rel 1 until final release
-Release:       0.1
-License:       GPL
+Version:       3.1.3
+Release:       1
+Epoch:         1
+License:       GPL v3+
 Group:         Networking/Utilities
-Source0:       http://rsync.samba.org/ftp/rsync/%{name}-%{version}pre9.tar.gz
-# Source0-md5: 2d4e94e199911e36491d8b17851f1fe8
-Source1:       %{name}.inet
-Source2:       %{name}.init
-Source3:       %{name}.sysconfig
-Source4:       %{name}d.logrotate
+Source0:       https://rsync.samba.org/ftp/rsync/%{name}-%{version}.tar.gz
+# Source0-md5: 1581a588fde9d89f6bc6201e8129afaf
+Source1:       https://rsync.samba.org/ftp/rsync/rsync-patches-%{version}.tar.gz
+# Source1-md5: 753fc37ffc277571c69135e8bc5fae9d
+Source2:       %{name}.inet
+Source3:       %{name}.init
+Source4:       %{name}.sysconfig
+Source5:       %{name}d.logrotate
 Patch0:                %{name}-config.patch
-URL:           http://rsync.samba.org/
+Patch1:                https://tobi.oetiker.ch/patches/rsync-3.1.2-1-fadvise.patch
+# Patch1-md5:  b055468e7cbc5d829aa943f07916d458
+URL:           https://rsync.samba.org/
 BuildRequires: acl-devel
-BuildRequires: autoconf >= 2.52
+BuildRequires: autoconf >= 2.59
 BuildRequires: automake
-BuildRequires: openssl-devel
 BuildRequires: popt-devel
 BuildRequires: rpmbuild(macros) >= 1.318
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                _duplicate_files_terminate_build        0
 %define                _sysconfdir     /etc/rsyncd
 
 %description
@@ -101,7 +109,7 @@ rsync - це швидша та гнучкіша альтернатива rcp, я
 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
@@ -129,7 +137,7 @@ 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(post,preun):  /sbin/chkconfig
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Provides:      rsyncd
 Obsoletes:     rsyncd
 Obsoletes:     rsyncd-inetd
@@ -152,14 +160,20 @@ komunikacji i transportu plików do systemu zdalnego. Dokumentacja
 techniczna nowego algorytmu została również dołączona do pakietu.
 
 %prep
-%setup -q -n %{name}-%{version}pre9
+%setup -q -b1
 %patch0 -p1
+%{?with_fadvise:%patch1 -p1}
+
+# for compat with previous patched version
+patch -p1 -i patches/acls.diff || exit 1
+patch -p1 -i patches/xattrs.diff || exit 1
 
 %build
 cp -f /usr/share/automake/config.sub .
 %{__autoheader}
 %{__autoconf}
 %configure \
+       LIBS="-lcrypto" \
        %{?with_rsh:--with-rsh=rsh} \
        --enable-ipv6 \
        --enable-acl-support \
@@ -184,7 +198,7 @@ install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{sysconfig/rc-inetd,rc.d/init.d,l
 :> $RPM_BUILD_ROOT%{_sysconfdir}/rsyncd.secrets
 
 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/rsyncd.conf
-log file = /var/log/rsyncd.log
+#log file = /var/log/rsyncd.log
 EOF
 
 cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/CVSIGNORE
@@ -200,10 +214,10 @@ cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/RSYNC_PASSWORD
 #RSYNC_PASSWORD=
 EOF
 
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/rsyncd
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/rsyncd
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/rsyncd
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/rsyncd
+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
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -234,28 +248,31 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc README NEWS OLDNEWS TODO
-%config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/*
-%attr(755,root,root) %{_bindir}/*
-%{_mandir}/man1/*
+%doc README NEWS OLDNEWS TODO support
+%config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/CVSIGNORE
+%config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/RSYNC_PASSWORD
+%config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/RSYNC_PROXY
+%config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/RSYNC_RSH
+%attr(755,root,root) %{_bindir}/rsync
+%{_mandir}/man1/rsync.1*
 
 %files -n rsyncd-inetd
 %defattr(644,root,root,755)
 %dir %{_sysconfdir}
-%attr(640,root,root) %config(noreplace) %{_sysconfdir}/rsyncd.conf
-%attr(640,root,root) %config(noreplace) %{_sysconfdir}/rsyncd.secrets
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rsyncd.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rsyncd.secrets
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/rsyncd
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/rsyncd
 %attr(640,root,root) %ghost /var/log/rsyncd.log
-%{_mandir}/man5/*
+%{_mandir}/man5/rsyncd.conf.5*
 
 %files -n rsyncd-standalone
 %defattr(644,root,root,755)
 %dir %{_sysconfdir}
-%attr(640,root,root) %config(noreplace) %{_sysconfdir}/rsyncd.conf
-%attr(640,root,root) %config(noreplace) %{_sysconfdir}/rsyncd.secrets
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rsyncd.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rsyncd.secrets
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rsyncd
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/rsyncd
 %attr(640,root,root) %ghost /var/log/rsyncd.log
 %attr(754,root,root) /etc/rc.d/init.d/rsyncd
-%{_mandir}/man5/*
+%{_mandir}/man5/rsyncd.conf.5*
This page took 0.08752 seconds and 4 git commands to generate.