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