]> git.pld-linux.org Git - packages/openssl.git/blob - openssl.spec
BR: libatomic-devel on selected archs
[packages/openssl.git] / openssl.spec
1 #
2 # Conditional build:
3 %bcond_without  tests   # don't perform "make tests"
4 %bcond_without  zlib    # zlib: note - enables CVE-2012-4929 vulnerability
5 %bcond_with     sslv3   # SSLv3: note - enables CVE-2014-3566 vulnerability
6
7 Summary:        OpenSSL Toolkit libraries for the "Secure Sockets Layer" (SSL v2/v3)
8 Summary(de.UTF-8):      Secure Sockets Layer (SSL)-Kommunikationslibrary
9 Summary(es.UTF-8):      Biblioteca C que suministra algoritmos y protocolos criptográficos
10 Summary(fr.UTF-8):      Utilitaires de communication SSL (Secure Sockets Layer)
11 Summary(pl.UTF-8):      Biblioteki OpenSSL (SSL v2/v3)
12 Summary(pt_BR.UTF-8):   Uma biblioteca C que fornece vários algoritmos e protocolos criptográficos
13 Summary(ru.UTF-8):      Библиотеки и утилиты для соединений через Secure Sockets Layer
14 Summary(uk.UTF-8):      Бібліотеки та утиліти для з'єднань через Secure Sockets Layer
15 Name:           openssl
16 Version:        3.0.1
17 Release:        1
18 License:        Apache v2.0
19 Group:          Libraries
20 Source0:        https://www.openssl.org/source/%{name}-%{version}.tar.gz
21 # Source0-md5:  7d07e849d77d276891edd579a8832bb3
22 Source2:        %{name}.1.pl
23 Source3:        %{name}-ssl-certificate.sh
24 Source4:        %{name}-c_rehash.sh
25 Patch0:         %{name}-optflags.patch
26 Patch1:         %{name}-ca-certificates.patch
27 Patch2:         %{name}-find.patch
28 Patch3:         pic.patch
29 Patch4:         engines-dir.patch
30 URL:            http://www.openssl.org/
31 %ifarch %{arm} ppc mips sparc sparcv9
32 BuildRequires:  libatomic-devel
33 %endif
34 BuildRequires:  libsctp-devel
35 BuildRequires:  perl-devel >= 1:5.10.0
36 BuildRequires:  pkgconfig
37 BuildRequires:  rpm-perlprov >= 4.1-13
38 BuildRequires:  rpmbuild(macros) >= 1.213
39 BuildRequires:  sed >= 4.0
40 BuildRequires:  zlib-devel
41 Requires:       ca-certificates >= 20141019-3
42 Requires:       %{name}-tools = %{version}-%{release}
43 Requires:       rpm-whiteout >= 1.7
44 Obsoletes:      SSLeay
45 Obsoletes:      SSLeay-devel
46 Obsoletes:      SSLeay-perl
47 Obsoletes:      libopenssl0
48 Obsoletes:      openssl-engines < 3.0.0-2
49 %if "%{pld_release}" == "ac"
50 Conflicts:      neon < 0.26.3-3
51 Conflicts:      ntpd < 4.2.4p8-10
52 Conflicts:      openssh-clients < 2:5.8p1-9
53 Conflicts:      openssh-server < 2:5.8p1-9
54 %else
55 Conflicts:      neon < 0.29.6-8
56 Conflicts:      openssh-clients < 2:6.2p2-3
57 Conflicts:      openssh-server < 2:6.2p2-3
58 %endif
59 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
61 %description
62 The OpenSSL Project is a collaborative effort to develop a robust,
63 commercial-grade, full-featured, and Open Source toolkit implementing
64 the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
65 v1) protocols with full-strength cryptography world-wide. The project
66 is managed by a worldwide community of volunteers that use the
67 Internet to communicate, plan, and develop the OpenSSL tookit and its
68 related documentation.
69
70 OpenSSL is based on the excellent SSLeay library developed by Eric A.
71 Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an
72 Apache-style licence, which basically means that you are free to get
73 and use it for commercial and non-commercial purposes subject to some
74 simple license conditions.
75
76 This package contains shared libraries only, install openssl-tools if
77 you want to use openssl cmdline tool.
78
79 %description -l de.UTF-8
80 Openssl enthält das OpenSSL Zertifikatsmanagementtool und shared
81 libraries, die verschiedene Verschlüsselungs- und
82 Entschlüsselungsalgorithmen und -protokolle, wie DES, RC4, RSA und SSL
83 zur Verfügung stellen.
84
85 %description -l es.UTF-8
86 Biblioteca C que suministra algoritmos y protocolos criptográficos.
87
88 %description -l fr.UTF-8
89 OpenSSL est un outiil de gestion des certificats et les librairies
90 partagees qui fournit plusieurs protocoles et algorithmes de
91 codage/decodage, incluant DES, RC4, RSA et SSL.
92
93 %description -l pl.UTF-8
94 Implementacja protokołów kryptograficznych Secure Socket Layer (SSL)
95 v2/v3 oraz Transport Layer Security (TLS v1).
96
97 %description -l pt_BR.UTF-8
98 Uma biblioteca C que fornece vários algoritmos e protocolos
99 criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas
100 compartilhadas e utilitários.
101
102 %description -l ru.UTF-8
103 Программа openssl для работы с сертификатами и разделяемые библиотеки,
104 которые реализуют множетсво криптографических алгоритмов, включая DES,
105 RC4, RSA и SSL.
106
107 %description -l uk.UTF-8
108 Програма openssl для роботи з сертифікатами та бібліотеки спільного
109 користування, що реалізують велику кількість криптографічних
110 алгоритмів, включаючи DES, RC4, RSA та SSL.
111
112 %package tools
113 Summary:        OpenSSL command line tool and utilities
114 Summary(pl.UTF-8):      Zestaw narzędzi i skryptów
115 Group:          Applications/Communications
116 Requires:       %{name} = %{version}-%{release}
117 Requires:       which
118
119 %description tools
120 The OpenSSL Toolkit cmdline tool openssl and utility scripts.
121
122 %description tools -l pl.UTF-8
123 Zestaw narzędzi i skryptów wywoływanych z linii poleceń.
124
125 %package tools-perl
126 Summary:        OpenSSL utilities written in Perl
127 Summary(pl.UTF-8):      Narzędzia OpenSSL napisane w perlu
128 Group:          Applications/Communications
129 Requires:       %{name} = %{version}-%{release}
130
131 %description tools-perl
132 OpenSSL Toolkit tools written in Perl.
133
134 %description tools-perl -l pl.UTF-8
135 Narzędzia OpenSSL napisane w perlu.
136
137 %package devel
138 Summary:        Development part of OpenSSL Toolkit libraries
139 Summary(de.UTF-8):      Secure Sockets Layer Kommunikationslibrary: statische libraries+header
140 Summary(es.UTF-8):      Bibliotecas y archivos de inclusión para desarrollo OpenSSL
141 Summary(fr.UTF-8):      Librairies statiques, headers et utilitaires pour communication SSL
142 Summary(pl.UTF-8):      Część bibiloteki OpenSSL przeznaczona dla programistów
143 Summary(pt_BR.UTF-8):   Bibliotecas e arquivos de inclusão para desenvolvimento OpenSSL
144 Summary(ru.UTF-8):      Библиотеки, хедеры и утилиты для Secure Sockets Layer
145 Summary(uk.UTF-8):      Бібліотеки, хедери та утиліти для Secure Sockets Layer
146 Group:          Development/Libraries
147 Requires:       %{name} = %{version}-%{release}
148 Obsoletes:      libopenssl0-devel
149
150 %description devel
151 Development part of OpenSSL library.
152
153 %description devel -l es.UTF-8
154 Bibliotecas y archivos de inclusión para desarrollo OpenSSL
155
156 %description devel -l pl.UTF-8
157 Część biblioteki OpenSSL przeznaczona dla programistów.
158
159 %description devel -l pt_BR.UTF-8
160 Uma biblioteca C que fornece vários algoritmos e protocolos
161 criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas e
162 arquivos de inclusão para desenvolvimento.
163
164 %description devel -l ru.UTF-8
165 Программа openssl для работы с сертификатами и разделяемые библиотеки,
166 которые реализуют множетсво криптографических алгоритмов, включая DES,
167 RC4, RSA и SSL. Включает библиотеки и хедеры для разработки приложений
168 с использованием SSL.
169
170 %description devel -l uk.UTF-8
171 Програма openssl для роботи з сертифікатами та бібліотеки спільного
172 користування, що реалізують велику кількість криптографічних
173 алгоритмів, включаючи DES, RC4, RSA та SSL. Містить бібліотеки та
174 хедери для розробки програм з використанням SSL.
175
176 %package static
177 Summary:        Static OpenSSL libraries
178 Summary(pl.UTF-8):      Statyczne wersje bibliotek z OpenSSL
179 Summary(pt_BR.UTF-8):   Bibliotecas estáticas para desenvolvimento com openssl
180 Summary(ru.UTF-8):      Статические библиотеки разработчика для OpenSSL
181 Summary(uk.UTF-8):      Статичні бібліотеки програміста для OpenSSL
182 Group:          Development/Libraries
183 Requires:       %{name}-devel = %{version}-%{release}
184
185 %description static
186 Static OpenSSL Toolkit libraries.
187
188 %description static -l pl.UTF-8
189 Statyczne wersje bibliotek z OpenSSL.
190
191 %description static -l pt_BR.UTF-8
192 Bibliotecas estáticas para desenvolvimento com openssl.
193
194 %description static -l ru.UTF-8
195 Программа openssl для работы с сертификатами и разделяемые библиотеки,
196 которые реализуют множетсво криптографических алгоритмов, включая DES,
197 RC4, RSA и SSL. Включает статические библиотеки для разработки
198 приложений с использованием OpenSSL.
199
200 %description static -l uk.UTF-8
201 Програма openssl для роботи з сертифікатами та бібліотеки спільного
202 користування, що реалізують велику кількість криптографічних
203 алгоритмів, включаючи DES, RC4, RSA та SSL. Містить статичні
204 бібліотеки для розробки програм з використанням SSL.
205
206 %prep
207 %setup -q
208 %patch0 -p1
209 %patch1 -p1
210 %patch2 -p1
211 %patch3 -p1
212 %patch4 -p1
213
214 # fails with enable-sctp as of 1.1.1
215 %{__rm} test/recipes/80-test_ssl_new.t
216
217 %build
218 touch Makefile.*
219
220 PERL="%{__perl}" \
221 %{__perl} ./Configure \
222         --prefix=%{_prefix} \
223         --openssldir=%{_sysconfdir}/%{name} \
224         --libdir=%{_lib} \
225         -Wa,--noexecstack \
226         shared \
227         threads \
228         %{?with_sslv3:enable-ssl3}%{!?with_sslv3:no-ssl3} \
229         %{!?with_zlib:no-}zlib \
230         enable-cms \
231         enable-idea \
232         enable-md2 \
233         enable-mdc2 \
234         enable-rc5 \
235         enable-rfc3779 \
236         enable-sctp \
237         enable-seed \
238         enable-camellia \
239         enable-ktls \
240         enable-fips \
241 %ifarch %{x8664}
242         enable-ec_nistp_64_gcc_128 \
243 %endif
244 %ifarch %{ix86}
245 %ifarch i386
246         386 linux-elf
247 # ^- allow running on 80386 (default code uses bswapl available on i486+)
248 %else
249         linux-elf
250 %endif
251 %endif
252 %ifarch alpha
253         linux-alpha-gcc
254 %endif
255 %ifarch %{x8664}
256         linux-x86_64
257 %endif
258 %ifarch x32
259         linux-x32
260 %endif
261 %ifarch ia64
262         linux-ia64
263 %endif
264 %ifarch ppc
265         linux-ppc
266 %endif
267 %ifarch ppc64
268         linux-ppc64
269 %endif
270 %ifarch sparc
271         linux-sparcv8
272 %endif
273 %ifarch sparcv9
274         linux-sparcv9
275 %endif
276 %ifarch sparc64
277         linux64-sparcv9
278 %endif
279 %ifarch %{arm}
280         linux-armv4
281 %endif
282 %ifarch aarch64
283         linux-aarch64
284 %endif
285
286 v=$(awk -F= '/^VERSION=/{print $2}' Makefile)
287 test "$v" = %{version}
288
289 %{__make} -j1 all %{?with_tests:tests} \
290         CC="%{__cc}" \
291         OPTFLAGS="%{rpmcflags} %{rpmcppflags}" \
292         INSTALLTOP=%{_prefix}
293
294 %install
295 rm -rf $RPM_BUILD_ROOT
296 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
297         $RPM_BUILD_ROOT{%{_mandir}/{pl/man1,man{1,3,5,7}},%{_datadir}/ssl} \
298         $RPM_BUILD_ROOT%{_pkgconfigdir}
299
300 %{__make} -j1 install \
301         CC="%{__cc}" \
302         DESTDIR=$RPM_BUILD_ROOT
303
304 %{__mv} $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
305 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcrypto.*) $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
306 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libssl.*) $RPM_BUILD_ROOT%{_libdir}/libssl.so
307
308 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
309 %{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc
310
311 # html version of man pages - not packaged
312 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}/html/man[1357]
313
314 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1
315 install -p %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/ssl-certificate
316 install -p %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/c_rehash.sh
317
318 %clean
319 rm -rf $RPM_BUILD_ROOT
320
321 %post   -p /sbin/ldconfig
322 %postun -p /sbin/ldconfig
323
324 %triggerpostun -- %{name}-tools < 1.0.0-5
325 # the hashing format has changed in 1.0.0
326 [ ! -x %{_sbindir}/update-ca-certificates ] || %{_sbindir}/update-ca-certificates --fresh || :
327
328 %triggerpostun -- %{name} < 0.9.8i-2
329 # don't do anything on --downgrade
330 if [ $1 -le 1 ]; then
331         exit 0
332 fi
333 if [ -d /var/lib/openssl/certs ] ; then
334         mv /var/lib/openssl/certs/* %{_sysconfdir}/%{name}/certs 2>/dev/null || :
335 fi
336 if [ -d /var/lib/openssl/private ] ; then
337         mv /var/lib/openssl/private/* %{_sysconfdir}/%{name}/private 2>/dev/null || :
338 fi
339 if [ -d /var/lib/openssl ] ; then
340         for f in /var/lib/openssl/* ; do
341                 [ -f "$f" ] && mv "$f" %{_sysconfdir}/%{name} 2>/dev/null || :
342         done
343         rmdir /var/lib/openssl/* 2>/dev/null || :
344         rmdir /var/lib/openssl 2>/dev/null || :
345 fi
346
347 %files
348 %defattr(644,root,root,755)
349 %doc CHANGES.md NEWS.md README.md doc/*.txt
350 %attr(755,root,root) /%{_lib}/libcrypto.so.*
351 %attr(755,root,root) /%{_lib}/libssl.so.*
352 %dir /%{_lib}/engines-3
353 %attr(755,root,root) /%{_lib}/engines-3/*.so
354 %dir /%{_lib}/ossl-modules
355 %attr(755,root,root) /%{_lib}/ossl-modules/fips.so
356 %attr(755,root,root) /%{_lib}/ossl-modules/legacy.so
357 %dir %{_sysconfdir}/%{name}
358 %dir %{_sysconfdir}/%{name}/certs
359 %dir %attr(700,root,root) %{_sysconfdir}/%{name}/private
360 %dir %{_datadir}/ssl
361
362 %files tools
363 %defattr(644,root,root,755)
364 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/ct_log_list.cnf
365 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/fipsmodule.cnf
366 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/openssl.cnf
367 %attr(755,root,root) %{_bindir}/c_rehash.sh
368 %attr(755,root,root) %{_bindir}/openssl
369 %attr(754,root,root) %{_bindir}/ssl-certificate
370 %{_mandir}/man1/asn1parse.1*
371 %{_mandir}/man1/ca.1*
372 %{_mandir}/man1/ciphers.1*
373 %{_mandir}/man1/cms.1*
374 %{_mandir}/man1/crl.1*
375 %{_mandir}/man1/crl2pkcs7.1*
376 %{_mandir}/man1/dgst.1*
377 %{_mandir}/man1/dhparam.1*
378 %{_mandir}/man1/dsa.1*
379 %{_mandir}/man1/dsaparam.1*
380 %{_mandir}/man1/ec.1*
381 %{_mandir}/man1/ecparam.1*
382 %{_mandir}/man1/enc.1*
383 %{_mandir}/man1/engine.1*
384 %{_mandir}/man1/errstr.1*
385 %{_mandir}/man1/gendsa.1*
386 %{_mandir}/man1/genpkey.1*
387 %{_mandir}/man1/genrsa.1*
388 %{_mandir}/man1/kdf.1*
389 %{_mandir}/man1/mac.1*
390 %{_mandir}/man1/nseq.1*
391 %{_mandir}/man1/ocsp.1*
392 %{_mandir}/man1/openssl.1*
393 %{_mandir}/man1/openssl-*.1*
394 %{_mandir}/man1/passwd.1*
395 %{_mandir}/man1/pkcs12.1*
396 %{_mandir}/man1/pkcs7.1*
397 %{_mandir}/man1/pkcs8.1*
398 %{_mandir}/man1/pkey.1*
399 %{_mandir}/man1/pkeyparam.1*
400 %{_mandir}/man1/pkeyutl.1*
401 %{_mandir}/man1/prime.1*
402 %{_mandir}/man1/rand.1*
403 %{_mandir}/man1/rehash.1*
404 %{_mandir}/man1/req.1*
405 %{_mandir}/man1/rsa.1*
406 %{_mandir}/man1/rsautl.1*
407 %{_mandir}/man1/s_client.1*
408 %{_mandir}/man1/sess_id.1*
409 %{_mandir}/man1/smime.1*
410 %{_mandir}/man1/speed.1*
411 %{_mandir}/man1/spkac.1*
412 %{_mandir}/man1/srp.1*
413 %{_mandir}/man1/s_server.1*
414 %{_mandir}/man1/s_time.1*
415 %{_mandir}/man1/storeutl.1*
416 %{_mandir}/man1/ts.1*
417 %{_mandir}/man1/verify.1*
418 %{_mandir}/man1/version.1*
419 %{_mandir}/man1/x509.1*
420 %{_mandir}/man5/*.5*
421 %lang(pl) %{_mandir}/pl/man1/openssl.1*
422
423 %files tools-perl
424 %defattr(644,root,root,755)
425 %attr(755,root,root) %{_bindir}/c_rehash
426 %dir %{_libdir}/%{name}
427 %attr(755,root,root) %{_libdir}/%{name}/CA.pl
428 %attr(755,root,root) %{_libdir}/%{name}/tsget
429 %attr(755,root,root) %{_libdir}/%{name}/tsget.pl
430 %{_mandir}/man1/CA.pl.1*
431 %{_mandir}/man1/c_rehash.1*
432 %{_mandir}/man1/tsget.1*
433
434 %files devel
435 %defattr(644,root,root,755)
436 %attr(755,root,root) %{_libdir}/libcrypto.so
437 %attr(755,root,root) %{_libdir}/libssl.so
438 %{_includedir}/%{name}
439 %{_pkgconfigdir}/libcrypto.pc
440 %{_pkgconfigdir}/libssl.pc
441 %{_pkgconfigdir}/openssl.pc
442 %{_mandir}/man3/*.3*
443 %{_mandir}/man7/*.7*
444
445 %files static
446 %defattr(644,root,root,755)
447 %{_libdir}/libcrypto.a
448 %{_libdir}/libssl.a
This page took 0.074638 seconds and 4 git commands to generate.