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