]> git.pld-linux.org Git - packages/openssl.git/blame_incremental - openssl.spec
- up to 1.0.2c
[packages/openssl.git] / openssl.spec
... / ...
CommitLineData
1# TODO
2# - consider dropping last optflags.patch hunk and return to SOMAJOR (.so.1) sonames
3#
4# Conditional build:
5%bcond_without tests # don't perform "make tests"
6%bcond_without zlib # zlib: note - enables CVE-2012-4929 vulnerability
7%bcond_without sslv2 # SSLv2: note - many flaws http://en.wikipedia.org/wiki/Transport_Layer_Security#SSL_2.0
8%bcond_without sslv3 # SSLv3: note - enables CVE-2014-3566 vulnerability
9%bcond_with purify # Compile openssl with \-DPURIFY, useful when one wants to
10 # use valgrind debugger against openssl-linked programs
11
12%include /usr/lib/rpm/macros.perl
13Summary: OpenSSL Toolkit libraries for the "Secure Sockets Layer" (SSL v2/v3)
14Summary(de.UTF-8): Secure Sockets Layer (SSL)-Kommunikationslibrary
15Summary(es.UTF-8): Biblioteca C que suministra algoritmos y protocolos criptográficos
16Summary(fr.UTF-8): Utilitaires de communication SSL (Secure Sockets Layer)
17Summary(pl.UTF-8): Biblioteki OpenSSL (SSL v2/v3)
18Summary(pt_BR.UTF-8): Uma biblioteca C que fornece vários algoritmos e protocolos criptográficos
19Summary(ru.UTF-8): Библиотеки и утилиты для соединений через Secure Sockets Layer
20Summary(uk.UTF-8): Бібліотеки та утиліти для з'єднань через Secure Sockets Layer
21Name: openssl
22Version: 1.0.2c
23Release: 1
24License: Apache-like
25Group: Libraries
26Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
27# Source0-md5: 8c8d81a9ae7005276e486702edbcd4b6
28Source2: %{name}.1.pl
29Source3: %{name}-ssl-certificate.sh
30Source4: %{name}-c_rehash.sh
31Patch0: %{name}-alpha-ccc.patch
32Patch1: %{name}-optflags.patch
33Patch2: %{name}-include.patch
34Patch3: %{name}-man-namespace.patch
35Patch4: %{name}-asflag.patch
36Patch5: %{name}-ca-certificates.patch
37Patch6: %{name}-ldflags.patch
38Patch7: %{name}-find.patch
39Patch8: pic.patch
40Patch10: %{name}_fix_for_x32.patch
41URL: http://www.openssl.org/
42BuildRequires: bc
43BuildRequires: perl-devel >= 1:5.6.1
44BuildRequires: rpm-perlprov >= 4.1-13
45BuildRequires: rpmbuild(macros) >= 1.213
46BuildRequires: sed >= 4.0
47Requires: ca-certificates >= 20080809-4
48Requires: rpm-whiteout >= 1.7
49Obsoletes: SSLeay
50Obsoletes: SSLeay-devel
51Obsoletes: SSLeay-perl
52Obsoletes: libopenssl0
53%if "%{pld_release}" != "ac"
54Conflicts: neon < 0.29.6-8
55Conflicts: openssh-clients < 2:6.2p2-3
56Conflicts: openssh-server < 2:6.2p2-3
57%endif
58BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59
60%description
61The OpenSSL Project is a collaborative effort to develop a robust,
62commercial-grade, full-featured, and Open Source toolkit implementing
63the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
64v1) protocols with full-strength cryptography world-wide. The project
65is managed by a worldwide community of volunteers that use the
66Internet to communicate, plan, and develop the OpenSSL tookit and its
67related documentation.
68
69OpenSSL is based on the excellent SSLeay library developed by Eric A.
70Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an
71Apache-style licence, which basically means that you are free to get
72and use it for commercial and non-commercial purposes subject to some
73simple license conditions.
74
75This package contains shared libraries only, install openssl-tools if
76you want to use openssl cmdline tool.
77
78%description -l de.UTF-8
79Openssl enthält das OpenSSL Zertifikatsmanagementtool und shared
80libraries, die verschiedene Verschlüsselungs- und
81Entschlüsselungsalgorithmen und -protokolle, wie DES, RC4, RSA und SSL
82zur Verfügung stellen.
83
84%description -l es.UTF-8
85Biblioteca C que suministra algoritmos y protocolos criptográficos.
86
87%description -l fr.UTF-8
88OpenSSL est un outiil de gestion des certificats et les librairies
89partagees qui fournit plusieurs protocoles et algorithmes de
90codage/decodage, incluant DES, RC4, RSA et SSL.
91
92%description -l pl.UTF-8
93Implementacja protokołów kryptograficznych Secure Socket Layer (SSL)
94v2/v3 oraz Transport Layer Security (TLS v1).
95
96%description -l pt_BR.UTF-8
97Uma biblioteca C que fornece vários algoritmos e protocolos
98criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas
99compartilhadas e utilitários.
100
101%description -l ru.UTF-8
102Программа openssl для работы с сертификатами и разделяемые библиотеки,
103которые реализуют множетсво криптографических алгоритмов, включая DES,
104RC4, RSA и SSL.
105
106%description -l uk.UTF-8
107Програма openssl для роботи з сертифікатами та бібліотеки спільного
108користування, що реалізують велику кількість криптографічних
109алгоритмів, включаючи DES, RC4, RSA та SSL.
110
111%package engines
112Summary: OpenSSL optional crypto engines
113Summary(pl.UTF-8): Opcjonalne silniki kryptograficzne dla OpenSSL-a
114Group: Libraries
115Requires: %{name} = %{version}-%{release}
116
117%description engines
118With OpenSSL 0.9.6, a new component was added to support alternative
119cryptography implementations, most commonly for interfacing with
120external crypto devices (eg. accelerator cards). This component is
121called ENGINE.
122
123There are currently built-in ENGINE implementations for the following
124crypto devices:
125
126- CryptoSwift
127- Compaq Atalla
128- nCipher CHIL
129- Nuron
130- Broadcom uBSec
131
132In addition, dynamic binding to external ENGINE implementations is now
133provided by a special ENGINE called "dynamic".
134
135%description engines -l pl.UTF-8
136Począwszy od OpenSSL-a 0.9.6 został dodany nowy komponent, mający
137wspierać alternatywne implementacje kryptografii, przeważnie
138współpracujące z zewnętrznymi urządzeniami kryptograficznymi (np.
139kartami akceleratorów). Komponent ten jest nazywany SILNIKIEM (ang.
140ENGINE).
141
142Obecnie istnieją wbudowane implementacje silników dla następujących
143urządzeń kryptograficznych:
144- CryptoSwift
145- Compaq Atalla
146- nCipher CHIL
147- Nuron
148- Broadcom uBSec
149
150Ponadto zapewnione jest dynamiczne wiązanie dla zewnętrznych
151implementacji silników poprzez specjalny silnik o nazwie "dynamic".
152
153%package tools
154Summary: OpenSSL command line tool and utilities
155Summary(pl.UTF-8): Zestaw narzędzi i skryptów
156Group: Applications/Communications
157Requires: %{name} = %{version}-%{release}
158Requires: which
159
160%description tools
161The OpenSSL Toolkit cmdline tool openssl and utility scripts.
162
163%description tools -l pl.UTF-8
164Zestaw narzędzi i skryptów wywoływanych z linii poleceń.
165
166%package tools-perl
167Summary: OpenSSL utilities written in Perl
168Summary(pl.UTF-8): Narzędzia OpenSSL napisane w perlu
169Group: Applications/Communications
170Requires: %{name} = %{version}-%{release}
171
172%description tools-perl
173OpenSSL Toolkit tools written in Perl.
174
175%description tools-perl -l pl.UTF-8
176Narzędzia OpenSSL napisane w perlu.
177
178%package devel
179Summary: Development part of OpenSSL Toolkit libraries
180Summary(de.UTF-8): Secure Sockets Layer Kommunikationslibrary: statische libraries+header
181Summary(es.UTF-8): Bibliotecas y archivos de inclusión para desarrollo OpenSSL
182Summary(fr.UTF-8): Librairies statiques, headers et utilitaires pour communication SSL
183Summary(pl.UTF-8): Część bibiloteki OpenSSL przeznaczona dla programistów
184Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento OpenSSL
185Summary(ru.UTF-8): Библиотеки, хедеры и утилиты для Secure Sockets Layer
186Summary(uk.UTF-8): Бібліотеки, хедери та утиліти для Secure Sockets Layer
187Group: Development/Libraries
188Requires: %{name} = %{version}-%{release}
189Obsoletes: libopenssl0-devel
190
191%description devel
192Development part of OpenSSL library.
193
194%description devel -l es.UTF-8
195Bibliotecas y archivos de inclusión para desarrollo OpenSSL
196
197%description devel -l pl.UTF-8
198Część biblioteki OpenSSL przeznaczona dla programistów.
199
200%description devel -l pt_BR.UTF-8
201Uma biblioteca C que fornece vários algoritmos e protocolos
202criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas e
203arquivos de inclusão para desenvolvimento.
204
205%description devel -l ru.UTF-8
206Программа openssl для работы с сертификатами и разделяемые библиотеки,
207которые реализуют множетсво криптографических алгоритмов, включая DES,
208RC4, RSA и SSL. Включает библиотеки и хедеры для разработки приложений
209с использованием SSL.
210
211%description devel -l uk.UTF-8
212Програма openssl для роботи з сертифікатами та бібліотеки спільного
213користування, що реалізують велику кількість криптографічних
214алгоритмів, включаючи DES, RC4, RSA та SSL. Містить бібліотеки та
215хедери для розробки програм з використанням SSL.
216
217%package static
218Summary: Static OpenSSL libraries
219Summary(pl.UTF-8): Statyczne wersje bibliotek z OpenSSL
220Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com openssl
221Summary(ru.UTF-8): Статические библиотеки разработчика для OpenSSL
222Summary(uk.UTF-8): Статичні бібліотеки програміста для OpenSSL
223Group: Development/Libraries
224Requires: %{name}-devel = %{version}-%{release}
225
226%description static
227Static OpenSSL Toolkit libraries.
228
229%description static -l pl.UTF-8
230Statyczne wersje bibliotek z OpenSSL.
231
232%description static -l pt_BR.UTF-8
233Bibliotecas estáticas para desenvolvimento com openssl.
234
235%description static -l ru.UTF-8
236Программа openssl для работы с сертификатами и разделяемые библиотеки,
237которые реализуют множетсво криптографических алгоритмов, включая DES,
238RC4, RSA и SSL. Включает статические библиотеки для разработки
239приложений с использованием OpenSSL.
240
241%description static -l uk.UTF-8
242Програма openssl для роботи з сертифікатами та бібліотеки спільного
243користування, що реалізують велику кількість криптографічних
244алгоритмів, включаючи DES, RC4, RSA та SSL. Містить статичні
245бібліотеки для розробки програм з використанням SSL.
246
247%prep
248%setup -q
249%patch0 -p1
250%patch1 -p1
251%patch2 -p1
252%patch3 -p1
253%patch4 -p1
254%patch5 -p1
255%patch6 -p1
256%patch7 -p1
257%patch8 -p1
258%patch10 -p1
259
260sed -i -e 's|\$prefix/\$libdir/engines|/%{_lib}/engines|g' Configure
261
262%build
263touch Makefile.*
264
265%{__perl} util/perlpath.pl %{__perl}
266
267OPTFLAGS="%{rpmcflags} %{rpmcppflags} %{?with_purify:-DPURIFY}" \
268PERL="%{__perl}" \
269%{__perl} ./Configure \
270 --openssldir=%{_sysconfdir}/%{name} \
271 --libdir=%{_lib} \
272 shared \
273 threads \
274 %{!?with_sslv2:no-ssl2} \
275 %{!?with_sslv3:no-ssl3} \
276 %{!?with_zlib:no-}zlib \
277 enable-camelia \
278 enable-cms \
279 enable-idea \
280 enable-md2 \
281 enable-mdc2 \
282 enable-rc5 \
283 enable-rfc3779 \
284 enable-seed \
285 enable-tlsext \
286%ifarch %{x8664}
287 enable-ec_nistp_64_gcc_128 \
288%endif
289%ifarch %{ix86}
290%ifarch i386
291 386 linux-elf
292# ^- allow running on 80386 (default code uses bswapl available on i486+)
293%else
294 linux-elf
295%endif
296%endif
297%ifarch alpha
298 linux-alpha+bwx-gcc
299%endif
300%ifarch %{x8664}
301 linux-x86_64
302%endif
303%ifarch x32
304 linux-x32
305%endif
306%ifarch ia64
307 linux-ia64
308%endif
309%ifarch ppc
310 linux-ppc
311%endif
312%ifarch ppc64
313 linux-ppc64
314%endif
315%ifarch sparc
316 linux-sparcv8
317%endif
318%ifarch sparcv9
319 linux-sparcv9
320%endif
321%ifarch sparc64
322 linux64-sparcv9
323%endif
324%ifarch armv4 armv5 armv5t armv5te armv5tel
325 linux-armv4
326%endif
327
328%{__make} -j1 all rehash %{?with_tests:tests} \
329 CC="%{__cc}" \
330 ASFLAG='$(CFLAG) -Wa,--noexecstack' \
331 INSTALLTOP=%{_prefix}
332
333# Rename POD sources of man pages. "openssl_" prefix is added to each
334# manpage to avoid potential conflicts with other packages.
335
336for dir in doc/{apps,ssl,crypto}; do
337 cd $dir || exit 1;
338 %{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
339
340 for pod in !(openssl*).pod; do
341 mv -f $pod openssl_$pod;
342 done
343 cd ../..
344done
345
346%install
347rm -rf $RPM_BUILD_ROOT
348install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
349 $RPM_BUILD_ROOT{%{_mandir}/{pl/man1,man{1,3,5,7}},%{_datadir}/ssl} \
350 $RPM_BUILD_ROOT/%{_lib}/engines \
351 $RPM_BUILD_ROOT%{_pkgconfigdir}
352
353%{__make} -j1 install \
354 INSTALLTOP=%{_prefix} \
355 INSTALL_PREFIX=$RPM_BUILD_ROOT \
356 MANDIR=%{_mandir}
357
358mv -f $RPM_BUILD_ROOT%{_libdir}/engines/* $RPM_BUILD_ROOT/%{_lib}/engines
359mv -f $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.* $RPM_BUILD_ROOT/%{_lib}
360ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcrypto.*.*) $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
361ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libssl.*.*) $RPM_BUILD_ROOT%{_libdir}/libssl.so
362
363mv -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
364rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc
365
366# not installed as individual utilities (see openssl dgst instead)
367%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{dss1,md2,md4,md5,mdc2,ripemd160,sha,sha1,sha224,sha256,sha384,sha512}.1
368
369cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1
370install -p %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/ssl-certificate
371install -p %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/c_rehash.sh
372
373%clean
374rm -rf $RPM_BUILD_ROOT
375
376%post -p /sbin/ldconfig
377%postun -p /sbin/ldconfig
378
379%triggerpostun -- %{name}-tools < 1.0.0-5
380# the hashing format has changed in 1.0.0
381[ ! -x %{_sbindir}/update-ca-certificates ] || %{_sbindir}/update-ca-certificates --fresh || :
382
383%triggerpostun -- %{name} < 0.9.8i-2
384# don't do anything on --downgrade
385if [ $1 -le 1 ]; then
386 exit 0
387fi
388if [ -d /var/lib/openssl/certs ] ; then
389 mv /var/lib/openssl/certs/* %{_sysconfdir}/%{name}/certs 2>/dev/null || :
390fi
391if [ -d /var/lib/openssl/private ] ; then
392 mv /var/lib/openssl/private/* %{_sysconfdir}/%{name}/private 2>/dev/null || :
393fi
394if [ -d /var/lib/openssl ] ; then
395 for f in /var/lib/openssl/* ; do
396 [ -f "$f" ] && mv "$f" %{_sysconfdir}/%{name} 2>/dev/null || :
397 done
398 rmdir /var/lib/openssl/* 2>/dev/null || :
399 rmdir /var/lib/openssl 2>/dev/null || :
400fi
401
402%files
403%defattr(644,root,root,755)
404%doc CHANGES CHANGES.SSLeay LICENSE NEWS README doc/*.txt
405%doc doc/openssl_button.gif doc/openssl_button.html
406%attr(755,root,root) /%{_lib}/libcrypto.so.*.*.*
407%attr(755,root,root) /%{_lib}/libssl.so.*.*.*
408%dir %{_sysconfdir}/%{name}
409%dir %{_sysconfdir}/%{name}/certs
410%dir %{_sysconfdir}/%{name}/private
411%dir %{_datadir}/ssl
412
413%files engines
414%defattr(644,root,root,755)
415%dir /%{_lib}/engines
416%attr(755,root,root) /%{_lib}/engines/*.so
417
418%files tools
419%defattr(644,root,root,755)
420%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/openssl.cnf
421%attr(755,root,root) %{_bindir}/c_rehash.sh
422%attr(755,root,root) %{_bindir}/openssl
423%attr(754,root,root) %{_bindir}/ssl-certificate
424
425%dir %{_libdir}/%{name}
426%attr(755,root,root) %{_libdir}/%{name}/CA.sh
427%attr(755,root,root) %{_libdir}/%{name}/c_hash
428%attr(755,root,root) %{_libdir}/%{name}/c_info
429%attr(755,root,root) %{_libdir}/%{name}/c_issuer
430%attr(755,root,root) %{_libdir}/%{name}/c_name
431
432%{_mandir}/man1/openssl.1*
433%{_mandir}/man1/openssl_asn1parse.1*
434%{_mandir}/man1/openssl_ca.1*
435%{_mandir}/man1/openssl_ciphers.1*
436%{_mandir}/man1/openssl_cms.1*
437%{_mandir}/man1/openssl_crl.1*
438%{_mandir}/man1/openssl_crl2pkcs7.1*
439%{_mandir}/man1/openssl_dgst.1*
440%{_mandir}/man1/openssl_dhparam.1*
441%{_mandir}/man1/openssl_dsa.1*
442%{_mandir}/man1/openssl_dsaparam.1*
443%{_mandir}/man1/openssl_ec.1*
444%{_mandir}/man1/openssl_ecparam.1*
445%{_mandir}/man1/openssl_enc.1*
446%{_mandir}/man1/openssl_errstr.1*
447%{_mandir}/man1/openssl_gendsa.1*
448%{_mandir}/man1/openssl_genpkey.1*
449%{_mandir}/man1/openssl_genrsa.1*
450%{_mandir}/man1/openssl_nseq.1*
451%{_mandir}/man1/openssl_ocsp.1*
452%{_mandir}/man1/openssl_passwd.1*
453%{_mandir}/man1/openssl_pkcs12.1*
454%{_mandir}/man1/openssl_pkcs7.1*
455%{_mandir}/man1/openssl_pkcs8.1*
456%{_mandir}/man1/openssl_pkey.1*
457%{_mandir}/man1/openssl_pkeyparam.1*
458%{_mandir}/man1/openssl_pkeyutl.1*
459%{_mandir}/man1/openssl_rand.1*
460%{_mandir}/man1/openssl_req.1*
461%{_mandir}/man1/openssl_rsa.1*
462%{_mandir}/man1/openssl_rsautl.1*
463%{_mandir}/man1/openssl_s_client.1*
464%{_mandir}/man1/openssl_s_server.1*
465%{_mandir}/man1/openssl_s_time.1*
466%{_mandir}/man1/openssl_sess_id.1*
467%{_mandir}/man1/openssl_smime.1*
468%{_mandir}/man1/openssl_speed.1*
469%{_mandir}/man1/openssl_spkac.1*
470%{_mandir}/man1/openssl_ts.1*
471%{_mandir}/man1/openssl_tsget.1*
472%{_mandir}/man1/openssl_verify.1*
473%{_mandir}/man1/openssl_version.1*
474%{_mandir}/man1/openssl_x509.1*
475%{_mandir}/man5/openssl_config.5*
476%{_mandir}/man5/openssl_x509v3_config.5*
477%lang(pl) %{_mandir}/pl/man1/openssl.1*
478
479%files tools-perl
480%defattr(644,root,root,755)
481%attr(755,root,root) %{_bindir}/c_rehash
482%attr(755,root,root) %{_libdir}/%{name}/CA.pl
483%attr(755,root,root) %{_libdir}/%{name}/tsget
484%{_mandir}/man1/openssl_CA.pl.1*
485%{_mandir}/man1/openssl_c_rehash.1*
486
487%files devel
488%defattr(644,root,root,755)
489%attr(755,root,root) %{_libdir}/libcrypto.so
490%attr(755,root,root) %{_libdir}/libssl.so
491%{_includedir}/%{name}
492%{_pkgconfigdir}/libcrypto.pc
493%{_pkgconfigdir}/libssl.pc
494%{_pkgconfigdir}/openssl.pc
495%{_mandir}/man3/openssl*.3*
496%{_mandir}/man7/openssl_des_modes.7*
497
498%files static
499%defattr(644,root,root,755)
500%{_libdir}/libcrypto.a
501%{_libdir}/libssl.a
This page took 0.071974 seconds and 4 git commands to generate.