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