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