]> git.pld-linux.org Git - packages/rsync.git/blobdiff - rsync.spec
- disable tests on alpha (SMB_ACL fail)
[packages/rsync.git] / rsync.spec
index b6ef74718d845a274f682fd377b58ff3a940d664..88a12a2e892e18513d8478a4cc6dec0704430265 100644 (file)
@@ -1,21 +1,40 @@
+#
+# Conditional build:
+%bcond_with    rsh     # set remote shell command to rsh instead of ssh (old behaviour)
+%bcond_without tests   # do not perform "make test"
+#
+%ifarch alpha
+%undefine      with_tests
+%endif
 Summary:       Program for efficient remote updates of files
 Summary(es):   Programa para actualizar archivos remotos de forma eficiente
+Summary(ko):   ³×Æ®¿öÅ©¸¦ ÅëÇÑ ÆÄÀϵ¿±âÈ­¸¦ À§ÇÑ ÇÁ·Î±×·¥
 Summary(pl):   Program do wydajnego zdalnego uaktualniania plików
 Summary(pt_BR):        Programa para atualizar arquivos remotos de forma eficiente
 Summary(ru):   ðÒÏÇÒÁÍÍÁ ÄÌÑ ÜÆÆÅËÔÉ×ÎÏÇÏ ÕÄÁÌÅÎÎÏÇÏ ÏÂÎÏ×ÌÅÎÉÑ ÆÁÊÌÏ×
 Summary(uk):   ðÒÏÇÒÁÍÁ ÄÌÑ ÅÆÅËÔÉ×ÎÏÇϠצÄÄÁÌÅÎÏÇÏ ÏÎÏ×ÌÅÎÎÑ ÆÁÊ̦×
+Summary(zh_CN):        [ͨѶ]´«Ê乤¾ß
+Summary(zh_TW):        [³ñ°Ô]\e$(B6G?i¤õ(c\e(B
 Name:          rsync
-Version:       2.5.4
-Release:       1
+Version:       2.6.8
+Release:       3
 License:       GPL
-Group:         Daemons
+Group:         Networking/Utilities
 Source0:       http://rsync.samba.org/ftp/rsync/%{name}-%{version}.tar.gz
+# Source0-md5: 082a9dba1f741e6591e5cd748a1233de
 Source1:       %{name}.inet
+Source2:       %{name}.init
+Source3:       %{name}.sysconfig
+Source4:       %{name}d.logrotate
 Patch0:                %{name}-config.patch
 Patch1:                %{name}-man.patch
-BuildRequires: autoconf
+URL:           http://rsync.samba.org/
+BuildRequires: acl-devel
+BuildRequires: autoconf >= 2.52
+BuildRequires: automake
+BuildRequires: openssl-devel
 BuildRequires: popt-devel
-URL:           http://samba.anu.edu.au/rsync/
+BuildRequires: rpmbuild(macros) >= 1.318
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _sysconfdir     /etc/rsyncd
@@ -40,12 +59,18 @@ que ninguna de las m
 otra. Está disponible en este paquete, una relación técnica
 describiendo el algoritmo usado por el rsync.
 
+%description -l ko
+Rsync´Â ¿ø°Ý È£½ºÆ® ÆÄÀÏÀ» ¸Å¿ì »¡¸® µ¿±âÈ­Çϴµ¥ ½Å·ÚÇÒ¸¸ÇÑ
+¾Ë°í¸®ÁòÀ» »ç¿ëÇÑ´Ù. Rsync´Â ÆÄÀÏÀÇ Àüü¸¦ º¸³»´Â °Í ´ë½Å¿¡ ³×Æ®¿÷À»
+ÅëÇØ ÆÄÀÏÀÇ ´Ù¸¥ ºÎºÐ¸¸À» Àü¼ÛÇϱ⠶§¹®¿¡ ºü¸£´Ù. Rsync´Â °­·ÂÇÑ ¹Ì·¯
+ÇÁ·Î¼¼½º È¤Àº rcp Ä¿¸àµå¸¦ ÅëÇÑ ´õ ¿ì¼öÇÑ ´ëü¿ëÀ¸·Î½á »ç¿ëµÈ´Ù. rsync
+¾Ë°í¸®ÁòÀ» ¹¦»çÇϴ ±â¼úÀûÀΠ³»¿ëÀº ÀÌ ²Ù·¯¹Ì¿¡ Æ÷ÇԵǾî ÀÖ´Ù.
+
 %description -l pl
-Rsync jest zamiennikiem programu rcp z bardziej rozbudowan±
-sk³adni± poleceñ. Program ten u¿ywa efektywnego algorytmu "rsync" w
-czasie komunikacji i transportu plików do systemu zdalnego.
-Dokumentacja techniczna nowego algorytmu zosta³a równie¿ do³±czona do
-pakietu.
+Rsync jest zamiennikiem programu rcp z bardziej rozbudowan± sk³adni±
+poleceñ. Program ten u¿ywa efektywnego algorytmu "rsync" w czasie
+komunikacji i transportu plików do systemu zdalnego. Dokumentacja
+techniczna nowego algorytmu zosta³a równie¿ do³±czona do pakietu.
 
 %description -l pt_BR
 O rsync é um substituto mais rápido e flexível para o rcp permitindo
@@ -72,14 +97,44 @@ rsync - 
 × ËÏÍÐÒÅÓÏ×ÁÎÏÍÕ ×ÉĦ. ðÒÉ ÃØÏÍÕ ÚÏ×Ӧ͠ÎÅ ÏÂÏ×'ÑÚËÏ×Ï, ÝÏ ÏÄÎÁ
 ÍÁÛÉÎÁ ÍÁÌÁ × ÓÅÂÅ ËÏЦÀ ÔÏÇÏ, ÝÏ ¤ ÎÁ ¦ÎۦʠÍÁÛÉΦ.
 
-%package -n rsyncd
+%package -n rsyncd-inetd
 Summary:       Files necessary to run rsync in daemon mode
 Summary(pl):   Pliki niezbêdne do uruchomienia rsynca w trybie serwera
-Group:         Daemons
-Requires:      %{name}
+Group:         Networking/Daemons
+Requires:      %{name} = %{version}-%{release}
 Requires:      rc-inetd
+Provides:      rsyncd
+Obsoletes:     rsyncd
+Obsoletes:     rsyncd-standalone
+
+%description -n rsyncd-inetd
+rsync is a replacement for rcp that has many more features.
+
+rsync uses the "rsync algorithm" which provides a very fast method for
+bringing remote files into sync. It does this by sending just the
+differences in the files across the link, without requiring that both
+sets of files are present at one of the ends of the link beforehand.
+
+A technical report describing the rsync algorithm is included with
+this package.
+
+%description -n rsyncd-inetd -l pl
+Rsync jest zamiennikiem programu rcp z bardziej rozbudowan± sk³adni±
+poleceñ. Program ten u¿ywa efektywnego algorytmu "rsync" w czasie
+komunikacji i transportu plików do systemu zdalnego. Dokumentacja
+techniczna nowego algorytmu zosta³a równie¿ do³±czona do pakietu.
 
-%description -n rsyncd
+%package -n rsyncd-standalone
+Summary:       Files necessary to run rsync in daemon mode
+Summary(pl):   Pliki niezbêdne do uruchomienia rsynca w trybie serwera
+Group:         Networking/Daemons
+Requires(post,preun):  /sbin/chkconfig
+Requires:      %{name} = %{version}-%{release}
+Provides:      rsyncd
+Obsoletes:     rsyncd
+Obsoletes:     rsyncd-inetd
+
+%description -n rsyncd-standalone
 rsync is a replacement for rcp that has many more features.
 
 rsync uses the "rsync algorithm" which provides a very fast method for
@@ -90,67 +145,120 @@ sets of files are present at one of the ends of the link beforehand.
 A technical report describing the rsync algorithm is included with
 this package.
 
-%description -n rsyncd -l pl
-Rsync jest zamiennikiem programu rcp z bardziej rozbudowan±
-sk³adni± poleceñ. Program ten u¿ywa efektywnego algorytmu "rsync" w
-czasie komunikacji i transportu plików do systemu zdalnego.
-Dokumentacja techniczna nowego algorytmu zosta³a równie¿ do³±czona do
-pakietu.
+%description -n rsyncd-standalone -l pl
+Rsync jest zamiennikiem programu rcp z bardziej rozbudowan± sk³adni±
+poleceñ. Program ten u¿ywa efektywnego algorytmu "rsync" w czasie
+komunikacji i transportu plików do systemu zdalnego. Dokumentacja
+techniczna nowego algorytmu zosta³a równie¿ do³±czona do pakietu.
 
 %prep
-%setup  -q
+%setup -q
+patch -s -p1 < patches/acls.diff || exit 1
+patch -s -p1 < patches/xattrs.diff || exit 1
 %patch0 -p1
 %patch1 -p1
 
 %build
-autoconf
+cp -f /usr/share/automake/config.sub .
+%{__autoheader}
+%{__autoconf}
 %configure \
-       --enable-ipv6
-
+       %{?with_rsh:--with-rsh=rsh} \
+       --enable-ipv6 \
+       --enable-acl-support \
+       --enable-xattr-support \
+       --disable-debug \
+       --with-rsyncd-conf=%{_sysconfdir}/rsyncd.conf
+%{__make} proto
 %{__make}
 
+%{?with_tests:%{__make} test}
+
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{sysconfig/rc-inetd,rc.d/init.d,logrotate.d,env.d},/var/log}
 
 %{__make} install \
        prefix=$RPM_BUILD_ROOT%{_prefix} \
        mandir=$RPM_BUILD_ROOT%{_mandir} \
        bindir=$RPM_BUILD_ROOT%{_bindir}
 
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/sysconfig/rc-inetd}
-
-:> $RPM_BUILD_ROOT%{_sysconfdir}/rsyncd.conf
+:> $RPM_BUILD_ROOT/var/log/rsyncd.log
 :> $RPM_BUILD_ROOT%{_sysconfdir}/rsyncd.secrets
 
+cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/rsyncd.conf
+log file = /var/log/rsyncd.log
+EOF
+
+cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/CVSIGNORE
+#CVSIGNORE=
+EOF
+cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/RSYNC_RSH
+#RSYNC_RSH=
+EOF
+cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/RSYNC_PROXY
+#RSYNC_PROXY=
+EOF
+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
 
-gzip -9nf README
+%clean
+rm -rf $RPM_BUILD_ROOT
 
-%post -n rsyncd
-if [ -f /var/lock/subsys/rc-inetd ]; then
-        /etc/rc.d/init.d/rc-inetd restart 1>&2
-else
-        echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet server" 1>&2
-fi
+%post
+%env_update
 
-%postun -n rsyncd
-if [ "$1" = "0" -a -f /var/lock/subsys/rc-inetd ]; then
-       /etc/rc.d/init.d/rc-inetd reload 1>&2
+%postun
+%env_update
+
+%post -n rsyncd-inetd
+%service -q rc-inetd reload
+
+%postun -n rsyncd-inetd
+if [ "$1" = "0" ]; then
+       %service -q rc-inetd reload
 fi
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+%post -n rsyncd-standalone
+/sbin/chkconfig --add rsyncd
+%service rsyncd restart "rsync server"
+
+%preun -n rsyncd-standalone
+if [ "$1" = "0" ]; then
+       %service rsyncd stop
+       /sbin/chkconfig --del rsyncd
+fi
 
 %files
 %defattr(644,root,root,755)
-%doc README.gz
+%doc README NEWS OLDNEWS TODO
+%config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/*
 %attr(755,root,root) %{_bindir}/*
 %{_mandir}/man1/*
 
-%files -n rsyncd
+%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) /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/*
+
+%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) /etc/sysconfig/rc-inetd/rsyncd
+%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/*
This page took 0.184331 seconds and 4 git commands to generate.