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