- merged DEVEL branch (update to 0.9.6g)
[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.6g
12 Release:        1
13 License:        Apache-style License
14 Vendor:         The OpenSSL Project
15 Group:          Libraries
16 Source0:        ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
17 Source1:        %{name}-ca-bundle.crt
18 Patch0:         %{name}-alpha-ccc.patch
19 # patch1 is only for 0.9.6a version. This version isn't binary
20 # compatibile with 0.9.6 but have this same soname.
21 Patch1:         %{name}-soname.patch
22 Patch2:         %{name}-optflags.patch
23 Patch3:         %{name}-nocrypt.patch
24 Patch4:         %{name}-globalCA.diff
25 BuildRequires:  perl-devel >= 5.6.1
26 BuildRequires:  textutils
27 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28 Obsoletes:      SSLeay
29 Obsoletes:      SSLeay-devel
30 Obsoletes:      SSLeay-perl
31 Obsoletes:      libopenssl0
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}
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}
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}
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ê¶æ bibiloteki 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}
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 %patch4 -p1
184
185 %build
186 for f in ` grep -r "%{_prefix}/local/bin/perl" . | cut -d":" -f1`; do
187 perl -pi -e 's#%{_prefix}/local/bin/perl#%{_bindir}/perl#g' $f
188 done
189
190 touch Makefile.*
191
192 perl util/perlpath.pl %{_bindir}/perl
193
194 OPTFLAGS="%{rpmcflags}"
195 export OPTFLAGS
196 %ifarch i386 i486
197 ./Configure --openssldir=%{_var}/lib/%{name} linux-elf shared 386
198 %endif
199 %ifarch i586 i686 athlon
200 ./Configure --openssldir=%{_var}/lib/%{name} linux-elf shared
201 %endif
202 %ifarch ppc
203 ./Configure --openssldir=%{_var}/lib/%{name} linux-ppc shared
204 %endif
205 %ifarch alpha
206 ./Configure --openssldir=%{_var}/lib/%{name} threads linux-alpha+bwx-gcc shared
207 %endif
208 %ifarch sparc
209 ./Configure --openssldir=%{_var}/lib/%{name} threads linux-sparcv8 shared
210 %endif
211
212 %{__make} CC="%{__cc}"
213 %{__make} rehash CC="%{__cc}"
214
215 # Conv PODs to man pages. "openssl_" prefix is added to each manpage
216 # to avoid potential conflicts with others packages.
217 center="OpenSSL 0.9.6"
218 rel="OpenSSL 0.9.6"
219
220 cd doc/apps || exit 1
221 perl -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
222
223 for pod in *.pod; do
224         if [ $pod != "openssl.pod" ]; then
225                 mv -f $pod openssl_$pod;
226                 pod=openssl_$pod;
227         fi
228
229         sec=1
230         if [ $pod = "openssl_config.pod" ]; then
231                 sec=5
232         fi
233
234         manpage=`basename $pod .pod`.$sec;
235         pod2man --section="$sec" --release="$rel" --center="$center" \
236                 $pod > $manpage;
237         echo "$manpage";
238 done
239 cd ..
240
241 sec=3
242 for dir in ssl crypto; do
243         cd $dir || exit 1;
244         if [ $dir = "ssl" ]; then
245                 rel="OpenSSL SSL/TLS library"
246         elif [ $dir = "crypto" ]; then
247                 rel="OpenSSL cryptographic library"
248         fi
249
250         perl -p -i -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
251
252         for pod in *.pod; do
253                 sec=`[ "$pod" = "des_modes.pod" ] && echo 7 || echo 3`;
254                 mv -f $pod openssl_$pod;
255                 pod=openssl_$pod;
256                 manpage=`basename $pod .pod`.$sec;
257                 pod2man --section="$sec" --release="$rel" --center=" " $pod > $manpage;
258                 echo "$manpage";
259         done
260         cd ..
261 done
262
263 #cd perl
264 #perl Makefile.PL
265 #make
266
267 %install
268 rm -rf $RPM_BUILD_ROOT
269 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
270         $RPM_BUILD_ROOT{%{_mandir}/man{1,3,5,7},%{_datadir}/ssl}
271
272 %{__make} install \
273         INSTALLTOP=%{_prefix} \
274         INSTALL_PREFIX=$RPM_BUILD_ROOT
275
276 install %{SOURCE1}  $RPM_BUILD_ROOT%{_datadir}/ssl/ca-bundle.crt
277 install libRSAglue.a libcrypto.a libssl.a $RPM_BUILD_ROOT%{_libdir}
278 install lib*.so.*.* $RPM_BUILD_ROOT%{_libdir}
279 ln -sf libcrypto.so.*.* $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
280 ln -sf libssl.so.*.* $RPM_BUILD_ROOT%{_libdir}/libssl.so
281
282 mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/openssl.cnf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
283 ln -s %{_sysconfdir}/%{name}/openssl.cnf \
284         $RPM_BUILD_ROOT%{_var}/lib/%{name}/%{name}.cnf
285
286 mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
287 rm -rf $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc
288
289 mv -f $RPM_BUILD_ROOT%{_bindir}/c_rehash $RPM_BUILD_ROOT%{_libdir}/%{name}
290
291 find $RPM_BUILD_ROOT%{_mandir} -type f | xargs rm -f
292 install doc/apps/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
293 install doc/apps/*.5 $RPM_BUILD_ROOT%{_mandir}/man5
294 install doc/ssl/*.3 doc/crypto/*.3 $RPM_BUILD_ROOT%{_mandir}/man3
295 install doc/crypto/*.7 $RPM_BUILD_ROOT%{_mandir}/man7
296
297 %clean
298 rm -rf $RPM_BUILD_ROOT
299
300 %post   -p /sbin/ldconfig
301 %postun -p /sbin/ldconfig
302
303 %files
304 %defattr(644,root,root,755)
305 %attr(755,root,root) %{_libdir}/lib*.so.*.*
306 %doc CHANGES CHANGES.SSLeay LICENSE NEWS README doc/*.txt
307 %doc doc/openssl_button.gif doc/openssl_button.html
308
309 %files tools
310 %defattr(644,root,root,755)
311 %dir %{_sysconfdir}/%{name}
312 %dir %{_var}/lib/%{name}
313 %dir %{_var}/lib/%{name}/private
314 %dir %{_var}/lib/%{name}/certs
315
316 %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/%{name}/openssl.cnf
317 %verify(not md5 size mtime) %config(noreplace) %{_var}/lib/%{name}/openssl.cnf
318 %dir %{_datadir}/ssl
319 %verify(not md5 size mtime) %config(noreplace)%{_datadir}/ssl/ca-bundle.crt
320
321 %attr(755,root,root) %{_bindir}/%{name}
322 %dir %{_libdir}/%{name}
323 %attr(755,root,root) %{_libdir}/%{name}/CA.sh
324 %attr(755,root,root) %{_libdir}/%{name}/c_hash
325 %attr(755,root,root) %{_libdir}/%{name}/c_info
326 %attr(755,root,root) %{_libdir}/%{name}/c_issuer
327 %attr(755,root,root) %{_libdir}/%{name}/c_name
328
329 %{_mandir}/man1/openssl.1*
330 %{_mandir}/man1/openssl_asn1parse.1*
331 %{_mandir}/man1/openssl_ca.1*
332 %{_mandir}/man1/openssl_ciphers.1*
333 %{_mandir}/man1/openssl_crl.1*
334 %{_mandir}/man1/openssl_crl2pkcs7.1*
335 %{_mandir}/man1/openssl_dgst.1*
336 %{_mandir}/man1/openssl_dhparam.1*
337 %{_mandir}/man1/openssl_dsa.1*
338 %{_mandir}/man1/openssl_dsaparam.1*
339 %{_mandir}/man1/openssl_enc.1*
340 %{_mandir}/man1/openssl_gendsa.1*
341 %{_mandir}/man1/openssl_genrsa.1*
342 %{_mandir}/man1/openssl_nseq.1*
343 %{_mandir}/man1/openssl_passwd.1*
344 %{_mandir}/man1/openssl_pkcs12.1*
345 %{_mandir}/man1/openssl_pkcs7.1*
346 %{_mandir}/man1/openssl_pkcs8.1*
347 %{_mandir}/man1/openssl_rand.1*
348 %{_mandir}/man1/openssl_req.1*
349 %{_mandir}/man1/openssl_rsa.1*
350 %{_mandir}/man1/openssl_rsautl.1*
351 %{_mandir}/man1/openssl_s_client.1*
352 %{_mandir}/man1/openssl_s_server.1*
353 %{_mandir}/man1/openssl_sess_id.1*
354 %{_mandir}/man1/openssl_smime.1*
355 %{_mandir}/man1/openssl_speed.1*
356 %{_mandir}/man1/openssl_spkac.1*
357 %{_mandir}/man1/openssl_verify.1*
358 %{_mandir}/man1/openssl_version.1*
359 %{_mandir}/man1/openssl_x509.1*
360 %{_mandir}/man5/*.5*
361
362 %files tools-perl
363 %defattr(644,root,root,755)
364 %attr(755,root,root) %{_libdir}/%{name}/CA.pl
365 %attr(755,root,root) %{_libdir}/%{name}/der_chop
366 %attr(755,root,root) %{_libdir}/%{name}/c_rehash
367 %{_mandir}/man1/openssl_CA.pl.1*
368
369 %files devel
370 %defattr(644,root,root,755)
371 %attr(755,root,root) %{_libdir}/lib*.so
372 %{_includedir}/%{name}
373 %{_mandir}/man3/*.3*
374 %{_mandir}/man7/*.7*
375
376 %files static
377 %defattr(644,root,root,755)
378 %{_libdir}/lib*.a
This page took 0.115474 seconds and 3 git commands to generate.