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