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