]>
Commit | Line | Data |
---|---|---|
1 | ||
2 | # Conditional build: | |
3 | %bcond_without tests | |
4 | %bcond_with purify # Compile openssl with \-DPURIFY, useful when one wants to | |
5 | # use valgrind debugger against openssl-linked programs | |
6 | # | |
7 | %include /usr/lib/rpm/macros.perl | |
8 | Summary: OpenSSL Toolkit libraries for the "Secure Sockets Layer" (SSL v2/v3) | |
9 | Summary(de.UTF-8): Secure Sockets Layer (SSL)-Kommunikationslibrary | |
10 | Summary(es.UTF-8): Biblioteca C que suministra algoritmos y protocolos criptográficos | |
11 | Summary(fr.UTF-8): Utilitaires de communication SSL (Secure Sockets Layer) | |
12 | Summary(pl.UTF-8): Biblioteki OpenSSL (SSL v2/v3) | |
13 | Summary(pt_BR.UTF-8): Uma biblioteca C que fornece vários algoritmos e protocolos criptográficos | |
14 | Summary(ru.UTF-8): Библиотеки и утилиты для соединений через Secure Sockets Layer | |
15 | Summary(uk.UTF-8): Бібліотеки та утиліти для з'єднань через Secure Sockets Layer | |
16 | Name: openssl | |
17 | Version: 0.9.8f | |
18 | Release: 4 | |
19 | License: Apache-style License | |
20 | Group: Libraries | |
21 | Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz | |
22 | # Source0-md5: 114bf908eb1b293d11d3e6b18a09269f | |
23 | Source1: %{name}-ca-bundle.crt | |
24 | Source2: %{name}.1.pl | |
25 | Source3: %{name}-ssl-certificate.sh | |
26 | Patch0: %{name}-alpha-ccc.patch | |
27 | Patch1: %{name}-optflags.patch | |
28 | Patch2: %{name}-globalCA.diff | |
29 | Patch3: %{name}-include.patch | |
30 | Patch4: %{name}-md5-sparcv9.patch | |
31 | Patch5: %{name}-libvar.patch | |
32 | Patch6: %{name}-fix-version.patch | |
33 | URL: http://www.openssl.org/ | |
34 | BuildRequires: bc | |
35 | BuildRequires: perl-devel >= 1:5.6.1 | |
36 | BuildRequires: rpm-perlprov >= 4.1-13 | |
37 | BuildRequires: rpmbuild(macros) >= 1.213 | |
38 | BuildRequires: sed >= 4.0 | |
39 | Obsoletes: SSLeay | |
40 | Obsoletes: SSLeay-devel | |
41 | Obsoletes: SSLeay-perl | |
42 | Obsoletes: libopenssl0 | |
43 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
44 | ||
45 | %description | |
46 | The OpenSSL Project is a collaborative effort to develop a robust, | |
47 | commercial-grade, full-featured, and Open Source toolkit implementing | |
48 | the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS | |
49 | v1) protocols with full-strength cryptography world-wide. The project | |
50 | is managed by a worldwide community of volunteers that use the | |
51 | Internet to communicate, plan, and develop the OpenSSL tookit and its | |
52 | related documentation. | |
53 | ||
54 | OpenSSL is based on the excellent SSLeay library developed by Eric A. | |
55 | Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an | |
56 | Apache-style licence, which basically means that you are free to get | |
57 | and use it for commercial and non-commercial purposes subject to some | |
58 | simple license conditions. | |
59 | ||
60 | This package contains shared libraries only, install openssl-tools if | |
61 | you want to use openssl cmdline tool. | |
62 | ||
63 | %description -l de.UTF-8 | |
64 | Openssl enthält das OpenSSL Zertifikatsmanagementtool und shared | |
65 | libraries, die verschiedene Verschlüsselungs- und | |
66 | Entschlüsselungsalgorithmen und -protokolle, wie DES, RC4, RSA und SSL | |
67 | zur Verfügung stellen. | |
68 | ||
69 | %description -l es.UTF-8 | |
70 | Biblioteca C que suministra algoritmos y protocolos criptográficos. | |
71 | ||
72 | %description -l fr.UTF-8 | |
73 | OpenSSL est un outiil de gestion des certificats et les librairies | |
74 | partagees qui fournit plusieurs protocoles et algorithmes de | |
75 | codage/decodage, incluant DES, RC4, RSA et SSL. | |
76 | ||
77 | %description -l pl.UTF-8 | |
78 | Implementacja protokołów kryptograficznych Secure Socket Layer (SSL) | |
79 | v2/v3 oraz Transport Layer Security (TLS v1). | |
80 | ||
81 | %description -l pt_BR.UTF-8 | |
82 | Uma biblioteca C que fornece vários algoritmos e protocolos | |
83 | criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas | |
84 | compartilhadas e utilitários. | |
85 | ||
86 | %description -l ru.UTF-8 | |
87 | Программа openssl для работы с сертификатами и разделяемые библиотеки, | |
88 | которые реализуют множетсво криптографических алгоритмов, включая DES, | |
89 | RC4, RSA и SSL. | |
90 | ||
91 | %description -l uk.UTF-8 | |
92 | Програма openssl для роботи з сертифікатами та бібліотеки спільного | |
93 | користування, що реалізують велику кількість криптографічних | |
94 | алгоритмів, включаючи DES, RC4, RSA та SSL. | |
95 | ||
96 | %package tools | |
97 | Summary: OpenSSL command line tool and utilities | |
98 | Summary(pl.UTF-8): Zestaw narzędzi i skryptów | |
99 | Group: Applications/Communications | |
100 | Requires: %{name} = %{version}-%{release} | |
101 | ||
102 | %description tools | |
103 | The OpenSSL Toolkit cmdline tool openssl and utility scripts. | |
104 | ||
105 | %description tools -l pl.UTF-8 | |
106 | Zestaw narzędzi i skryptów wywoływanych z linii poleceń. | |
107 | ||
108 | %package tools-perl | |
109 | Summary: OpenSSL utilities written in Perl | |
110 | Summary(pl.UTF-8): Narzędzia OpenSSL napisane w perlu | |
111 | Group: Applications/Communications | |
112 | Requires: %{name} = %{version}-%{release} | |
113 | ||
114 | %description tools-perl | |
115 | OpenSSL Toolkit tools written in Perl. | |
116 | ||
117 | %description tools-perl -l pl.UTF-8 | |
118 | Narzędzia OpenSSL napisane w perlu. | |
119 | ||
120 | %package devel | |
121 | Summary: Development part of OpenSSL Toolkit libraries | |
122 | Summary(de.UTF-8): Secure Sockets Layer Kommunikationslibrary: statische libraries+header | |
123 | Summary(es.UTF-8): Bibliotecas y archivos de inclusión para desarrollo OpenSSL | |
124 | Summary(fr.UTF-8): Librairies statiques, headers et utilitaires pour communication SSL | |
125 | Summary(pl.UTF-8): Część bibiloteki OpenSSL przeznaczona dla programistów | |
126 | Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento OpenSSL | |
127 | Summary(ru.UTF-8): Библиотеки, хедеры и утилиты для Secure Sockets Layer | |
128 | Summary(uk.UTF-8): Бібліотеки, хедери та утиліти для Secure Sockets Layer | |
129 | Group: Development/Libraries | |
130 | Requires: %{name} = %{version}-%{release} | |
131 | Obsoletes: libopenssl0-devel | |
132 | ||
133 | %description devel | |
134 | Development part of OpenSSL library. | |
135 | ||
136 | %description devel -l es.UTF-8 | |
137 | Bibliotecas y archivos de inclusión para desarrollo OpenSSL | |
138 | ||
139 | %description devel -l pl.UTF-8 | |
140 | Część biblioteki OpenSSL przeznaczona dla programistów. | |
141 | ||
142 | %description devel -l pt_BR.UTF-8 | |
143 | Uma biblioteca C que fornece vários algoritmos e protocolos | |
144 | criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas e | |
145 | arquivos de inclusão para desenvolvimento. | |
146 | ||
147 | %description devel -l ru.UTF-8 | |
148 | Программа openssl для работы с сертификатами и разделяемые библиотеки, | |
149 | которые реализуют множетсво криптографических алгоритмов, включая DES, | |
150 | RC4, RSA и SSL. Включает библиотеки и хедеры для разработки приложений | |
151 | с использованием SSL. | |
152 | ||
153 | %description devel -l uk.UTF-8 | |
154 | Програма openssl для роботи з сертифікатами та бібліотеки спільного | |
155 | користування, що реалізують велику кількість криптографічних | |
156 | алгоритмів, включаючи DES, RC4, RSA та SSL. Містить бібліотеки та | |
157 | хедери для розробки програм з використанням SSL. | |
158 | ||
159 | %package static | |
160 | Summary: Static OpenSSL libraries | |
161 | Summary(pl.UTF-8): Statyczne wersje bibliotek z OpenSSL | |
162 | Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com openssl | |
163 | Summary(ru.UTF-8): Статические библиотеки разработчика для OpenSSL | |
164 | Summary(uk.UTF-8): Статичні бібліотеки програміста для OpenSSL | |
165 | Group: Development/Libraries | |
166 | Requires: %{name}-devel = %{version}-%{release} | |
167 | ||
168 | %description static | |
169 | Static OpenSSL Toolkit libraries. | |
170 | ||
171 | %description static -l pl.UTF-8 | |
172 | Statyczne wersje bibliotek z OpenSSL. | |
173 | ||
174 | %description static -l pt_BR.UTF-8 | |
175 | Bibliotecas estáticas para desenvolvimento com openssl. | |
176 | ||
177 | %description static -l ru.UTF-8 | |
178 | Программа openssl для работы с сертификатами и разделяемые библиотеки, | |
179 | которые реализуют множетсво криптографических алгоритмов, включая DES, | |
180 | RC4, RSA и SSL. Включает статические библиотеки для разработки | |
181 | приложений с использованием OpenSSL. | |
182 | ||
183 | %description static -l uk.UTF-8 | |
184 | Програма openssl для роботи з сертифікатами та бібліотеки спільного | |
185 | користування, що реалізують велику кількість криптографічних | |
186 | алгоритмів, включаючи DES, RC4, RSA та SSL. Містить статичні | |
187 | бібліотеки для розробки програм з використанням SSL. | |
188 | ||
189 | %prep | |
190 | %setup -q | |
191 | %patch0 -p1 | |
192 | %patch1 -p1 | |
193 | %patch2 -p1 | |
194 | %patch3 -p1 | |
195 | %patch4 -p1 | |
196 | %patch5 -p1 | |
197 | %patch6 -p1 | |
198 | ||
199 | %build | |
200 | %{__perl} -pi -e 's#%{_prefix}/local/bin/perl#%{__perl}#g' \ | |
201 | `grep -l -r "%{_prefix}/local/bin/perl" *` | |
202 | ||
203 | touch Makefile.* | |
204 | ||
205 | %{__perl} util/perlpath.pl %{__perl} | |
206 | ||
207 | OPTFLAGS="%{rpmcflags} %{?with_purify:-DPURIFY}" | |
208 | LDFLAGS="%{rpmldflags}" | |
209 | export OPTFLAGS LDFLAGS | |
210 | ./Configure \ | |
211 | --openssldir=%{_var}/lib/%{name} \ | |
212 | --lib=%{_lib} \ | |
213 | shared threads \ | |
214 | enable-mdc2 enable-rc5 \ | |
215 | %ifarch %{ix86} | |
216 | %ifarch i386 | |
217 | 386 linux-elf | |
218 | # ^- allow running on 80386 (default code uses bswapl available on i486+) | |
219 | %else | |
220 | linux-elf | |
221 | %endif | |
222 | %endif | |
223 | %ifarch alpha | |
224 | linux-alpha+bwx-gcc | |
225 | %endif | |
226 | %ifarch %{x8664} | |
227 | linux-x86_64 | |
228 | %endif | |
229 | %ifarch ia64 | |
230 | linux-ia64 | |
231 | %endif | |
232 | %ifarch ppc | |
233 | linux-ppc | |
234 | %endif | |
235 | %ifarch ppc64 | |
236 | linux-ppc64 | |
237 | %endif | |
238 | %ifarch sparc | |
239 | linux-sparcv8 | |
240 | %endif | |
241 | %ifarch sparcv9 | |
242 | linux-sparcv9 | |
243 | %endif | |
244 | %ifarch sparc64 | |
245 | linux64-sparcv9 | |
246 | %endif | |
247 | ||
248 | %{__make} -j1 all rehash %{?with_tests:tests} \ | |
249 | CC="%{__cc}" \ | |
250 | INSTALLTOP=%{_prefix} | |
251 | ||
252 | # Conv PODs to man pages. "openssl_" prefix is added to each manpage | |
253 | # to avoid potential conflicts with others packages. | |
254 | center="OpenSSL 0.9.7" | |
255 | rel="OpenSSL 0.9.7" | |
256 | ||
257 | cd doc/apps || exit 1 | |
258 | %{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod; | |
259 | ||
260 | for pod in *.pod; do | |
261 | if [ $pod != "openssl.pod" ]; then | |
262 | mv -f $pod openssl_$pod; | |
263 | pod=openssl_$pod; | |
264 | fi | |
265 | ||
266 | sec=1 | |
267 | if [ $pod = "openssl_config.pod" ]; then | |
268 | sec=5 | |
269 | fi | |
270 | ||
271 | manpage=`basename $pod .pod`.$sec; | |
272 | pod2man --section="$sec" --release="$rel" --center="$center" \ | |
273 | $pod > $manpage; | |
274 | echo "$manpage"; | |
275 | done | |
276 | cd .. | |
277 | ||
278 | sec=3 | |
279 | for dir in ssl crypto; do | |
280 | cd $dir || exit 1; | |
281 | if [ $dir = "ssl" ]; then | |
282 | rel="OpenSSL SSL/TLS library" | |
283 | elif [ $dir = "crypto" ]; then | |
284 | rel="OpenSSL cryptographic library" | |
285 | fi | |
286 | ||
287 | %{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod; | |
288 | ||
289 | for pod in *.pod; do | |
290 | sec=`[ "$pod" = "des_modes.pod" ] && echo 7 || echo 3`; | |
291 | mv -f $pod openssl_$pod; | |
292 | pod=openssl_$pod; | |
293 | manpage=`basename $pod .pod`.$sec; | |
294 | pod2man --section="$sec" --release="$rel" --center=" " $pod > $manpage; | |
295 | echo "$manpage"; | |
296 | done | |
297 | cd .. | |
298 | done | |
299 | ||
300 | #cd perl | |
301 | #%%{__perl} Makefile.PL \ | |
302 | # INSTALLDIRS=vendor | |
303 | #%{__make} | |
304 | ||
305 | %install | |
306 | rm -rf $RPM_BUILD_ROOT | |
307 | install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \ | |
308 | $RPM_BUILD_ROOT{%{_mandir}/{pl/man1,man{1,3,5,7}},%{_datadir}/ssl} \ | |
309 | $RPM_BUILD_ROOT%{_pkgconfigdir} | |
310 | ||
311 | %{__make} install \ | |
312 | CC="%{__cc}" \ | |
313 | INSTALLTOP=%{_prefix} \ | |
314 | INSTALL_PREFIX=$RPM_BUILD_ROOT \ | |
315 | MANDIR=%{_mandir} | |
316 | ||
317 | install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/ssl/ca-bundle.crt | |
318 | install libcrypto.a libssl.a $RPM_BUILD_ROOT%{_libdir} | |
319 | install lib*.so.*.* $RPM_BUILD_ROOT%{_libdir} | |
320 | ln -sf libcrypto.so.*.* $RPM_BUILD_ROOT%{_libdir}/libcrypto.so | |
321 | ln -sf libssl.so.*.* $RPM_BUILD_ROOT%{_libdir}/libssl.so | |
322 | ||
323 | mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/openssl.cnf $RPM_BUILD_ROOT%{_sysconfdir}/%{name} | |
324 | ln -s %{_sysconfdir}/%{name}/openssl.cnf \ | |
325 | $RPM_BUILD_ROOT%{_var}/lib/%{name}/%{name}.cnf | |
326 | ||
327 | mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name} | |
328 | rm -rf $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc | |
329 | ||
330 | install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1 | |
331 | install %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/ssl-certificate | |
332 | ||
333 | rm $RPM_BUILD_ROOT%{_mandir}{/man7/des_modes.7,/man5/config.5,/man5/x509v3_config.5} | |
334 | echo ".so openssl_des_modes.7" > $RPM_BUILD_ROOT%{_mandir}/man7/des_modes.7 | |
335 | echo ".so openssl_config.5" > $RPM_BUILD_ROOT%{_mandir}/man5/config.5 | |
336 | echo ".so openssl_x509v3_config.5" > $RPM_BUILD_ROOT%{_mandir}/man5/x509v3_config.5 | |
337 | ||
338 | %clean | |
339 | rm -rf $RPM_BUILD_ROOT | |
340 | ||
341 | %post -p /sbin/ldconfig | |
342 | %postun -p /sbin/ldconfig | |
343 | ||
344 | %files | |
345 | %defattr(644,root,root,755) | |
346 | %doc CHANGES CHANGES.SSLeay LICENSE NEWS README doc/*.txt | |
347 | %doc doc/openssl_button.gif doc/openssl_button.html | |
348 | %attr(755,root,root) %{_libdir}/libcrypto.so.*.*.* | |
349 | %attr(755,root,root) %{_libdir}/libssl.so.*.*.* | |
350 | %dir %{_libdir}/engines | |
351 | %attr(755,root,root) %{_libdir}/engines/*.so | |
352 | %dir %{_var}/lib/%{name} | |
353 | %dir %{_var}/lib/%{name}/certs | |
354 | %dir %{_var}/lib/%{name}/private | |
355 | %dir %{_datadir}/ssl | |
356 | %config(noreplace) %verify(not md5 mtime size) %{_datadir}/ssl/ca-bundle.crt | |
357 | ||
358 | %files tools | |
359 | %defattr(644,root,root,755) | |
360 | %dir %{_sysconfdir}/%{name} | |
361 | ||
362 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/openssl.cnf | |
363 | %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/%{name}/openssl.cnf | |
364 | ||
365 | %attr(755,root,root) %{_bindir}/%{name} | |
366 | %attr(754,root,root) %{_bindir}/ssl-certificate | |
367 | ||
368 | %dir %{_libdir}/%{name} | |
369 | %attr(755,root,root) %{_libdir}/%{name}/CA.sh | |
370 | %attr(755,root,root) %{_libdir}/%{name}/c_hash | |
371 | %attr(755,root,root) %{_libdir}/%{name}/c_info | |
372 | %attr(755,root,root) %{_libdir}/%{name}/c_issuer | |
373 | %attr(755,root,root) %{_libdir}/%{name}/c_name | |
374 | ||
375 | %{_mandir}/man1/openssl.1* | |
376 | %{_mandir}/man1/openssl_asn1parse.1* | |
377 | %{_mandir}/man1/openssl_ca.1* | |
378 | %{_mandir}/man1/openssl_ciphers.1* | |
379 | %{_mandir}/man1/openssl_crl.1* | |
380 | %{_mandir}/man1/openssl_crl2pkcs7.1* | |
381 | %{_mandir}/man1/openssl_dgst.1* | |
382 | %{_mandir}/man1/openssl_dhparam.1* | |
383 | %{_mandir}/man1/openssl_dsa.1* | |
384 | %{_mandir}/man1/openssl_dsaparam.1* | |
385 | %{_mandir}/man1/openssl_ec.1* | |
386 | %{_mandir}/man1/openssl_ecparam.1* | |
387 | %{_mandir}/man1/openssl_enc.1* | |
388 | %{_mandir}/man1/openssl_errstr.1* | |
389 | %{_mandir}/man1/openssl_gendsa.1* | |
390 | %{_mandir}/man1/openssl_genrsa.1* | |
391 | %{_mandir}/man1/openssl_nseq.1* | |
392 | %{_mandir}/man1/openssl_ocsp.1* | |
393 | %{_mandir}/man1/openssl_passwd.1* | |
394 | %{_mandir}/man1/openssl_pkcs12.1* | |
395 | %{_mandir}/man1/openssl_pkcs7.1* | |
396 | %{_mandir}/man1/openssl_pkcs8.1* | |
397 | %{_mandir}/man1/openssl_rand.1* | |
398 | %{_mandir}/man1/openssl_req.1* | |
399 | %{_mandir}/man1/openssl_rsa.1* | |
400 | %{_mandir}/man1/openssl_rsautl.1* | |
401 | %{_mandir}/man1/openssl_s_client.1* | |
402 | %{_mandir}/man1/openssl_s_server.1* | |
403 | %{_mandir}/man1/openssl_s_time.1* | |
404 | %{_mandir}/man1/openssl_sess_id.1* | |
405 | %{_mandir}/man1/openssl_smime.1* | |
406 | %{_mandir}/man1/openssl_speed.1* | |
407 | %{_mandir}/man1/openssl_spkac.1* | |
408 | %{_mandir}/man1/openssl_verify.1* | |
409 | %{_mandir}/man1/openssl_version.1* | |
410 | %{_mandir}/man1/openssl_x509.1* | |
411 | %{_mandir}/man5/*.5* | |
412 | %lang(pl) %{_mandir}/pl/man1/openssl.1* | |
413 | ||
414 | %files tools-perl | |
415 | %defattr(644,root,root,755) | |
416 | %attr(755,root,root) %{_bindir}/c_rehash | |
417 | %attr(755,root,root) %{_libdir}/%{name}/CA.pl | |
418 | %{_mandir}/man1/openssl_CA.pl.1* | |
419 | ||
420 | %files devel | |
421 | %defattr(644,root,root,755) | |
422 | %attr(755,root,root) %{_libdir}/libcrypto.so | |
423 | %attr(755,root,root) %{_libdir}/libssl.so | |
424 | %{_includedir}/%{name} | |
425 | %{_pkgconfigdir}/libcrypto.pc | |
426 | %{_pkgconfigdir}/libssl.pc | |
427 | %{_pkgconfigdir}/openssl.pc | |
428 | %{_mandir}/man3/openssl*.3* | |
429 | %{_mandir}/man7/*.7* | |
430 | ||
431 | %files static | |
432 | %defattr(644,root,root,755) | |
433 | %{_libdir}/lib*.a |