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