]> git.pld-linux.org Git - packages/openssl.git/blame_incremental - openssl.spec
- rel 2; add debian fixes
[packages/openssl.git] / openssl.spec
... / ...
CommitLineData
1#
2# TODO: 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_with purify # Compile openssl with \-DPURIFY, useful when one wants to
7 # use valgrind debugger against openssl-linked programs
8
9%include /usr/lib/rpm/macros.perl
10Summary: OpenSSL Toolkit libraries for the "Secure Sockets Layer" (SSL v2/v3)
11Summary(de.UTF-8): Secure Sockets Layer (SSL)-Kommunikationslibrary
12Summary(es.UTF-8): Biblioteca C que suministra algoritmos y protocolos criptográficos
13Summary(fr.UTF-8): Utilitaires de communication SSL (Secure Sockets Layer)
14Summary(pl.UTF-8): Biblioteki OpenSSL (SSL v2/v3)
15Summary(pt_BR.UTF-8): Uma biblioteca C que fornece vários algoritmos e protocolos criptográficos
16Summary(ru.UTF-8): Библиотеки и утилиты для соединений через Secure Sockets Layer
17Summary(uk.UTF-8): Бібліотеки та утиліти для з'єднань через Secure Sockets Layer
18Name: openssl
19Version: 1.0.1e
20Release: 2
21License: Apache-like
22Group: Libraries
23Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
24# Source0-md5: 66bf6f10f060d561929de96f9dfe5b8c
25Source2: %{name}.1.pl
26Source3: %{name}-ssl-certificate.sh
27Source4: %{name}-c_rehash.sh
28Patch0: %{name}-alpha-ccc.patch
29Patch1: %{name}-optflags.patch
30Patch2: %{name}-globalCA.diff
31Patch3: %{name}-include.patch
32Patch4: %{name}-man-namespace.patch
33Patch5: %{name}-asflag.patch
34Patch6: %{name}-ca-certificates.patch
35Patch7: %{name}-ldflags.patch
36
37# from debian
38Patch10: aesni-mac.patch
39Patch11: cpuid.patch
40Patch12: default_bits.patch
41Patch13: dtls_version.patch
42Patch14: get_certificate.patch
43Patch15: pic.patch
44Patch16: stddef.patch
45
46URL: http://www.openssl.org/
47BuildRequires: bc
48BuildRequires: perl-devel >= 1:5.6.1
49BuildRequires: rpm-perlprov >= 4.1-13
50BuildRequires: rpmbuild(macros) >= 1.213
51BuildRequires: sed >= 4.0
52Requires: ca-certificates >= 20080809-4
53Requires: rpm-whiteout >= 1.7
54Obsoletes: SSLeay
55Obsoletes: SSLeay-devel
56Obsoletes: SSLeay-perl
57Obsoletes: libopenssl0
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
140(ang. ENGINE).
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
258%patch10 -p1
259%patch11 -p1
260%patch12 -p1
261%patch13 -p1
262%patch14 -p1
263%patch15 -p1
264%patch16 -p1
265
266sed -i -e 's|\$prefix/\$libdir/engines|/%{_lib}/engines|g' Configure
267
268%build
269touch Makefile.*
270
271%{__perl} util/perlpath.pl %{__perl}
272
273OPTFLAGS="%{rpmcflags} %{rpmcppflags} %{?with_purify:-DPURIFY}" \
274PERL="%{__perl}" \
275%{__perl} ./Configure \
276 --openssldir=%{_sysconfdir}/%{name} \
277 --libdir=%{_lib} \
278 shared \
279 threads \
280 zlib \
281 enable-tlsext \
282 enable-seed \
283 enable-rfc3779 \
284 enable-camelia \
285 enable-cms \
286 enable-idea \
287 enable-mdc2 \
288 enable-md2 \
289 enable-rc5 \
290%ifarch %{ix86}
291%ifarch i386
292 386 linux-elf
293# ^- allow running on 80386 (default code uses bswapl available on i486+)
294%else
295 linux-elf
296%endif
297%endif
298%ifarch alpha
299 linux-alpha+bwx-gcc
300%endif
301%ifarch %{x8664}
302 linux-x86_64
303%endif
304%ifarch ia64
305 linux-ia64
306%endif
307%ifarch ppc
308 linux-ppc
309%endif
310%ifarch ppc64
311 linux-ppc64
312%endif
313%ifarch sparc
314 linux-sparcv8
315%endif
316%ifarch sparcv9
317 linux-sparcv9
318%endif
319%ifarch sparc64
320 linux64-sparcv9
321%endif
322%ifarch armv4 armv5 armv5t armv5te armv5tel
323 linux-armv4
324%endif
325
326%{__make} -j1 all rehash %{?with_tests:tests} \
327 CC="%{__cc}" \
328 ASFLAG='$(CFLAG) -Wa,--noexecstack' \
329 INSTALLTOP=%{_prefix}
330
331# Rename POD sources of man pages. "openssl_" prefix is added to each
332# manpage to avoid potential conflicts with other packages.
333
334for dir in doc/{apps,ssl,crypto}; do
335 cd $dir || exit 1;
336 %{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
337
338 for pod in !(openssl*).pod; do
339 mv -f $pod openssl_$pod;
340 done
341 cd ../..
342done
343
344%install
345rm -rf $RPM_BUILD_ROOT
346install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
347 $RPM_BUILD_ROOT{%{_mandir}/{pl/man1,man{1,3,5,7}},%{_datadir}/ssl} \
348 $RPM_BUILD_ROOT/%{_lib}/engines \
349 $RPM_BUILD_ROOT%{_pkgconfigdir}
350
351%{__make} -j1 install \
352 INSTALLTOP=%{_prefix} \
353 INSTALL_PREFIX=$RPM_BUILD_ROOT \
354 MANDIR=%{_mandir}
355
356mv -f $RPM_BUILD_ROOT%{_libdir}/engines/* $RPM_BUILD_ROOT/%{_lib}/engines
357mv -f $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.* $RPM_BUILD_ROOT/%{_lib}
358ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcrypto.*.*) $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
359ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libssl.*.*) $RPM_BUILD_ROOT%{_libdir}/libssl.so
360
361mv -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
362rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc
363
364# not installed as individual utilities (see openssl dgst instead)
365%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{md2,md4,md5,mdc2,ripemd160,sha,sha1}.1
366
367cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1
368install -p %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/ssl-certificate
369install -p %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/c_rehash.sh
370
371%clean
372rm -rf $RPM_BUILD_ROOT
373
374%post -p /sbin/ldconfig
375%postun -p /sbin/ldconfig
376
377%triggerpostun -- %{name}-tools < 1.0.0-5
378# the hashing format has changed in 1.0.0
379[ ! -x %{_sbindir}/update-ca-certificates ] || %{_sbindir}/update-ca-certificates --fresh || :
380
381%triggerpostun -- %{name} < 0.9.8i-2
382# don't do anything on --downgrade
383if [ $1 -le 1 ]; then
384 exit 0
385fi
386if [ -d /var/lib/openssl/certs ] ; then
387 mv /var/lib/openssl/certs/* %{_sysconfdir}/%{name}/certs 2>/dev/null || :
388fi
389if [ -d /var/lib/openssl/private ] ; then
390 mv /var/lib/openssl/private/* %{_sysconfdir}/%{name}/private 2>/dev/null || :
391fi
392if [ -d /var/lib/openssl ] ; then
393 for f in /var/lib/openssl/* ; do
394 [ -f "$f" ] && mv "$f" %{_sysconfdir}/%{name} 2>/dev/null || :
395 done
396 rmdir /var/lib/openssl/* 2>/dev/null || :
397 rmdir /var/lib/openssl 2>/dev/null || :
398fi
399
400%files
401%defattr(644,root,root,755)
402%doc CHANGES CHANGES.SSLeay LICENSE NEWS README doc/*.txt
403%doc doc/openssl_button.gif doc/openssl_button.html
404%attr(755,root,root) /%{_lib}/libcrypto.so.*.*.*
405%attr(755,root,root) /%{_lib}/libssl.so.*.*.*
406%dir %{_sysconfdir}/%{name}
407%dir %{_sysconfdir}/%{name}/certs
408%dir %{_sysconfdir}/%{name}/private
409%dir %{_datadir}/ssl
410
411%files engines
412%dir /%{_lib}/engines
413%attr(755,root,root) /%{_lib}/engines/*.so
414
415%files tools
416%defattr(644,root,root,755)
417%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/openssl.cnf
418%attr(755,root,root) %{_bindir}/c_rehash.sh
419%attr(755,root,root) %{_bindir}/openssl
420%attr(754,root,root) %{_bindir}/ssl-certificate
421
422%dir %{_libdir}/%{name}
423%attr(755,root,root) %{_libdir}/%{name}/CA.sh
424%attr(755,root,root) %{_libdir}/%{name}/c_hash
425%attr(755,root,root) %{_libdir}/%{name}/c_info
426%attr(755,root,root) %{_libdir}/%{name}/c_issuer
427%attr(755,root,root) %{_libdir}/%{name}/c_name
428
429%{_mandir}/man1/openssl.1*
430%{_mandir}/man1/openssl_asn1parse.1*
431%{_mandir}/man1/openssl_ca.1*
432%{_mandir}/man1/openssl_ciphers.1*
433%{_mandir}/man1/openssl_cms.1*
434%{_mandir}/man1/openssl_crl.1*
435%{_mandir}/man1/openssl_crl2pkcs7.1*
436%{_mandir}/man1/openssl_dgst.1*
437%{_mandir}/man1/openssl_dhparam.1*
438%{_mandir}/man1/openssl_dsa.1*
439%{_mandir}/man1/openssl_dsaparam.1*
440%{_mandir}/man1/openssl_ec.1*
441%{_mandir}/man1/openssl_ecparam.1*
442%{_mandir}/man1/openssl_enc.1*
443%{_mandir}/man1/openssl_errstr.1*
444%{_mandir}/man1/openssl_gendsa.1*
445%{_mandir}/man1/openssl_genpkey.1*
446%{_mandir}/man1/openssl_genrsa.1*
447%{_mandir}/man1/openssl_nseq.1*
448%{_mandir}/man1/openssl_ocsp.1*
449%{_mandir}/man1/openssl_passwd.1*
450%{_mandir}/man1/openssl_pkcs12.1*
451%{_mandir}/man1/openssl_pkcs7.1*
452%{_mandir}/man1/openssl_pkcs8.1*
453%{_mandir}/man1/openssl_pkey.1*
454%{_mandir}/man1/openssl_pkeyparam.1*
455%{_mandir}/man1/openssl_pkeyutl.1*
456%{_mandir}/man1/openssl_rand.1*
457%{_mandir}/man1/openssl_req.1*
458%{_mandir}/man1/openssl_rsa.1*
459%{_mandir}/man1/openssl_rsautl.1*
460%{_mandir}/man1/openssl_s_client.1*
461%{_mandir}/man1/openssl_s_server.1*
462%{_mandir}/man1/openssl_s_time.1*
463%{_mandir}/man1/openssl_sess_id.1*
464%{_mandir}/man1/openssl_smime.1*
465%{_mandir}/man1/openssl_speed.1*
466%{_mandir}/man1/openssl_spkac.1*
467%{_mandir}/man1/openssl_ts.1*
468%{_mandir}/man1/openssl_tsget.1*
469%{_mandir}/man1/openssl_verify.1*
470%{_mandir}/man1/openssl_version.1*
471%{_mandir}/man1/openssl_x509.1*
472%{_mandir}/man5/openssl_config.5*
473%{_mandir}/man5/openssl_x509v3_config.5*
474%lang(pl) %{_mandir}/pl/man1/openssl.1*
475
476%files tools-perl
477%defattr(644,root,root,755)
478%attr(755,root,root) %{_bindir}/c_rehash
479%attr(755,root,root) %{_libdir}/%{name}/CA.pl
480%attr(755,root,root) %{_libdir}/%{name}/tsget
481%{_mandir}/man1/openssl_CA.pl.1*
482
483%files devel
484%defattr(644,root,root,755)
485%attr(755,root,root) %{_libdir}/libcrypto.so
486%attr(755,root,root) %{_libdir}/libssl.so
487%{_includedir}/%{name}
488%{_pkgconfigdir}/libcrypto.pc
489%{_pkgconfigdir}/libssl.pc
490%{_pkgconfigdir}/openssl.pc
491%{_mandir}/man3/openssl*.3*
492%{_mandir}/man7/openssl_des_modes.7*
493
494%files static
495%defattr(644,root,root,755)
496%{_libdir}/libcrypto.a
497%{_libdir}/libssl.a
This page took 0.03259 seconds and 4 git commands to generate.