]> git.pld-linux.org Git - packages/openssl.git/blob - openssl.spec
use patch1
[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(fr):    Utilitaires de communication SSL (Secure Sockets Layer)
5 Name:           openssl
6 Version:        0.9.6a
7 Release:        1
8 Group:          Libraries
9 Group(de):      Libraries
10 Group(fr):      Librairies
11 Group(pl):      Biblioteki
12 Source0:        ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
13 Patch0:         %{name}-alpha-ccc.patch
14 # patch1 is only for 0.9.6a version. This version isn't binary
15 # compatibile with 0.9.6 but have this same soname.
16 Patch1:         %{name}-soname.patch
17 Vendor:         The OpenSSL Project
18 License:        Apache-style License
19 BuildRequires:  perl
20 BuildRequires:  textutils
21 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
22 Obsoletes:      SSLeay
23 Obsoletes:      SSLeay-devel
24 Obsoletes:      SSLeay-perl
25
26 %description
27 The OpenSSL Project is a collaborative effort to develop a robust,
28 commercial-grade, full-featured, and Open Source toolkit implementing
29 the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
30 v1) protocols with full-strength cryptography world-wide. The project
31 is managed by a worldwide community of volunteers that use the
32 Internet to communicate, plan, and develop the OpenSSL tookit and its
33 related documentation.
34
35 OpenSSL is based on the excellent SSLeay library developed by Eric A.
36 Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an
37 Apache-style licence, which basically means that you are free to get
38 and use it for commercial and non-commercial purposes subject to some
39 simple license conditions.
40
41 This package contains shared libraries only, install openssl-tools if
42 you want to use openssl cmdline tool.
43
44 %description -l de
45 Openssl enthält das OpenSSL Zertifikatsmanagementtool und shared
46 libraries, die verschiedene Verschlüsselungs- und
47 Entschlüsselungsalgorithmen und
48 - -protokolle, wie DES, RC4, RSA und SSL zur Verfügung stellen.
49
50 %description -l fr
51 OpenSSL est un outiil de gestion des certificats et les librairies
52 partagees qui fournit plusieurs protocoles et algorithmes de
53 codage/decodage, incluant DES, RC4, RSA et SSL.
54
55 %package tools
56 Summary:        OpenSSL command line tool and utilities
57 Group:          Applications/Communications
58 Group(de):      Applikationen/Kommunikation
59 Group(pl):      Aplikacje/Komunikacja
60 Requires:       %{name} = %{version}
61
62 %description tools
63 The OpenSSL Toolkit cmdline tool openssl and utility scripts.
64
65 %package tools-perl
66 Summary:        OpenSSL utilities written in Perl
67 Group:          Applications/Communications
68 Group(de):      Applikationen/Kommunikation
69 Group(fr):      Utilitaires
70 Group(pl):      Aplikacje/Komunikacja
71 Requires:       %{name} = %{version}
72
73 %description tools-perl
74 OpenSSL Toolkit tools written in Perl.
75
76 %package devel
77 Summary:        Development part of OpenSSL Toolkit libraries
78 Summary(de):    Secure Sockets Layer Kommunikationslibrary: statische libraries+header
79 Summary(fr):    Librairies statiques, headers et utilitaires pour communication SSL
80 Summary(pl):    Czê¶æ bibiloteki OpenSSL przeznaczona dla programistów
81 Group:          Development/Libraries
82 Group(de):      Entwicklung/Libraries
83 Group(fr):      Development/Librairies
84 Group(pl):      Programowanie/Biblioteki
85 Requires:       %{name} = %{version}
86
87 %description devel
88 Development part of OpenSSL library.
89
90 %description devel -l pl
91 Czê¶æ bibiloteki OpenSSL przeznaczona dla programistów.
92
93 %package static
94 Summary:        Static OpenSSL libraries
95 Summary(pl):    Statyczne wersje bibliotek z OpenSSL
96 Group:          Development/Libraries
97 Group(de):      Entwicklung/Libraries
98 Group(fr):      Development/Librairies
99 Group(pl):      Programowanie/Biblioteki
100 Requires:       %{name}-devel = %{version}
101
102 %description static
103 Static OpenSSL Toolkit libraries.
104
105 %description static -l pl
106 Statyczne wersje bibliotek z OpenSSL.
107
108 %prep
109 %setup -q 
110 %patch0 -p1
111 %patch1 -p1
112
113 %build
114 for f in ` grep -r "/usr/local/bin/perl" . | cut -d":" -f1`; do
115         perl -pi -e 's#/usr/local/bin/perl#%{_bindir}/perl#g' $f
116 done
117
118 for i in Configure Makefile.org ; do
119         perl -pi -e 's#-m486##g' $i
120         perl -pi -e 's#-O3 -fomit-frame-pointer#%{optflags}#g' $i
121         perl -pi -e 's#-mcpu=ultrasparc#%{optflags}#g' $i
122 done
123 touch Makefile.*
124
125 perl util/perlpath.pl %{_bindir}/perl
126
127 %ifarch i386 i486
128 ./Configure --openssldir=%{_var}/lib/%{name} linux-elf shared 386
129 %endif
130 %ifarch i586 i686
131 ./Configure --openssldir=%{_var}/lib/%{name} linux-elf shared
132 %endif
133 %ifarch ppc
134 ./Configure --openssldir=%{_var}/lib/%{name} linux-ppc shared
135 %endif
136 %ifarch alpha
137 ./Configure --openssldir=%{_var}/lib/%{name} threads linux-alpha+bwx-gcc
138 %endif
139
140 %{__make} OPT_FLAGS="%{rpmcflags} -DSSL_ALLOW_DH"
141 %{__make} INSTALLTOP=%{_prefix} \
142         OPT_FLAGS="%{rpmcflags}"
143 %ifarch alpha
144 %{__make} linux-shared
145 %endif
146 %{__make} rehash
147
148 # Conv PODs to man pages. "openssl_" prefix is added to each manpage 
149 # to avoid potential conflicts with others packages.
150 center="OpenSSL 0.9.6"
151 rel="OpenSSL 0.9.6"
152
153 cd doc/apps || exit 1 
154 perl -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
155
156 for pod in *.pod; do 
157     if [ $pod != "openssl.pod" ]; then
158         mv -f $pod openssl_$pod;
159         pod=openssl_$pod;
160     fi
161
162     sec=1
163     if [ $pod = "openssl_config.pod" ]; then
164         sec=5
165     fi
166
167     manpage=`basename $pod .pod`.$sec;      
168     pod2man --section="$sec" --release="$rel" --center="$center" \
169             $pod > $manpage;
170     echo "$manpage";
171 done
172 cd ..
173
174 sec=3
175 for dir in ssl crypto; do 
176         cd $dir || exit 1;
177         if [ $dir = "ssl" ]; then
178                 rel="OpenSSL SSL/TLS library"
179         elif [ $dir = "crypto" ]; then 
180                 rel="OpenSSL cryptographic library"
181         fi
182         
183         perl -p -i -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
184         
185         for pod in *.pod; do 
186             sec=`[ "$pod" = "des_modes.pod" ] && echo 7 || echo 3`;     
187             mv -f $pod openssl_$pod;
188             pod=openssl_$pod;
189             manpage=`basename $pod .pod`.$sec;
190             pod2man --section="$sec" --release="$rel" --center=" " $pod > $manpage;
191             echo "$manpage";
192         done
193         cd ..
194 done
195
196 #cd perl
197 #perl Makefile.PL
198 #make
199
200 %install
201 rm -rf $RPM_BUILD_ROOT
202 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
203            $RPM_BUILD_ROOT%{_mandir}/man{1,3,5,7}
204
205 %{__make} install \
206         INSTALLTOP=%{_prefix} \
207         INSTALL_PREFIX=$RPM_BUILD_ROOT
208
209 install libRSAglue.a libcrypto.a libssl.a       $RPM_BUILD_ROOT%{_libdir}
210 install lib*.so.*.*     $RPM_BUILD_ROOT%{_libdir}
211 ln -sf libcrypto.so.*.* $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
212 ln -sf libssl.so.*.* $RPM_BUILD_ROOT%{_libdir}/libssl.so
213
214 #cd perl
215 #make install DESTDIR=$RPM_BUILD_ROOT
216 #cd ..
217
218 mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/openssl.cnf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
219 ln -s ../../../%{_sysconfdir}/%{name}/openssl.cnf \
220         $RPM_BUILD_ROOT%{_var}/lib/%{name}/%{name}.cnf
221
222 mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc/*  $RPM_BUILD_ROOT%{_libdir}/%{name}
223 rm -rf $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc
224
225 mv -f $RPM_BUILD_ROOT%{_bindir}/c_rehash $RPM_BUILD_ROOT%{_libdir}/%{name}
226
227 find $RPM_BUILD_ROOT%{_mandir} -type f | xargs rm -f
228 install doc/apps/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
229 install doc/apps/*.5 $RPM_BUILD_ROOT%{_mandir}/man5
230 install doc/ssl/*.3 doc/crypto/*.3 $RPM_BUILD_ROOT%{_mandir}/man3
231 install doc/crypto/*.7 $RPM_BUILD_ROOT%{_mandir}/man7
232
233 gzip -9nf CHANGES CHANGES.SSLeay LICENSE NEWS README doc/*.txt
234
235 %post   -p /sbin/ldconfig
236 %postun -p /sbin/ldconfig
237
238 %clean
239 rm -rf $RPM_BUILD_ROOT
240
241 %files
242 %defattr(644,root,root,755)
243 %attr(755,root,root) %{_libdir}/lib*.so.*.*
244 %doc {CHANGES,CHANGES.SSLeay,LICENSE,NEWS,README}.gz
245 %doc doc/*.txt.gz doc/openssl_button.gif doc/openssl_button.html
246
247 %files tools
248 %defattr(644,root,root,755)
249 %dir %{_sysconfdir}/%{name}
250 %dir %{_var}/lib/%{name}
251 %dir %{_var}/lib/%{name}/private
252 %dir %{_var}/lib/%{name}/certs
253 %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/%{name}/openssl.cnf
254 %verify(not md5 size mtime) %config(noreplace) %{_var}/lib/%{name}/openssl.cnf
255
256 %attr(755,root,root) %{_bindir}/%{name}
257 %dir %{_libdir}/%{name}
258 %attr(755,root,root) %{_libdir}/%{name}/CA.sh
259 %attr(755,root,root) %{_libdir}/%{name}/c_hash
260 %attr(755,root,root) %{_libdir}/%{name}/c_info
261 %attr(755,root,root) %{_libdir}/%{name}/c_issuer
262 %attr(755,root,root) %{_libdir}/%{name}/c_name
263
264 %{_mandir}/man1/openssl.1*
265 %{_mandir}/man1/openssl_asn1parse.1*
266 %{_mandir}/man1/openssl_ca.1*
267 %{_mandir}/man1/openssl_ciphers.1*
268 %{_mandir}/man1/openssl_crl.1*
269 %{_mandir}/man1/openssl_crl2pkcs7.1*
270 %{_mandir}/man1/openssl_dgst.1*
271 %{_mandir}/man1/openssl_dhparam.1*
272 %{_mandir}/man1/openssl_dsa.1*
273 %{_mandir}/man1/openssl_dsaparam.1*
274 %{_mandir}/man1/openssl_enc.1*
275 %{_mandir}/man1/openssl_gendsa.1*
276 %{_mandir}/man1/openssl_genrsa.1*
277 %{_mandir}/man1/openssl_nseq.1*
278 %{_mandir}/man1/openssl_passwd.1*
279 %{_mandir}/man1/openssl_pkcs12.1*
280 %{_mandir}/man1/openssl_pkcs7.1*
281 %{_mandir}/man1/openssl_pkcs8.1*
282 %{_mandir}/man1/openssl_rand.1*
283 %{_mandir}/man1/openssl_req.1*
284 %{_mandir}/man1/openssl_rsa.1*
285 %{_mandir}/man1/openssl_s_client.1*
286 %{_mandir}/man1/openssl_s_server.1*
287 %{_mandir}/man1/openssl_sess_id.1*
288 %{_mandir}/man1/openssl_smime.1*
289 %{_mandir}/man1/openssl_speed.1*
290 %{_mandir}/man1/openssl_spkac.1*
291 %{_mandir}/man1/openssl_verify.1*
292 %{_mandir}/man1/openssl_version.1*
293 %{_mandir}/man1/openssl_x509.1*
294 %{_mandir}/man5/*.5*
295
296 %files tools-perl
297 %defattr(644,root,root,755)
298 %attr(755,root,root) %{_libdir}/%{name}/CA.pl
299 %attr(755,root,root) %{_libdir}/%{name}/der_chop
300 %attr(755,root,root) %{_libdir}/%{name}/c_rehash
301 %{_mandir}/man1/openssl_CA.pl.1*
302
303 %files devel
304 %defattr(644,root,root,755)
305 %attr(755,root,root) %{_libdir}/lib*.so
306 %{_includedir}/%{name}
307 %{_mandir}/man3/*.3*
308
309 %files static
310 %defattr(644,root,root,755)
311 %{_libdir}/lib*.a
This page took 0.087095 seconds and 4 git commands to generate.