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