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