2 # - consider dropping last optflags.patch hunk and return to SOMAJOR (.so.1) sonames
4 #%{_mandir}/man1/dss1.1
5 #%{_mandir}/man1/openssl_c_rehash.1*
6 #%{_mandir}/man1/sha224.1
7 #%{_mandir}/man1/sha256.1
8 #%{_mandir}/man1/sha384.1
9 #%{_mandir}/man1/sha512.1
12 %bcond_without tests # don't perform "make tests"
13 %bcond_with purify # Compile openssl with \-DPURIFY, useful when one wants to
14 # use valgrind debugger against openssl-linked programs
16 %include /usr/lib/rpm/macros.perl
17 Summary: OpenSSL Toolkit libraries for the "Secure Sockets Layer" (SSL v2/v3)
18 Summary(de.UTF-8): Secure Sockets Layer (SSL)-Kommunikationslibrary
19 Summary(es.UTF-8): Biblioteca C que suministra algoritmos y protocolos criptográficos
20 Summary(fr.UTF-8): Utilitaires de communication SSL (Secure Sockets Layer)
21 Summary(pl.UTF-8): Biblioteki OpenSSL (SSL v2/v3)
22 Summary(pt_BR.UTF-8): Uma biblioteca C que fornece vários algoritmos e protocolos criptográficos
23 Summary(ru.UTF-8): Библиотеки и утилиты для соединений через Secure Sockets Layer
24 Summary(uk.UTF-8): Бібліотеки та утиліти для з'єднань через Secure Sockets Layer
30 Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
31 # Source0-md5: f7175c9cd3c39bb1907ac8bba9df8ed3
33 Source3: %{name}-ssl-certificate.sh
34 Source4: %{name}-c_rehash.sh
35 Patch0: %{name}-alpha-ccc.patch
36 Patch1: %{name}-optflags.patch
37 Patch2: %{name}-globalCA.diff
38 Patch3: %{name}-include.patch
39 Patch4: %{name}-man-namespace.patch
40 Patch5: %{name}-asflag.patch
41 Patch6: %{name}-ca-certificates.patch
42 Patch7: %{name}-ldflags.patch
43 Patch8: %{name}-find.patch
45 Patch10: default_bits.patch
48 URL: http://www.openssl.org/
50 BuildRequires: perl-devel >= 1:5.6.1
51 BuildRequires: rpm-perlprov >= 4.1-13
52 BuildRequires: rpmbuild(macros) >= 1.213
53 BuildRequires: sed >= 4.0
54 Requires: ca-certificates >= 20080809-4
55 Requires: rpm-whiteout >= 1.7
57 Obsoletes: SSLeay-devel
58 Obsoletes: SSLeay-perl
59 Obsoletes: libopenssl0
60 Conflicts: neon < 0.29.6-8
61 Conflicts: openssh-clients < 2:6.2p2-3
62 Conflicts: openssh-server < 2:6.2p2-3
63 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66 The OpenSSL Project is a collaborative effort to develop a robust,
67 commercial-grade, full-featured, and Open Source toolkit implementing
68 the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
69 v1) protocols with full-strength cryptography world-wide. The project
70 is managed by a worldwide community of volunteers that use the
71 Internet to communicate, plan, and develop the OpenSSL tookit and its
72 related documentation.
74 OpenSSL is based on the excellent SSLeay library developed by Eric A.
75 Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an
76 Apache-style licence, which basically means that you are free to get
77 and use it for commercial and non-commercial purposes subject to some
78 simple license conditions.
80 This package contains shared libraries only, install openssl-tools if
81 you want to use openssl cmdline tool.
83 %description -l de.UTF-8
84 Openssl enthält das OpenSSL Zertifikatsmanagementtool und shared
85 libraries, die verschiedene Verschlüsselungs- und
86 Entschlüsselungsalgorithmen und -protokolle, wie DES, RC4, RSA und SSL
87 zur Verfügung stellen.
89 %description -l es.UTF-8
90 Biblioteca C que suministra algoritmos y protocolos criptográficos.
92 %description -l fr.UTF-8
93 OpenSSL est un outiil de gestion des certificats et les librairies
94 partagees qui fournit plusieurs protocoles et algorithmes de
95 codage/decodage, incluant DES, RC4, RSA et SSL.
97 %description -l pl.UTF-8
98 Implementacja protokołów kryptograficznych Secure Socket Layer (SSL)
99 v2/v3 oraz Transport Layer Security (TLS v1).
101 %description -l pt_BR.UTF-8
102 Uma biblioteca C que fornece vários algoritmos e protocolos
103 criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas
104 compartilhadas e utilitários.
106 %description -l ru.UTF-8
107 Программа openssl для работы с сертификатами и разделяемые библиотеки,
108 которые реализуют множетсво криптографических алгоритмов, включая DES,
111 %description -l uk.UTF-8
112 Програма openssl для роботи з сертифікатами та бібліотеки спільного
113 користування, що реалізують велику кількість криптографічних
114 алгоритмів, включаючи DES, RC4, RSA та SSL.
117 Summary: OpenSSL optional crypto engines
118 Summary(pl.UTF-8): Opcjonalne silniki kryptograficzne dla OpenSSL-a
120 Requires: %{name} = %{version}-%{release}
123 With OpenSSL 0.9.6, a new component was added to support alternative
124 cryptography implementations, most commonly for interfacing with
125 external crypto devices (eg. accelerator cards). This component is
128 There are currently built-in ENGINE implementations for the following
137 In addition, dynamic binding to external ENGINE implementations is now
138 provided by a special ENGINE called "dynamic".
140 %description engines -l pl.UTF-8
141 Począwszy od OpenSSL-a 0.9.6 został dodany nowy komponent, mający
142 wspierać alternatywne implementacje kryptografii, przeważnie
143 współpracujące z zewnętrznymi urządzeniami kryptograficznymi (np.
144 kartami akceleratorów). Komponent ten jest nazywany SILNIKIEM (ang.
147 Obecnie istnieją wbudowane implementacje silników dla następujących
148 urządzeń kryptograficznych:
155 Ponadto zapewnione jest dynamiczne wiązanie dla zewnętrznych
156 implementacji silników poprzez specjalny silnik o nazwie "dynamic".
159 Summary: OpenSSL command line tool and utilities
160 Summary(pl.UTF-8): Zestaw narzędzi i skryptów
161 Group: Applications/Communications
162 Requires: %{name} = %{version}-%{release}
166 The OpenSSL Toolkit cmdline tool openssl and utility scripts.
168 %description tools -l pl.UTF-8
169 Zestaw narzędzi i skryptów wywoływanych z linii poleceń.
172 Summary: OpenSSL utilities written in Perl
173 Summary(pl.UTF-8): Narzędzia OpenSSL napisane w perlu
174 Group: Applications/Communications
175 Requires: %{name} = %{version}-%{release}
177 %description tools-perl
178 OpenSSL Toolkit tools written in Perl.
180 %description tools-perl -l pl.UTF-8
181 Narzędzia OpenSSL napisane w perlu.
184 Summary: Development part of OpenSSL Toolkit libraries
185 Summary(de.UTF-8): Secure Sockets Layer Kommunikationslibrary: statische libraries+header
186 Summary(es.UTF-8): Bibliotecas y archivos de inclusión para desarrollo OpenSSL
187 Summary(fr.UTF-8): Librairies statiques, headers et utilitaires pour communication SSL
188 Summary(pl.UTF-8): Część bibiloteki OpenSSL przeznaczona dla programistów
189 Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento OpenSSL
190 Summary(ru.UTF-8): Библиотеки, хедеры и утилиты для Secure Sockets Layer
191 Summary(uk.UTF-8): Бібліотеки, хедери та утиліти для Secure Sockets Layer
192 Group: Development/Libraries
193 Requires: %{name} = %{version}-%{release}
194 Obsoletes: libopenssl0-devel
197 Development part of OpenSSL library.
199 %description devel -l es.UTF-8
200 Bibliotecas y archivos de inclusión para desarrollo OpenSSL
202 %description devel -l pl.UTF-8
203 Część biblioteki OpenSSL przeznaczona dla programistów.
205 %description devel -l pt_BR.UTF-8
206 Uma biblioteca C que fornece vários algoritmos e protocolos
207 criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas e
208 arquivos de inclusão para desenvolvimento.
210 %description devel -l ru.UTF-8
211 Программа openssl для работы с сертификатами и разделяемые библиотеки,
212 которые реализуют множетсво криптографических алгоритмов, включая DES,
213 RC4, RSA и SSL. Включает библиотеки и хедеры для разработки приложений
214 с использованием SSL.
216 %description devel -l uk.UTF-8
217 Програма openssl для роботи з сертифікатами та бібліотеки спільного
218 користування, що реалізують велику кількість криптографічних
219 алгоритмів, включаючи DES, RC4, RSA та SSL. Містить бібліотеки та
220 хедери для розробки програм з використанням SSL.
223 Summary: Static OpenSSL libraries
224 Summary(pl.UTF-8): Statyczne wersje bibliotek z OpenSSL
225 Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com openssl
226 Summary(ru.UTF-8): Статические библиотеки разработчика для OpenSSL
227 Summary(uk.UTF-8): Статичні бібліотеки програміста для OpenSSL
228 Group: Development/Libraries
229 Requires: %{name}-devel = %{version}-%{release}
232 Static OpenSSL Toolkit libraries.
234 %description static -l pl.UTF-8
235 Statyczne wersje bibliotek z OpenSSL.
237 %description static -l pt_BR.UTF-8
238 Bibliotecas estáticas para desenvolvimento com openssl.
240 %description static -l ru.UTF-8
241 Программа openssl для работы с сертификатами и разделяемые библиотеки,
242 которые реализуют множетсво криптографических алгоритмов, включая DES,
243 RC4, RSA и SSL. Включает статические библиотеки для разработки
244 приложений с использованием OpenSSL.
246 %description static -l uk.UTF-8
247 Програма openssl для роботи з сертифікатами та бібліотеки спільного
248 користування, що реалізують велику кількість криптографічних
249 алгоритмів, включаючи DES, RC4, RSA та SSL. Містить статичні
250 бібліотеки для розробки програм з використанням SSL.
267 sed -i -e 's|\$prefix/\$libdir/engines|/%{_lib}/engines|g' Configure
272 %{__perl} util/perlpath.pl %{__perl}
274 OPTFLAGS="%{rpmcflags} %{rpmcppflags} %{?with_purify:-DPURIFY}" \
276 %{__perl} ./Configure \
277 --openssldir=%{_sysconfdir}/%{name} \
294 # ^- allow running on 80386 (default code uses bswapl available on i486+)
323 %ifarch armv4 armv5 armv5t armv5te armv5tel
327 %{__make} -j1 all rehash %{?with_tests:tests} \
329 ASFLAG='$(CFLAG) -Wa,--noexecstack' \
330 INSTALLTOP=%{_prefix}
332 # Rename POD sources of man pages. "openssl_" prefix is added to each
333 # manpage to avoid potential conflicts with other packages.
335 for dir in doc/{apps,ssl,crypto}; do
337 %{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
339 for pod in !(openssl*).pod; do
340 mv -f $pod openssl_$pod;
346 rm -rf $RPM_BUILD_ROOT
347 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
348 $RPM_BUILD_ROOT{%{_mandir}/{pl/man1,man{1,3,5,7}},%{_datadir}/ssl} \
349 $RPM_BUILD_ROOT/%{_lib}/engines \
350 $RPM_BUILD_ROOT%{_pkgconfigdir}
352 %{__make} -j1 install \
353 INSTALLTOP=%{_prefix} \
354 INSTALL_PREFIX=$RPM_BUILD_ROOT \
357 mv -f $RPM_BUILD_ROOT%{_libdir}/engines/* $RPM_BUILD_ROOT/%{_lib}/engines
358 mv -f $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.* $RPM_BUILD_ROOT/%{_lib}
359 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcrypto.*.*) $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
360 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libssl.*.*) $RPM_BUILD_ROOT%{_libdir}/libssl.so
362 mv -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
363 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc
365 # not installed as individual utilities (see openssl dgst instead)
366 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{md2,md4,md5,mdc2,ripemd160,sha,sha1}.1
368 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1
369 install -p %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/ssl-certificate
370 install -p %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/c_rehash.sh
373 rm -rf $RPM_BUILD_ROOT
375 %post -p /sbin/ldconfig
376 %postun -p /sbin/ldconfig
378 %triggerpostun -- %{name}-tools < 1.0.0-5
379 # the hashing format has changed in 1.0.0
380 [ ! -x %{_sbindir}/update-ca-certificates ] || %{_sbindir}/update-ca-certificates --fresh || :
382 %triggerpostun -- %{name} < 0.9.8i-2
383 # don't do anything on --downgrade
384 if [ $1 -le 1 ]; then
387 if [ -d /var/lib/openssl/certs ] ; then
388 mv /var/lib/openssl/certs/* %{_sysconfdir}/%{name}/certs 2>/dev/null || :
390 if [ -d /var/lib/openssl/private ] ; then
391 mv /var/lib/openssl/private/* %{_sysconfdir}/%{name}/private 2>/dev/null || :
393 if [ -d /var/lib/openssl ] ; then
394 for f in /var/lib/openssl/* ; do
395 [ -f "$f" ] && mv "$f" %{_sysconfdir}/%{name} 2>/dev/null || :
397 rmdir /var/lib/openssl/* 2>/dev/null || :
398 rmdir /var/lib/openssl 2>/dev/null || :
402 %defattr(644,root,root,755)
403 %doc CHANGES CHANGES.SSLeay LICENSE NEWS README doc/*.txt
404 %doc doc/openssl_button.gif doc/openssl_button.html
405 %attr(755,root,root) /%{_lib}/libcrypto.so.*.*.*
406 %attr(755,root,root) /%{_lib}/libssl.so.*.*.*
407 %dir %{_sysconfdir}/%{name}
408 %dir %{_sysconfdir}/%{name}/certs
409 %dir %{_sysconfdir}/%{name}/private
413 %defattr(644,root,root,755)
414 %dir /%{_lib}/engines
415 %attr(755,root,root) /%{_lib}/engines/*.so
418 %defattr(644,root,root,755)
419 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/openssl.cnf
420 %attr(755,root,root) %{_bindir}/c_rehash.sh
421 %attr(755,root,root) %{_bindir}/openssl
422 %attr(754,root,root) %{_bindir}/ssl-certificate
424 %dir %{_libdir}/%{name}
425 %attr(755,root,root) %{_libdir}/%{name}/CA.sh
426 %attr(755,root,root) %{_libdir}/%{name}/c_hash
427 %attr(755,root,root) %{_libdir}/%{name}/c_info
428 %attr(755,root,root) %{_libdir}/%{name}/c_issuer
429 %attr(755,root,root) %{_libdir}/%{name}/c_name
431 %{_mandir}/man1/openssl.1*
432 %{_mandir}/man1/openssl_asn1parse.1*
433 %{_mandir}/man1/openssl_ca.1*
434 %{_mandir}/man1/openssl_ciphers.1*
435 %{_mandir}/man1/openssl_cms.1*
436 %{_mandir}/man1/openssl_crl.1*
437 %{_mandir}/man1/openssl_crl2pkcs7.1*
438 %{_mandir}/man1/openssl_dgst.1*
439 %{_mandir}/man1/openssl_dhparam.1*
440 %{_mandir}/man1/openssl_dsa.1*
441 %{_mandir}/man1/openssl_dsaparam.1*
442 %{_mandir}/man1/openssl_ec.1*
443 %{_mandir}/man1/openssl_ecparam.1*
444 %{_mandir}/man1/openssl_enc.1*
445 %{_mandir}/man1/openssl_errstr.1*
446 %{_mandir}/man1/openssl_gendsa.1*
447 %{_mandir}/man1/openssl_genpkey.1*
448 %{_mandir}/man1/openssl_genrsa.1*
449 %{_mandir}/man1/openssl_nseq.1*
450 %{_mandir}/man1/openssl_ocsp.1*
451 %{_mandir}/man1/openssl_passwd.1*
452 %{_mandir}/man1/openssl_pkcs12.1*
453 %{_mandir}/man1/openssl_pkcs7.1*
454 %{_mandir}/man1/openssl_pkcs8.1*
455 %{_mandir}/man1/openssl_pkey.1*
456 %{_mandir}/man1/openssl_pkeyparam.1*
457 %{_mandir}/man1/openssl_pkeyutl.1*
458 %{_mandir}/man1/openssl_rand.1*
459 %{_mandir}/man1/openssl_req.1*
460 %{_mandir}/man1/openssl_rsa.1*
461 %{_mandir}/man1/openssl_rsautl.1*
462 %{_mandir}/man1/openssl_s_client.1*
463 %{_mandir}/man1/openssl_s_server.1*
464 %{_mandir}/man1/openssl_s_time.1*
465 %{_mandir}/man1/openssl_sess_id.1*
466 %{_mandir}/man1/openssl_smime.1*
467 %{_mandir}/man1/openssl_speed.1*
468 %{_mandir}/man1/openssl_spkac.1*
469 %{_mandir}/man1/openssl_ts.1*
470 %{_mandir}/man1/openssl_tsget.1*
471 %{_mandir}/man1/openssl_verify.1*
472 %{_mandir}/man1/openssl_version.1*
473 %{_mandir}/man1/openssl_x509.1*
474 %{_mandir}/man5/openssl_config.5*
475 %{_mandir}/man5/openssl_x509v3_config.5*
476 %lang(pl) %{_mandir}/pl/man1/openssl.1*
479 %defattr(644,root,root,755)
480 %attr(755,root,root) %{_bindir}/c_rehash
481 %attr(755,root,root) %{_libdir}/%{name}/CA.pl
482 %attr(755,root,root) %{_libdir}/%{name}/tsget
483 %{_mandir}/man1/openssl_CA.pl.1*
486 %defattr(644,root,root,755)
487 %attr(755,root,root) %{_libdir}/libcrypto.so
488 %attr(755,root,root) %{_libdir}/libssl.so
489 %{_includedir}/%{name}
490 %{_pkgconfigdir}/libcrypto.pc
491 %{_pkgconfigdir}/libssl.pc
492 %{_pkgconfigdir}/openssl.pc
493 %{_mandir}/man3/openssl*.3*
494 %{_mandir}/man7/openssl_des_modes.7*
497 %defattr(644,root,root,755)
498 %{_libdir}/libcrypto.a