- security update to 0.9.7d (fixes CAN-2004-0079, CAN-2004-0112)
[packages/openssl.git] / openssl.spec
1 %include        /usr/lib/rpm/macros.perl
2 Summary:        OpenSSL Toolkit libraries for the "Secure Sockets Layer" (SSL v2/v3)
3 Summary(de):    Secure Sockets Layer (SSL)-Kommunikationslibrary
4 Summary(es):    Biblioteca C que suministra algoritmos y protocolos criptográficos
5 Summary(fr):    Utilitaires de communication SSL (Secure Sockets Layer)
6 Summary(pl):    Biblioteki OpenSSL (SSL v2/v3)
7 Summary(pt_BR): Uma biblioteca C que fornece vários algoritmos e protocolos criptográficos
8 Summary(ru):    âÉÂÌÉÏÔÅËÉ É ÕÔÉÌÉÔÙ ÄÌÑ ÓÏÅÄÉÎÅÎÉÊ ÞÅÒÅÚ Secure Sockets Layer
9 Summary(uk):    â¦Â̦ÏÔÅËÉ ÔÁ ÕÔÉ̦ÔÉ ÄÌÑ Ú'¤ÄÎÁÎØ ÞÅÒÅÚ Secure Sockets Layer
10 Name:           openssl
11 Version:        0.9.7d
12 Release:        1
13 License:        Apache-style License
14 Group:          Libraries
15 Source0:        ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
16 # Source0-md5:  1b49e90fc8a75c3a507c0a624529aca5
17 Source1:        %{name}-ca-bundle.crt
18 Source2:        %{name}.1.pl
19 Source3:        %{name}-ssl-certificate.sh
20 Patch0:         %{name}-alpha-ccc.patch
21 Patch1:         %{name}-optflags.patch
22 Patch2:         %{name}-globalCA.diff
23 Patch3:         %{name}-include.patch
24 URL:            http://www.openssl.org/
25 BuildRequires:  perl-devel >= 5.6.1
26 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27 Obsoletes:      SSLeay
28 Obsoletes:      SSLeay-devel
29 Obsoletes:      SSLeay-perl
30 Obsoletes:      libopenssl0
31
32 %description
33 The OpenSSL Project is a collaborative effort to develop a robust,
34 commercial-grade, full-featured, and Open Source toolkit implementing
35 the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
36 v1) protocols with full-strength cryptography world-wide. The project
37 is managed by a worldwide community of volunteers that use the
38 Internet to communicate, plan, and develop the OpenSSL tookit and its
39 related documentation.
40
41 OpenSSL is based on the excellent SSLeay library developed by Eric A.
42 Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an
43 Apache-style licence, which basically means that you are free to get
44 and use it for commercial and non-commercial purposes subject to some
45 simple license conditions.
46
47 This package contains shared libraries only, install openssl-tools if
48 you want to use openssl cmdline tool.
49
50 %description -l de
51 Openssl enthält das OpenSSL Zertifikatsmanagementtool und shared
52 libraries, die verschiedene Verschlüsselungs- und
53 Entschlüsselungsalgorithmen und -protokolle, wie DES, RC4, RSA und SSL
54 zur Verfügung stellen.
55
56 %description -l es
57 Biblioteca C que suministra algoritmos y protocolos criptográficos.
58
59 %description -l fr
60 OpenSSL est un outiil de gestion des certificats et les librairies
61 partagees qui fournit plusieurs protocoles et algorithmes de
62 codage/decodage, incluant DES, RC4, RSA et SSL.
63
64 %description -l pl
65 Implementacja protoko³ów kryptograficznych Secure Socket Layer (SSL)
66 v2/v3 oraz Transport Layer Security (TLS v1).
67
68 %description -l pt_BR
69 Uma biblioteca C que fornece vários algoritmos e protocolos
70 criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas
71 compartilhadas e utilitários.
72
73 %description -l ru
74 ðÒÏÇÒÁÍÍÁ openssl ÄÌÑ ÒÁÂÏÔÙ Ó ÓÅÒÔÉÆÉËÁÔÁÍÉ É ÒÁÚÄÅÌÑÅÍÙÅ ÂÉÂÌÉÏÔÅËÉ,
75 ËÏÔÏÒÙÅ ÒÅÁÌÉÚÕÀÔ ÍÎÏÖÅÔÓ×Ï ËÒÉÐÔÏÇÒÁÆÉÞÅÓËÉÈ ÁÌÇÏÒÉÔÍÏ×, ×ËÌÀÞÁÑ DES,
76 RC4, RSA É SSL.
77
78 %description -l uk
79 ðÒÏÇÒÁÍÁ openssl ÄÌÑ ÒÏÂÏÔÉ Ú ÓÅÒÔÉƦËÁÔÁÍÉ ÔÁ Â¦Â̦ÏÔÅËÉ ÓЦÌØÎÏÇÏ
80 ËÏÒÉÓÔÕ×ÁÎÎÑ, ÝÏ ÒÅÁ̦ÚÕÀÔØ ×ÅÌÉËՠ˦ÌØ˦ÓÔØ ËÒÉÐÔÏÇÒÁƦÞÎÉÈ
81 ÁÌÇÏÒÉÔͦ×, ×ËÌÀÞÁÀÞÉ DES, RC4, RSA ÔÁ SSL.
82
83 %package tools
84 Summary:        OpenSSL command line tool and utilities
85 Summary(pl):    Zestaw narzêdzi i skryptów
86 Group:          Applications/Communications
87 Requires:       %{name} = %{version}-%{release}
88
89 %description tools
90 The OpenSSL Toolkit cmdline tool openssl and utility scripts.
91
92 %description tools -l pl
93 Zestaw narzêdzi i skryptów wywo³ywanych z linii poleceñ.
94
95 %package tools-perl
96 Summary:        OpenSSL utilities written in Perl
97 Summary(pl):    Narzêdzia OpenSSL napisane w perlu
98 Group:          Applications/Communications
99 Requires:       %{name} = %{version}-%{release}
100
101 %description tools-perl
102 OpenSSL Toolkit tools written in Perl.
103
104 %description tools-perl -l pl
105 Narzêdzia OpenSSL napisane w perlu.
106
107 %package devel
108 Summary:        Development part of OpenSSL Toolkit libraries
109 Summary(de):    Secure Sockets Layer Kommunikationslibrary: statische libraries+header
110 Summary(es):    Bibliotecas y archivos de inclusión para desarrollo OpenSSL
111 Summary(fr):    Librairies statiques, headers et utilitaires pour communication SSL
112 Summary(pl):    Czê¶æ bibiloteki OpenSSL przeznaczona dla programistów
113 Summary(pt_BR): Bibliotecas e arquivos de inclusão para desenvolvimento OpenSSL
114 Summary(ru):    âÉÂÌÉÏÔÅËÉ, ÈÅÄÅÒÙ É ÕÔÉÌÉÔÙ ÄÌÑ Secure Sockets Layer
115 Summary(uk):    â¦Â̦ÏÔÅËÉ, ÈÅÄÅÒÉ ÔÁ ÕÔÉ̦ÔÉ ÄÌÑ Secure Sockets Layer
116 Group:          Development/Libraries
117 Requires:       %{name} = %{version}-%{release}
118 Obsoletes:      libopenssl0-devel
119
120 %description devel
121 Development part of OpenSSL library.
122
123 %description devel -l es
124 Bibliotecas y archivos de inclusión para desarrollo OpenSSL
125
126 %description devel -l pl
127 Czê¶æ bibiloteki OpenSSL przeznaczona dla programistów.
128
129 %description devel -l pt_BR
130 Uma biblioteca C que fornece vários algoritmos e protocolos
131 criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas e
132 arquivos de inclusão para desenvolvimento.
133
134 %description devel -l ru
135 ðÒÏÇÒÁÍÍÁ openssl ÄÌÑ ÒÁÂÏÔÙ Ó ÓÅÒÔÉÆÉËÁÔÁÍÉ É ÒÁÚÄÅÌÑÅÍÙÅ ÂÉÂÌÉÏÔÅËÉ,
136 ËÏÔÏÒÙÅ ÒÅÁÌÉÚÕÀÔ ÍÎÏÖÅÔÓ×Ï ËÒÉÐÔÏÇÒÁÆÉÞÅÓËÉÈ ÁÌÇÏÒÉÔÍÏ×, ×ËÌÀÞÁÑ DES,
137 RC4, RSA É SSL. ÷ËÌÀÞÁÅÔ ÂÉÂÌÉÏÔÅËÉ É ÈÅÄÅÒÙ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ
138 Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ SSL.
139
140 %description devel -l uk
141 ðÒÏÇÒÁÍÁ openssl ÄÌÑ ÒÏÂÏÔÉ Ú ÓÅÒÔÉƦËÁÔÁÍÉ ÔÁ Â¦Â̦ÏÔÅËÉ ÓЦÌØÎÏÇÏ
142 ËÏÒÉÓÔÕ×ÁÎÎÑ, ÝÏ ÒÅÁ̦ÚÕÀÔØ ×ÅÌÉËՠ˦ÌØ˦ÓÔØ ËÒÉÐÔÏÇÒÁƦÞÎÉÈ
143 ÁÌÇÏÒÉÔͦ×, ×ËÌÀÞÁÀÞÉ DES, RC4, RSA ÔÁ SSL. í¦ÓÔÉÔؠ¦Â̦ÏÔÅËÉ ÔÁ
144 ÈÅÄÅÒÉ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ Ú ×ÉËÏÒÉÓÔÁÎÎÑÍ SSL.
145
146 %package static
147 Summary:        Static OpenSSL libraries
148 Summary(pl):    Statyczne wersje bibliotek z OpenSSL
149 Summary(pt_BR): Bibliotecas estáticas para desenvolvimento com openssl
150 Summary(ru):    óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ÒÁÚÒÁÂÏÔÞÉËÁ ÄÌÑ OpenSSL
151 Summary(uk):    óÔÁÔÉÞΦ Â¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ ÄÌÑ OpenSSL
152 Group:          Development/Libraries
153 Requires:       %{name}-devel = %{version}-%{release}
154
155 %description static
156 Static OpenSSL Toolkit libraries.
157
158 %description static -l pl
159 Statyczne wersje bibliotek z OpenSSL.
160
161 %description static -l pt_BR
162 Bibliotecas estáticas para desenvolvimento com openssl.
163
164 %description static -l ru
165 ðÒÏÇÒÁÍÍÁ openssl ÄÌÑ ÒÁÂÏÔÙ Ó ÓÅÒÔÉÆÉËÁÔÁÍÉ É ÒÁÚÄÅÌÑÅÍÙÅ ÂÉÂÌÉÏÔÅËÉ,
166 ËÏÔÏÒÙÅ ÒÅÁÌÉÚÕÀÔ ÍÎÏÖÅÔÓ×Ï ËÒÉÐÔÏÇÒÁÆÉÞÅÓËÉÈ ÁÌÇÏÒÉÔÍÏ×, ×ËÌÀÞÁÑ DES,
167 RC4, RSA É SSL. ÷ËÌÀÞÁÅÔ ÓÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ
168 ÐÒÉÌÏÖÅÎÉÊ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ OpenSSL.
169
170 %description static -l uk
171 ðÒÏÇÒÁÍÁ openssl ÄÌÑ ÒÏÂÏÔÉ Ú ÓÅÒÔÉƦËÁÔÁÍÉ ÔÁ Â¦Â̦ÏÔÅËÉ ÓЦÌØÎÏÇÏ
172 ËÏÒÉÓÔÕ×ÁÎÎÑ, ÝÏ ÒÅÁ̦ÚÕÀÔØ ×ÅÌÉËՠ˦ÌØ˦ÓÔØ ËÒÉÐÔÏÇÒÁƦÞÎÉÈ
173 ÁÌÇÏÒÉÔͦ×, ×ËÌÀÞÁÀÞÉ DES, RC4, RSA ÔÁ SSL. í¦ÓÔÉÔØ ÓÔÁÔÉÞΦ
174 ¦Â̦ÏÔÅËÉ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ Ú ×ÉËÏÒÉÓÔÁÎÎÑÍ SSL.
175
176 %prep
177 %setup -q
178 %patch0 -p1
179 %patch1 -p1
180 %patch2 -p1
181 %patch3 -p1
182
183 %build
184 %{__perl} -pi -e 's#%{_prefix}/local/bin/perl#%{__perl}#g' \
185         `grep -l -r "%{_prefix}/local/bin/perl" *`
186
187 touch Makefile.*
188
189 %{__perl} util/perlpath.pl %{__perl}
190
191 OPTFLAGS="%{rpmcflags}"
192 export OPTFLAGS
193 %ifarch %{ix86}
194 %ifarch i386 i486
195 ./Configure --openssldir=%{_var}/lib/%{name} linux-elf shared 386
196 %else
197 ./Configure --openssldir=%{_var}/lib/%{name} linux-elf shared
198 %endif
199 %endif
200 %ifarch amd64
201 ./Configure --openssldir=%{_var}/lib/%{name} linux-x86_64 shared
202 %endif
203 %ifarch ppc
204 ./Configure --openssldir=%{_var}/lib/%{name} linux-ppc shared
205 %endif
206 %ifarch alpha
207 ./Configure --openssldir=%{_var}/lib/%{name} threads linux-alpha+bwx-gcc shared
208 %endif
209 %ifarch sparc
210 ./Configure --openssldir=%{_var}/lib/%{name} threads linux-sparcv8 shared
211 %endif
212
213 %{__make} \
214         CC="%{__cc}" \
215         INSTALLTOP=%{_prefix}
216
217 %{__make} rehash \
218         CC="%{__cc}" \
219         INSTALLTOP=%{_prefix}
220
221 # Conv PODs to man pages. "openssl_" prefix is added to each manpage
222 # to avoid potential conflicts with others packages.
223 center="OpenSSL 0.9.7"
224 rel="OpenSSL 0.9.7"
225
226 cd doc/apps || exit 1
227 %{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
228
229 for pod in *.pod; do
230         if [ $pod != "openssl.pod" ]; then
231                 mv -f $pod openssl_$pod;
232                 pod=openssl_$pod;
233         fi
234
235         sec=1
236         if [ $pod = "openssl_config.pod" ]; then
237                 sec=5
238         fi
239
240         manpage=`basename $pod .pod`.$sec;
241         pod2man --section="$sec" --release="$rel" --center="$center" \
242                 $pod > $manpage;
243         echo "$manpage";
244 done
245 cd ..
246
247 sec=3
248 for dir in ssl crypto; do
249         cd $dir || exit 1;
250         if [ $dir = "ssl" ]; then
251                 rel="OpenSSL SSL/TLS library"
252         elif [ $dir = "crypto" ]; then
253                 rel="OpenSSL cryptographic library"
254         fi
255
256         %{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
257
258         for pod in *.pod; do
259                 sec=`[ "$pod" = "des_modes.pod" ] && echo 7 || echo 3`;
260                 mv -f $pod openssl_$pod;
261                 pod=openssl_$pod;
262                 manpage=`basename $pod .pod`.$sec;
263                 pod2man --section="$sec" --release="$rel" --center=" " $pod > $manpage;
264                 echo "$manpage";
265         done
266         cd ..
267 done
268
269 #cd perl
270 #%%{__perl} Makefile.PL \
271 #       INSTALLDIRS=vendor
272 #%{__make}
273
274 %install
275 rm -rf $RPM_BUILD_ROOT
276 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
277         $RPM_BUILD_ROOT{%{_mandir}/{pl/man1,man{1,3,5,7}},%{_datadir}/ssl} \
278         $RPM_BUILD_ROOT%{_pkgconfigdir}
279
280 %{__make} install \
281         INSTALLTOP=%{_prefix} \
282         INSTALL_PREFIX=$RPM_BUILD_ROOT \
283         MANDIR=%{_mandir}
284
285 if [ "%{_prefix}/lib/pkgconfig" != "%{_pkgconfigdir}" ] ; then
286         mv $RPM_BUILD_ROOT%{_prefix}/lib/pkgconfig/* \
287                 $RPM_BUILD_ROOT%{_pkgconfigdir}
288 fi
289
290 install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/ssl/ca-bundle.crt
291 install libcrypto.a libssl.a $RPM_BUILD_ROOT%{_libdir}
292 install lib*.so.*.* $RPM_BUILD_ROOT%{_libdir}
293 ln -sf libcrypto.so.*.* $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
294 ln -sf libssl.so.*.* $RPM_BUILD_ROOT%{_libdir}/libssl.so
295
296 mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/openssl.cnf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
297 ln -s %{_sysconfdir}/%{name}/openssl.cnf \
298         $RPM_BUILD_ROOT%{_var}/lib/%{name}/%{name}.cnf
299
300 mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
301 rm -rf $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc
302
303 mv -f $RPM_BUILD_ROOT%{_bindir}/c_rehash $RPM_BUILD_ROOT%{_libdir}/%{name}
304
305 find $RPM_BUILD_ROOT%{_mandir} -type f | xargs rm -f
306 install doc/apps/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
307 install doc/apps/*.5 $RPM_BUILD_ROOT%{_mandir}/man5
308 install doc/ssl/*.3 doc/crypto/*.3 $RPM_BUILD_ROOT%{_mandir}/man3
309 install doc/crypto/*.7 $RPM_BUILD_ROOT%{_mandir}/man7
310 install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1
311 install %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/ssl-certificate
312
313 %clean
314 rm -rf $RPM_BUILD_ROOT
315
316 %post   -p /sbin/ldconfig
317 %postun -p /sbin/ldconfig
318
319 %files
320 %defattr(644,root,root,755)
321 %attr(755,root,root) %{_libdir}/lib*.so.*.*
322 %doc CHANGES CHANGES.SSLeay LICENSE NEWS README doc/*.txt
323 %doc doc/openssl_button.gif doc/openssl_button.html
324 %dir %{_var}/lib/%{name}
325 %dir %{_var}/lib/%{name}/certs
326 %dir %{_var}/lib/%{name}/private
327
328 %files tools
329 %defattr(644,root,root,755)
330 %dir %{_sysconfdir}/%{name}
331
332 %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/%{name}/openssl.cnf
333 %verify(not md5 size mtime) %config(noreplace) %{_var}/lib/%{name}/openssl.cnf
334 %dir %{_datadir}/ssl
335 %verify(not md5 size mtime) %config(noreplace) %{_datadir}/ssl/ca-bundle.crt
336
337 %attr(755,root,root) %{_bindir}/%{name}
338 %attr(754,root,root) %{_bindir}/ssl-certificate
339 %dir %{_libdir}/%{name}
340 %attr(755,root,root) %{_libdir}/%{name}/CA.sh
341 %attr(755,root,root) %{_libdir}/%{name}/c_hash
342 %attr(755,root,root) %{_libdir}/%{name}/c_info
343 %attr(755,root,root) %{_libdir}/%{name}/c_issuer
344 %attr(755,root,root) %{_libdir}/%{name}/c_name
345
346 %{_mandir}/man1/openssl.1*
347 %{_mandir}/man1/openssl_asn1parse.1*
348 %{_mandir}/man1/openssl_ca.1*
349 %{_mandir}/man1/openssl_ciphers.1*
350 %{_mandir}/man1/openssl_crl.1*
351 %{_mandir}/man1/openssl_crl2pkcs7.1*
352 %{_mandir}/man1/openssl_dgst.1*
353 %{_mandir}/man1/openssl_dhparam.1*
354 %{_mandir}/man1/openssl_dsa.1*
355 %{_mandir}/man1/openssl_dsaparam.1*
356 %{_mandir}/man1/openssl_enc.1*
357 %{_mandir}/man1/openssl_gendsa.1*
358 %{_mandir}/man1/openssl_genrsa.1*
359 %{_mandir}/man1/openssl_nseq.1*
360 %{_mandir}/man1/openssl_ocsp.1*
361 %{_mandir}/man1/openssl_passwd.1*
362 %{_mandir}/man1/openssl_pkcs12.1*
363 %{_mandir}/man1/openssl_pkcs7.1*
364 %{_mandir}/man1/openssl_pkcs8.1*
365 %{_mandir}/man1/openssl_rand.1*
366 %{_mandir}/man1/openssl_req.1*
367 %{_mandir}/man1/openssl_rsa.1*
368 %{_mandir}/man1/openssl_rsautl.1*
369 %{_mandir}/man1/openssl_s_client.1*
370 %{_mandir}/man1/openssl_s_server.1*
371 %{_mandir}/man1/openssl_s_time.1*
372 %{_mandir}/man1/openssl_sess_id.1*
373 %{_mandir}/man1/openssl_smime.1*
374 %{_mandir}/man1/openssl_speed.1*
375 %{_mandir}/man1/openssl_spkac.1*
376 %{_mandir}/man1/openssl_verify.1*
377 %{_mandir}/man1/openssl_version.1*
378 %{_mandir}/man1/openssl_x509.1*
379 %{_mandir}/man5/*.5*
380 %lang(pl) %{_mandir}/pl/man1/openssl.1*
381
382 %files tools-perl
383 %defattr(644,root,root,755)
384 %attr(755,root,root) %{_libdir}/%{name}/CA.pl
385 %attr(755,root,root) %{_libdir}/%{name}/der_chop
386 %attr(755,root,root) %{_libdir}/%{name}/c_rehash
387 %{_mandir}/man1/openssl_CA.pl.1*
388
389 %files devel
390 %defattr(644,root,root,755)
391 %attr(755,root,root) %{_libdir}/lib*.so
392 %{_includedir}/%{name}
393 %{_pkgconfigdir}/openssl.pc
394 %{_mandir}/man3/openssl*.3*
395 %{_mandir}/man7/*.7*
396
397 %files static
398 %defattr(644,root,root,755)
399 %{_libdir}/lib*.a
This page took 0.125102 seconds and 3 git commands to generate.