- rel 3; few fixes from upstream git
[packages/rsync.git] / rsync.spec
CommitLineData
9323ad32
JR
1# TODO:
2# 3.1.3 rsyncd segfaults very early in server rsync:// mode (both inetd and standalone)
3# rsync[27223]: segfault at 7468 ip 00007f4281c56e81 sp 00007ffc29186160 error 4 in libc-2.27.so[7f4281bd3000+1b4000]
b555150c 4#
18124c65 5# Conditional build:
6%bcond_with rsh # set remote shell command to rsh instead of ssh (old behaviour)
b913b1dd 7%bcond_without fadvise # apply fadvise patch
83e6a663 8%bcond_with tests # perform "make test"
18124c65 9#
082eeb69
ER
10%ifarch alpha
11%undefine with_tests
12%endif
e1feaa4b 13Summary: Program for efficient remote updates of files
24cc1053
ER
14Summary(es.UTF-8): Programa para actualizar archivos remotos de forma eficiente
15Summary(ko.UTF-8): 네트워크를 통한 파일동기화를 위한 프로그램
16Summary(pl.UTF-8): Program do wydajnego zdalnego uaktualniania plików
17Summary(pt_BR.UTF-8): Programa para atualizar arquivos remotos de forma eficiente
18Summary(ru.UTF-8): Программа для эффективного удаленного обновления файлов
19Summary(uk.UTF-8): Програма для ефективного віддаленого оновлення файлів
20Summary(zh_CN.UTF-8): [通讯]传输工具
21Summary(zh_TW.UTF-8): [喙啪]\e$(B6G?i火(c\e(B
44a71ba1 22Name: rsync
5412de7b 23Version: 3.1.3
ba8c40ae 24Release: 3
615041e0 25Epoch: 1
c9e14be2 26License: GPL v3+
b7135bf0 27Group: Networking/Utilities
5412de7b
ER
28Source0: https://rsync.samba.org/ftp/rsync/%{name}-%{version}.tar.gz
29# Source0-md5: 1581a588fde9d89f6bc6201e8129afaf
9cb7906f 30Source1: https://rsync.samba.org/ftp/rsync/%{name}-patches-%{version}.tar.gz
5412de7b 31# Source1-md5: 753fc37ffc277571c69135e8bc5fae9d
61a6555f
AM
32Source2: %{name}.inet
33Source3: %{name}.init
34Source4: %{name}.sysconfig
35Source5: %{name}d.logrotate
ba8c40ae 36Patch100: %{name}-fixes.patch
d32c1932 37Patch0: %{name}-config.patch
9cb7906f
ER
38Patch1: %{name}-fadvise.patch
39Patch2: %{name}-noatime.patch
5412de7b 40URL: https://rsync.samba.org/
148780a3 41BuildRequires: acl-devel
ee3bf881 42BuildRequires: autoconf >= 2.59
fd592fcf 43BuildRequires: automake
bbd47287 44BuildRequires: popt-devel
36bd60dd 45BuildRequires: rpmbuild(macros) >= 1.318
9e694c62 46BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
f6135b0e 47
94b2676a 48%define _duplicate_files_terminate_build 0
b555150c
JB
49%define _sysconfdir /etc/rsyncd
50
f6135b0e 51%description
52rsync is a replacement for rcp that has many more features.
53
54rsync uses the "rsync algorithm" which provides a very fast method for
55bringing remote files into sync. It does this by sending just the
56differences in the files across the link, without requiring that both
57sets of files are present at one of the ends of the link beforehand.
58
59A technical report describing the rsync algorithm is included with
854040a4 60this package.
f6135b0e 61
829ded76
JR
62%description -l es.UTF-8
63rsync es un substituto más rápido y flexible para rcp que permite la
64sincronización de archivos o directorios, vía red, de forma rápida y
65eficiente, entre diferentes máquinas transfiriendo solamente las
1d21ccde 66diferencias entre estos directorios de forma compactada. No necesita
829ded76
JR
67que ninguna de las máquinas tengan una copia de lo que está en la
68otra. Está disponible en este paquete, una relación técnica
1d21ccde 69describiendo el algoritmo usado por el rsync.
70
829ded76
JR
71%description -l ko.UTF-8
72Rsync는 원격 호스트 파일을 매우 빨리 동기화하는데 신뢰할만한
73알고리즘을 사용한다. Rsync는 파일의 전체를 보내는 것 대신에 네트웍을
74통해 파일의 다른 부분만을 전송하기 때문에 빠르다. Rsync는 강력한 미러
75프로세스 혹은 rcp 커멘드를 통한 더 우수한 대체용으로써 사용된다. rsync
76알고리즘을 묘사하는 기술적인 내용은 이 꾸러미에 포함되어 있다.
77
78%description -l pl.UTF-8
79Rsync jest zamiennikiem programu rcp z bardziej rozbudowaną składnią
80poleceń. Program ten używa efektywnego algorytmu "rsync" w czasie
81komunikacji i transportu plików do systemu zdalnego. Dokumentacja
82techniczna nowego algorytmu została również dołączona do pakietu.
83
84%description -l pt_BR.UTF-8
85O rsync é um substituto mais rápido e flexível para o rcp permitindo
86sincronização de arquivos ou diretórios via rede de forma rápida e
87eficiente entre diferentes máquinas transferindo somente as diferenças
88entre estes diretórios de forma compactada. Ele não precisa que
89nenhuma das máquinas tenha uma cópia do que está na outra.
90
91Um relatório técnico descrevendo o algoritmo usado pelo rsync está
92disponível neste pacote.
93
94%description -l ru.UTF-8
95rsync - это более быстрая и гибкая альтернатива rcp, позволяющая
96быструю и эффективную по отношению к ресурсам сети синхронизацию
97файлов или каталогов на различных машинах путем передачи только
98различий между ними в компрессированном виде. При этом совершенно не
99обязательно, чтобы одна машина имела у себя копию того, что есть на
100другой машине.
101
102%description -l uk.UTF-8
103rsync - це швидша та гнучкіша альтернатива rcp, яка забезпечує швидку
104та ефективну по відношенню до ресурсів мережі синхронізацію файлів чи
105каталогів на різних машинах шляхом передачі лише відмінностей між ними
106в компресованому виді. При цьому зовсім не обов'язково, щоб одна
107машина мала в себе копію того, що є на іншій машині.
1d21ccde 108
c0ab8b55 109%package -n rsyncd-inetd
be076d3d 110Summary: Files necessary to run rsync in daemon mode
24cc1053 111Summary(pl.UTF-8): Pliki niezbędne do uruchomienia rsynca w trybie serwera
b7135bf0 112Group: Networking/Daemons
f2db5eb2 113Requires: %{name} = %{epoch}:%{version}-%{release}
148780a3 114Requires: rc-inetd
c0ab8b55
PG
115Provides: rsyncd
116Obsoletes: rsyncd
117Obsoletes: rsyncd-standalone
be076d3d 118
c0ab8b55 119%description -n rsyncd-inetd
be076d3d
SZ
120rsync is a replacement for rcp that has many more features.
121
122rsync uses the "rsync algorithm" which provides a very fast method for
123bringing remote files into sync. It does this by sending just the
124differences in the files across the link, without requiring that both
125sets of files are present at one of the ends of the link beforehand.
126
127A technical report describing the rsync algorithm is included with
128this package.
129
829ded76
JR
130%description -n rsyncd-inetd -l pl.UTF-8
131Rsync jest zamiennikiem programu rcp z bardziej rozbudowaną składnią
132poleceń. Program ten używa efektywnego algorytmu "rsync" w czasie
133komunikacji i transportu plików do systemu zdalnego. Dokumentacja
134techniczna nowego algorytmu została również dołączona do pakietu.
c0ab8b55
PG
135
136%package -n rsyncd-standalone
137Summary: Files necessary to run rsync in daemon mode
24cc1053 138Summary(pl.UTF-8): Pliki niezbędne do uruchomienia rsynca w trybie serwera
b7135bf0 139Group: Networking/Daemons
94148ea8 140Requires(post,preun): /sbin/chkconfig
f2db5eb2 141Requires: %{name} = %{epoch}:%{version}-%{release}
c0ab8b55 142Provides: rsyncd
b51fca32 143Obsoletes: rsyncd
c0ab8b55
PG
144Obsoletes: rsyncd-inetd
145
146%description -n rsyncd-standalone
147rsync is a replacement for rcp that has many more features.
148
149rsync uses the "rsync algorithm" which provides a very fast method for
150bringing remote files into sync. It does this by sending just the
151differences in the files across the link, without requiring that both
152sets of files are present at one of the ends of the link beforehand.
153
154A technical report describing the rsync algorithm is included with
155this package.
156
829ded76
JR
157%description -n rsyncd-standalone -l pl.UTF-8
158Rsync jest zamiennikiem programu rcp z bardziej rozbudowaną składnią
159poleceń. Program ten używa efektywnego algorytmu "rsync" w czasie
160komunikacji i transportu plików do systemu zdalnego. Dokumentacja
161techniczna nowego algorytmu została również dołączona do pakietu.
be076d3d 162
f6135b0e 163%prep
61a6555f 164%setup -q -b1
ba8c40ae 165%patch100 -p1
d7ff894b 166%patch0 -p1
5412de7b 167%{?with_fadvise:%patch1 -p1}
c852e141 168%patch2 -p1
b73c62ab 169
61a6555f
AM
170# for compat with previous patched version
171patch -p1 -i patches/acls.diff || exit 1
172patch -p1 -i patches/xattrs.diff || exit 1
81cacf5d 173
f6135b0e 174%build
7846f798 175cp -f /usr/share/automake/config.sub .
48d3c2cd 176%{__autoheader}
4490f3a0 177%{__autoconf}
bbd47287 178%configure \
78dff7ac 179 LIBS="-lcrypto" \
18124c65 180 %{?with_rsh:--with-rsh=rsh} \
fbf643ad 181 --enable-ipv6 \
8ecc7ace
AM
182 --enable-acl-support \
183 --enable-xattr-support \
d46e8c94 184 --disable-debug \
fbc75855 185 --with-rsyncd-conf=%{_sysconfdir}/rsyncd.conf
233a0aea 186%{__make} proto
0fef7fa8 187%{__make}
f6135b0e 188
8ecc7ace
AM
189%{?with_tests:%{__make} test}
190
f6135b0e 191%install
192rm -rf $RPM_BUILD_ROOT
464464f2 193install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{sysconfig/rc-inetd,rc.d/init.d,logrotate.d,env.d},/var/log}
44a71ba1 194
95bf7754 195%{__make} install \
a3e2831a 196 prefix=$RPM_BUILD_ROOT%{_prefix} \
197 mandir=$RPM_BUILD_ROOT%{_mandir} \
51d15609 198 bindir=$RPM_BUILD_ROOT%{_bindir}
d7ff894b 199
3972ad9b 200:> $RPM_BUILD_ROOT/var/log/rsyncd.log
854040a4 201:> $RPM_BUILD_ROOT%{_sysconfdir}/rsyncd.secrets
44a71ba1 202
3972ad9b 203cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/rsyncd.conf
a6f19059 204#log file = /var/log/rsyncd.log
3972ad9b
PG
205EOF
206
7495c7e7 207cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/CVSIGNORE
8d6034a2
PG
208#CVSIGNORE=
209EOF
7495c7e7 210cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/RSYNC_RSH
8d6034a2
PG
211#RSYNC_RSH=
212EOF
7495c7e7 213cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/RSYNC_PROXY
8d6034a2
PG
214#RSYNC_PROXY=
215EOF
7495c7e7 216cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/RSYNC_PASSWORD
8d6034a2
PG
217#RSYNC_PASSWORD=
218EOF
219
9cb7906f
ER
220install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/rsyncd
221cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/rsyncd
222cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rsyncd
223cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/rsyncd
be076d3d 224
5e338362
JB
225%clean
226rm -rf $RPM_BUILD_ROOT
227
7495c7e7
ER
228%post
229%env_update
230
231%postun
232%env_update
233
c0ab8b55 234%post -n rsyncd-inetd
148780a3 235%service -q rc-inetd reload
be076d3d 236
c0ab8b55 237%postun -n rsyncd-inetd
148780a3
ER
238if [ "$1" = "0" ]; then
239 %service -q rc-inetd reload
46fe218b 240fi
be076d3d 241
c0ab8b55
PG
242%post -n rsyncd-standalone
243/sbin/chkconfig --add rsyncd
148780a3 244%service rsyncd restart "rsync server"
c0ab8b55 245
5e338362 246%preun -n rsyncd-standalone
c0ab8b55 247if [ "$1" = "0" ]; then
148780a3 248 %service rsyncd stop
c0ab8b55
PG
249 /sbin/chkconfig --del rsyncd
250fi
251
f6135b0e 252%files
44a71ba1 253%defattr(644,root,root,755)
ccf03c22 254%doc README NEWS OLDNEWS TODO support
ee3bf881
JB
255%config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/CVSIGNORE
256%config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/RSYNC_PASSWORD
257%config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/RSYNC_PROXY
258%config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/RSYNC_RSH
259%attr(755,root,root) %{_bindir}/rsync
260%{_mandir}/man1/rsync.1*
be076d3d 261
c0ab8b55 262%files -n rsyncd-inetd
be076d3d
SZ
263%defattr(644,root,root,755)
264%dir %{_sysconfdir}
652c814a
KK
265%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rsyncd.conf
266%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rsyncd.secrets
94148ea8 267%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/rsyncd
268%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/rsyncd
3972ad9b 269%attr(640,root,root) %ghost /var/log/rsyncd.log
ee3bf881 270%{_mandir}/man5/rsyncd.conf.5*
c0ab8b55
PG
271
272%files -n rsyncd-standalone
273%defattr(644,root,root,755)
274%dir %{_sysconfdir}
652c814a
KK
275%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rsyncd.conf
276%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rsyncd.secrets
94148ea8 277%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rsyncd
278%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/rsyncd
3972ad9b 279%attr(640,root,root) %ghost /var/log/rsyncd.log
86951d3a 280%attr(754,root,root) /etc/rc.d/init.d/rsyncd
ee3bf881 281%{_mandir}/man5/rsyncd.conf.5*
This page took 0.426803 seconds and 4 git commands to generate.