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