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