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