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