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