X-Git-Url: http://git.pld-linux.org/?p=packages%2Frsync.git;a=blobdiff_plain;f=rsync.spec;h=72a0e813a0e8f7bde7eac68ec8408fcbdb055fd1;hp=26de5607aacd3d90b9b60ed473f2b4c7efca8c18;hb=5412de7;hpb=602c20e007c0c4297e1434110de090331ee10a3b diff --git a/rsync.spec b/rsync.spec index 26de560..72a0e81 100644 --- a/rsync.spec +++ b/rsync.spec @@ -1,35 +1,50 @@ +# 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 +%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): [³ñ°Ô]$(B6G?i¤õ(c(B +Summary(es.UTF-8): Programa para actualizar archivos remotos de forma eficiente +Summary(ko.UTF-8): 네트워크를 통한 파일동기화를 위한 프로그램 +Summary(pl.UTF-8): Program do wydajnego zdalnego uaktualniania plików +Summary(pt_BR.UTF-8): Programa para atualizar arquivos remotos de forma eficiente +Summary(ru.UTF-8): Программа для эффективного удаленного обновления файлов +Summary(uk.UTF-8): Програма для ефективного віддаленого оновлення файлів +Summary(zh_CN.UTF-8): [通讯]传输工具 +Summary(zh_TW.UTF-8): [喙啪]$(B6G?i火(c(B Name: rsync -Version: 2.6.5 -Release: 0.1 -License: GPL -Group: Daemons -Source0: http://rsync.samba.org/ftp/rsync/%{name}-%{version}.tar.gz -# Source0-md5: 3691cdf1540d0649ba679edce6bae8fc -Source1: %{name}.inet -Source2: %{name}.init -Source3: %{name}.sysconfig -Source4: %{name}d.logrotate +Version: 3.1.3 +Release: 1 +Epoch: 1 +License: GPL v3+ +Group: Networking/Utilities +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 -Patch1: %{name}-man.patch -BuildRequires: autoconf >= 2.52 +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.59 BuildRequires: automake BuildRequires: popt-devel -URL: http://rsync.samba.org/ +BuildRequires: rpmbuild(macros) >= 1.318 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define _duplicate_files_terminate_build 0 %define _sysconfdir /etc/rsyncd %description @@ -43,59 +58,59 @@ 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 -l es -rsync es un substituto más rápido y flexible para rcp que permite la -sincronización de archivos o directorios, vía red, de forma rápida y -eficiente, entre diferentes máquinas transfiriendo solamente las +%description -l es.UTF-8 +rsync es un substituto más rápido y flexible para rcp que permite la +sincronización de archivos o directorios, vía red, de forma rápida y +eficiente, entre diferentes máquinas transfiriendo solamente las diferencias entre estos directorios de forma compactada. No necesita -que ninguna de las máquinas tengan una copia de lo que está en la -otra. Está disponible en este paquete, una relación técnica +que ninguna de las máquinas tengan una copia de lo que está en la +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. - -%description -l pt_BR -O rsync é um substituto mais rápido e flexível para o rcp permitindo -sincronização de arquivos ou diretórios via rede de forma rápida e -eficiente entre diferentes máquinas transferindo somente as diferenças -entre estes diretórios de forma compactada. Ele não precisa que -nenhuma das máquinas tenha uma cópia do que está na outra. - -Um relatório técnico descrevendo o algoritmo usado pelo rsync está -disponível neste pacote. - -%description -l ru -rsync - ÜÔÏ ÂÏÌÅÅ ÂÙÓÔÒÁÑ É ÇÉÂËÁÑ ÁÌØÔÅÒÎÁÔÉ×Á rcp, ÐÏÚ×ÏÌÑÀÝÁÑ -ÂÙÓÔÒÕÀ É ÜÆÆÅËÔÉ×ÎÕÀ ÐÏ ÏÔÎÏÛÅÎÉÀ Ë ÒÅÓÕÒÓÁÍ ÓÅÔÉ ÓÉÎÈÒÏÎÉÚÁÃÉÀ -ÆÁÊÌÏ× ÉÌÉ ËÁÔÁÌÏÇÏ× ÎÁ ÒÁÚÌÉÞÎÙÈ ÍÁÛÉÎÁÈ ÐÕÔÅÍ ÐÅÒÅÄÁÞÉ ÔÏÌØËÏ -ÒÁÚÌÉÞÉÊ ÍÅÖÄÕ ÎÉÍÉ × ËÏÍÐÒÅÓÓÉÒÏ×ÁÎÎÏÍ ×ÉÄÅ. ðÒÉ ÜÔÏÍ ÓÏ×ÅÒÛÅÎÎÏ ÎÅ -ÏÂÑÚÁÔÅÌØÎÏ, ÞÔÏÂÙ ÏÄÎÁ ÍÁÛÉÎÁ ÉÍÅÌÁ Õ ÓÅÂÑ ËÏÐÉÀ ÔÏÇÏ, ÞÔÏ ÅÓÔØ ÎÁ -ÄÒÕÇÏÊ ÍÁÛÉÎÅ. - -%description -l uk -rsync - ÃÅ Û×ÉÄÛÁ ÔÁ ÇÎÕÞ˦ÛÁ ÁÌØÔÅÒÎÁÔÉ×Á rcp, ÑËÁ ÚÁÂÅÚÐÅÞÕ¤ Û×ÉÄËÕ -ÔÁ ÅÆÅËÔÉ×ÎÕ ÐÏ ×¦ÄÎÏÛÅÎÎÀ ÄÏ ÒÅÓÕÒÓ¦× ÍÅÒÅÖ¦ ÓÉÎÈÒÏΦÚÁæÀ ÆÁÊÌ¦× ÞÉ -ËÁÔÁÌÏÇ¦× ÎÁ Ò¦ÚÎÉÈ ÍÁÛÉÎÁÈ ÛÌÑÈÏÍ ÐÅÒÅÄÁÞ¦ ÌÉÛŠצÄͦÎÎÏÓÔÅÊ Í¦Ö ÎÉÍÉ -× ËÏÍÐÒÅÓÏ×ÁÎÏÍÕ ×ÉĦ. ðÒÉ ÃØÏÍÕ ÚÏ×Ó¦Í ÎÅ ÏÂÏ×'ÑÚËÏ×Ï, ÝÏ ÏÄÎÁ -ÍÁÛÉÎÁ ÍÁÌÁ × ÓÅÂÅ ËÏЦÀ ÔÏÇÏ, ÝÏ ¤ ÎÁ ¦ÎÛ¦Ê ÍÁÛÉΦ. +%description -l ko.UTF-8 +Rsync는 원격 호스트 파일을 매우 빨리 동기화하는데 신뢰할만한 +알고리즘을 사용한다. Rsync는 파일의 전체를 보내는 것 대신에 네트웍을 +통해 파일의 다른 부분만을 전송하기 때문에 빠르다. Rsync는 강력한 미러 +프로세스 혹은 rcp 커멘드를 통한 더 우수한 대체용으로써 사용된다. rsync +알고리즘을 묘사하는 기술적인 내용은 이 꾸러미에 포함되어 있다. + +%description -l pl.UTF-8 +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.UTF-8 +O rsync é um substituto mais rápido e flexível para o rcp permitindo +sincronização de arquivos ou diretórios via rede de forma rápida e +eficiente entre diferentes máquinas transferindo somente as diferenças +entre estes diretórios de forma compactada. Ele não precisa que +nenhuma das máquinas tenha uma cópia do que está na outra. + +Um relatório técnico descrevendo o algoritmo usado pelo rsync está +disponível neste pacote. + +%description -l ru.UTF-8 +rsync - это более быстрая и гибкая альтернатива rcp, позволяющая +быструю и эффективную по отношению к ресурсам сети синхронизацию +файлов или каталогов на различных машинах путем передачи только +различий между ними в компрессированном виде. При этом совершенно не +обязательно, чтобы одна машина имела у себя копию того, что есть на +другой машине. + +%description -l uk.UTF-8 +rsync - це швидша та гнучкіша альтернатива rcp, яка забезпечує швидку +та ефективну по відношенню до ресурсів мережі синхронізацію файлів чи +каталогів на різних машинах шляхом передачі лише відмінностей між ними +в компресованому виді. При цьому зовсім не обов'язково, щоб одна +машина мала в себе копію того, що є на іншій машині. %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 -PreReq: rc-inetd -Requires: %{name} +Summary(pl.UTF-8): Pliki niezbędne do uruchomienia rsynca w trybie serwera +Group: Networking/Daemons +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: rc-inetd Provides: rsyncd Obsoletes: rsyncd Obsoletes: rsyncd-standalone @@ -111,18 +126,18 @@ 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-inetd -l pl.UTF-8 +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. %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: Daemons +Summary(pl.UTF-8): Pliki niezbędne do uruchomienia rsynca w trybie serwera +Group: Networking/Daemons Requires(post,preun): /sbin/chkconfig -Requires: %{name} +Requires: %{name} = %{epoch}:%{version}-%{release} Provides: rsyncd Obsoletes: rsyncd Obsoletes: rsyncd-inetd @@ -138,119 +153,126 @@ 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-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. +%description -n rsyncd-standalone -l pl.UTF-8 +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 -b1 %patch0 -p1 -%patch1 -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 %{_datadir}/automake/config.sub . +cp -f /usr/share/automake/config.sub . +%{__autoheader} %{__autoconf} %configure \ + LIBS="-lcrypto" \ %{?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/etc/env.d +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,rc.d/init.d,logrotate.d},/var/log} - :> $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 +#log file = /var/log/rsyncd.log EOF -cat << EOF > $RPM_BUILD_ROOT/etc/env.d/CVSIGNORE +cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/CVSIGNORE #CVSIGNORE= EOF -cat << EOF > $RPM_BUILD_ROOT/etc/env.d/RSYNC_RSH +cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/RSYNC_RSH #RSYNC_RSH= EOF -cat << EOF > $RPM_BUILD_ROOT/etc/env.d/RSYNC_PROXY +cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/RSYNC_PROXY #RSYNC_PROXY= EOF -cat << EOF > $RPM_BUILD_ROOT/etc/env.d/RSYNC_PASSWORD +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 +%post +%env_update + +%postun +%env_update + %post -n rsyncd-inetd -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 +%service -q rc-inetd reload %postun -n rsyncd-inetd -if [ "$1" = "0" -a -f /var/lock/subsys/rc-inetd ]; then - /etc/rc.d/init.d/rc-inetd reload 1>&2 +if [ "$1" = "0" ]; then + %service -q rc-inetd reload fi %post -n rsyncd-standalone /sbin/chkconfig --add rsyncd -if [ -f /var/lock/subsys/rsyncd ]; then - /etc/rc.d/init.d/rsyncd restart 1>&2 -else - echo "Type \"/etc/rc.d/init.d/rsyncd start\" to start rsync server" 1>&2 -fi +%service rsyncd restart "rsync server" %preun -n rsyncd-standalone if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/rsyncd ]; then - /etc/rc.d/init.d/rsyncd stop 1>&2 - fi + %service rsyncd stop /sbin/chkconfig --del rsyncd fi %files %defattr(644,root,root,755) -%doc README -%attr(644,root,root) %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*