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