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