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