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