3f7192b89cd20a1be1ea718a78b9a9b11661c6ea
[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.7c
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:  c54fb36218adaaaba01ef733cd88c8ec
17 Source1:        %{name}-ca-bundle.crt
18 Source2:        %{name}.1.pl
19 Patch0:         %{name}-alpha-ccc.patch
20 Patch1:         %{name}-optflags.patch
21 Patch2:         %{name}-globalCA.diff
22 Patch3:         %{name}-parallel_make.patch
23 Patch4:         %{name}-include.patch
24 URL:            http://www.openssl.org/
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#%{__perl}#g' $f
188 done
189
190 touch Makefile.*
191
192 %{__perl} util/perlpath.pl %{__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} \
213         CC="%{__cc}" \
214         INSTALLTOP=%{_prefix}
215
216 %{__make} rehash \
217         CC="%{__cc}" \
218         INSTALLTOP=%{_prefix}
219
220 # Conv PODs to man pages. "openssl_" prefix is added to each manpage
221 # to avoid potential conflicts with others packages.
222 center="OpenSSL 0.9.7"
223 rel="OpenSSL 0.9.7"
224
225 cd doc/apps || exit 1
226 %{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
227
228 for pod in *.pod; do
229         if [ $pod != "openssl.pod" ]; then
230                 mv -f $pod openssl_$pod;
231                 pod=openssl_$pod;
232         fi
233
234         sec=1
235         if [ $pod = "openssl_config.pod" ]; then
236                 sec=5
237         fi
238
239         manpage=`basename $pod .pod`.$sec;
240         pod2man --section="$sec" --release="$rel" --center="$center" \
241                 $pod > $manpage;
242         echo "$manpage";
243 done
244 cd ..
245
246 sec=3
247 for dir in ssl crypto; do
248         cd $dir || exit 1;
249         if [ $dir = "ssl" ]; then
250                 rel="OpenSSL SSL/TLS library"
251         elif [ $dir = "crypto" ]; then
252                 rel="OpenSSL cryptographic library"
253         fi
254
255         %{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
256
257         for pod in *.pod; do
258                 sec=`[ "$pod" = "des_modes.pod" ] && echo 7 || echo 3`;
259                 mv -f $pod openssl_$pod;
260                 pod=openssl_$pod;
261                 manpage=`basename $pod .pod`.$sec;
262                 pod2man --section="$sec" --release="$rel" --center=" " $pod > $manpage;
263                 echo "$manpage";
264         done
265         cd ..
266 done
267
268 #cd perl
269 #%%{__perl} Makefile.PL \
270 #       INSTALLDIRS=vendor
271 #make
272
273 %install
274 rm -rf $RPM_BUILD_ROOT
275 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
276         $RPM_BUILD_ROOT{%{_mandir}/{pl/man1,man{1,3,5,7}},%{_datadir}/ssl}
277
278 %{__make} install \
279         INSTALLTOP=%{_prefix} \
280         INSTALL_PREFIX=$RPM_BUILD_ROOT \
281         MANDIR=%{_mandir}
282
283 install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/ssl/ca-bundle.crt
284 install libcrypto.a libssl.a $RPM_BUILD_ROOT%{_libdir}
285 install lib*.so.*.* $RPM_BUILD_ROOT%{_libdir}
286 ln -sf libcrypto.so.*.* $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
287 ln -sf libssl.so.*.* $RPM_BUILD_ROOT%{_libdir}/libssl.so
288
289 mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/openssl.cnf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
290 ln -s %{_sysconfdir}/%{name}/openssl.cnf \
291         $RPM_BUILD_ROOT%{_var}/lib/%{name}/%{name}.cnf
292
293 mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
294 rm -rf $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc
295
296 mv -f $RPM_BUILD_ROOT%{_bindir}/c_rehash $RPM_BUILD_ROOT%{_libdir}/%{name}
297
298 find $RPM_BUILD_ROOT%{_mandir} -type f | xargs rm -f
299 install doc/apps/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
300 install doc/apps/*.5 $RPM_BUILD_ROOT%{_mandir}/man5
301 install doc/ssl/*.3 doc/crypto/*.3 $RPM_BUILD_ROOT%{_mandir}/man3
302 install doc/crypto/*.7 $RPM_BUILD_ROOT%{_mandir}/man7
303 install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1
304
305 %clean
306 rm -rf $RPM_BUILD_ROOT
307
308 %post   -p /sbin/ldconfig
309 %postun -p /sbin/ldconfig
310
311 %files
312 %defattr(644,root,root,755)
313 %attr(755,root,root) %{_libdir}/lib*.so.*.*
314 %doc CHANGES CHANGES.SSLeay LICENSE NEWS README doc/*.txt
315 %doc doc/openssl_button.gif doc/openssl_button.html
316
317 %files tools
318 %defattr(644,root,root,755)
319 %dir %{_sysconfdir}/%{name}
320 %dir %{_var}/lib/%{name}
321 %dir %{_var}/lib/%{name}/private
322 %dir %{_var}/lib/%{name}/certs
323
324 %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/%{name}/openssl.cnf
325 %verify(not md5 size mtime) %config(noreplace) %{_var}/lib/%{name}/openssl.cnf
326 %dir %{_datadir}/ssl
327 %verify(not md5 size mtime) %config(noreplace)%{_datadir}/ssl/ca-bundle.crt
328
329 %attr(755,root,root) %{_bindir}/%{name}
330 %dir %{_libdir}/%{name}
331 %attr(755,root,root) %{_libdir}/%{name}/CA.sh
332 %attr(755,root,root) %{_libdir}/%{name}/c_hash
333 %attr(755,root,root) %{_libdir}/%{name}/c_info
334 %attr(755,root,root) %{_libdir}/%{name}/c_issuer
335 %attr(755,root,root) %{_libdir}/%{name}/c_name
336
337 %{_mandir}/man1/openssl.1*
338 %{_mandir}/man1/openssl_asn1parse.1*
339 %{_mandir}/man1/openssl_ca.1*
340 %{_mandir}/man1/openssl_ciphers.1*
341 %{_mandir}/man1/openssl_crl.1*
342 %{_mandir}/man1/openssl_crl2pkcs7.1*
343 %{_mandir}/man1/openssl_dgst.1*
344 %{_mandir}/man1/openssl_dhparam.1*
345 %{_mandir}/man1/openssl_dsa.1*
346 %{_mandir}/man1/openssl_dsaparam.1*
347 %{_mandir}/man1/openssl_enc.1*
348 %{_mandir}/man1/openssl_gendsa.1*
349 %{_mandir}/man1/openssl_genrsa.1*
350 %{_mandir}/man1/openssl_nseq.1*
351 %{_mandir}/man1/openssl_ocsp.1*
352 %{_mandir}/man1/openssl_passwd.1*
353 %{_mandir}/man1/openssl_pkcs12.1*
354 %{_mandir}/man1/openssl_pkcs7.1*
355 %{_mandir}/man1/openssl_pkcs8.1*
356 %{_mandir}/man1/openssl_rand.1*
357 %{_mandir}/man1/openssl_req.1*
358 %{_mandir}/man1/openssl_rsa.1*
359 %{_mandir}/man1/openssl_rsautl.1*
360 %{_mandir}/man1/openssl_s_client.1*
361 %{_mandir}/man1/openssl_s_server.1*
362 %{_mandir}/man1/openssl_sess_id.1*
363 %{_mandir}/man1/openssl_smime.1*
364 %{_mandir}/man1/openssl_speed.1*
365 %{_mandir}/man1/openssl_spkac.1*
366 %{_mandir}/man1/openssl_verify.1*
367 %{_mandir}/man1/openssl_version.1*
368 %{_mandir}/man1/openssl_x509.1*
369 %{_mandir}/man5/*.5*
370 %lang(pl) %{_mandir}/pl/man1/openssl.1*
371
372 %files tools-perl
373 %defattr(644,root,root,755)
374 %attr(755,root,root) %{_libdir}/%{name}/CA.pl
375 %attr(755,root,root) %{_libdir}/%{name}/der_chop
376 %attr(755,root,root) %{_libdir}/%{name}/c_rehash
377 %{_mandir}/man1/openssl_CA.pl.1*
378
379 %files devel
380 %defattr(644,root,root,755)
381 %attr(755,root,root) %{_libdir}/lib*.so
382 %{_includedir}/%{name}
383 %{_libdir}/pkgconfig/openssl.pc
384 %{_mandir}/man3/openssl*.3*
385 %{_mandir}/man7/*.7*
386
387 %files static
388 %defattr(644,root,root,755)
389 %{_libdir}/lib*.a
This page took 0.157268 seconds and 2 git commands to generate.