For a long time, I've wanted to be able to easily run one or a few
[oweals/openssl.git] / openssl.spec
1 %define libmaj 0
2 %define libmin 9
3 %define librel 6
4 #%define librev 
5 Release: 2
6
7 %define openssldir /var/ssl
8
9 Summary: Secure Sockets Layer and cryptography libraries and tools
10 Name: openssl
11 Version: %{libmaj}.%{libmin}.%{librel}
12 #Version: %{libmaj}.%{libmin}.%{librel}%{librev}
13 Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
14 Copyright: Freely distributable
15 Group: System Environment/Libraries
16 Provides: SSL
17 URL: http://www.openssl.org/
18 Packager: Damien Miller <djm@mindrot.org>
19 BuildRoot:   /var/tmp/%{name}-%{version}-root
20
21 %description
22 The OpenSSL Project is a collaborative effort to develop a robust,
23 commercial-grade, fully featured, and Open Source toolkit implementing the
24 Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1)
25 protocols as well as a full-strength general purpose cryptography library.
26 The project is managed by a worldwide community of volunteers that use the
27 Internet to communicate, plan, and develop the OpenSSL tookit and its related
28 documentation. 
29
30 OpenSSL is based on the excellent SSLeay library developed from Eric A.
31 Young and Tim J. Hudson.  The OpenSSL toolkit is licensed under an
32 Apache-style licence, which basically means that you are free to get and
33 use it for commercial and non-commercial purposes. 
34
35 This package contains the base OpenSSL cryptography and SSL/TLS 
36 libraries and tools.
37
38 %package devel
39 Summary: Secure Sockets Layer and cryptography static libraries and headers
40 Group: Development/Libraries
41 Requires: openssl
42 %description devel
43 The OpenSSL Project is a collaborative effort to develop a robust,
44 commercial-grade, fully featured, and Open Source toolkit implementing the
45 Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1)
46 protocols as well as a full-strength general purpose cryptography library.
47 The project is managed by a worldwide community of volunteers that use the
48 Internet to communicate, plan, and develop the OpenSSL tookit and its related
49 documentation. 
50
51 OpenSSL is based on the excellent SSLeay library developed from Eric A.
52 Young and Tim J. Hudson.  The OpenSSL toolkit is licensed under an
53 Apache-style licence, which basically means that you are free to get and
54 use it for commercial and non-commercial purposes. 
55
56 This package contains the the OpenSSL cryptography and SSL/TLS 
57 static libraries and header files required when developing applications.
58
59 %package doc
60 Summary: OpenSSL miscellaneous files
61 Group: Documentation
62 Requires: openssl
63 %description doc
64 The OpenSSL Project is a collaborative effort to develop a robust,
65 commercial-grade, fully featured, and Open Source toolkit implementing the
66 Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1)
67 protocols as well as a full-strength general purpose cryptography library.
68 The project is managed by a worldwide community of volunteers that use the
69 Internet to communicate, plan, and develop the OpenSSL tookit and its related
70 documentation. 
71
72 OpenSSL is based on the excellent SSLeay library developed from Eric A.
73 Young and Tim J. Hudson.  The OpenSSL toolkit is licensed under an
74 Apache-style licence, which basically means that you are free to get and
75 use it for commercial and non-commercial purposes. 
76
77 This package contains the the OpenSSL cryptography and SSL/TLS extra
78 documentation and POD files from which the man pages were produced.
79
80 %prep
81
82 %setup -q
83
84 %build 
85
86 %define CONFIG_FLAGS -DSSL_ALLOW_ADH --prefix=/usr 
87
88 perl util/perlpath.pl /usr/bin/perl
89
90 %ifarch i386 i486 i586 i686
91 ./Configure %{CONFIG_FLAGS} --openssldir=%{openssldir} linux-elf shared
92 %endif
93 %ifarch ppc
94 ./Configure %{CONFIG_FLAGS} --openssldir=%{openssldir} linux-ppc shared
95 %endif
96 %ifarch alpha
97 ./Configure %{CONFIG_FLAGS} --openssldir=%{openssldir} linux-alpha-gcc shared
98 %endif
99 LD_LIBRARY_PATH=`pwd` make
100 LD_LIBRARY_PATH=`pwd` make rehash
101 LD_LIBRARY_PATH=`pwd` make test
102
103 %install
104 rm -rf $RPM_BUILD_ROOT
105 make install MANDIR=/usr/man INSTALL_PREFIX="$RPM_BUILD_ROOT"
106
107 # Rename manpages
108 for x in $RPM_BUILD_ROOT/usr/man/man*/* 
109         do mv ${x} ${x}ssl
110 done
111
112 ## Install RSAref stuff
113 #install -m644 rsaref/rsaref.h $RPM_BUILD_ROOT/usr/include/openssl
114 #install -m644 libRSAglue.a $RPM_BUILD_ROOT/usr/lib
115
116 # Make backwards-compatibility symlink to ssleay
117 ln -sf /usr/bin/openssl $RPM_BUILD_ROOT/usr/bin/ssleay
118
119 # Install shared libs
120 install -m644 libcrypto.a $RPM_BUILD_ROOT/usr/lib
121 install -m755 libcrypto.so.%{libmaj}.%{libmin}.%{librel} $RPM_BUILD_ROOT/usr/lib
122 install -m644 libssl.a $RPM_BUILD_ROOT/usr/lib
123 install -m755 libssl.so.%{libmaj}.%{libmin}.%{librel} $RPM_BUILD_ROOT/usr/lib
124 (
125         cd $RPM_BUILD_ROOT/usr/lib
126         ln -sf libcrypto.so.%{libmaj}.%{libmin}.%{librel} libcrypto.so.%{libmaj}
127         ln -sf libcrypto.so.%{libmaj}.%{libmin}.%{librel} libcrypto.so
128         ln -sf libssl.so.%{libmaj}.%{libmin}.%{librel} libssl.so.%{libmaj}
129         ln -sf libssl.so.%{libmaj}.%{libmin}.%{librel} libssl.so
130 )
131
132 %clean
133 rm -rf $RPM_BUILD_ROOT
134
135 %files 
136 %defattr(0644,root,root,0755)
137 %doc CHANGES CHANGES.SSLeay LICENSE NEWS README
138
139 %attr(0755,root,root) /usr/bin/*
140 %attr(0755,root,root) /usr/lib/*.so*
141 %attr(0755,root,root) %{openssldir}/misc/*
142 %attr(0644,root,root) /usr/man/man[157]/*
143
144 %config %attr(0644,root,root) %{openssldir}/openssl.cnf 
145 %dir %attr(0755,root,root) %{openssldir}/certs
146 %dir %attr(0755,root,root) %{openssldir}/lib
147 %dir %attr(0755,root,root) %{openssldir}/misc
148 %dir %attr(0750,root,root) %{openssldir}/private
149
150 %files devel
151 %defattr(0644,root,root,0755)
152 %doc CHANGES CHANGES.SSLeay LICENSE NEWS README
153
154 %attr(0644,root,root) /usr/lib/*.a
155 %attr(0644,root,root) /usr/include/openssl/*
156 %attr(0644,root,root) /usr/man/man[3]/*
157
158 %files doc
159 %defattr(0644,root,root,0755)
160 %doc CHANGES CHANGES.SSLeay LICENSE NEWS README
161 %doc doc
162
163 %post
164 ldconfig
165
166 %postun
167 ldconfig
168
169 %changelog
170 * Sat Oct 21 2000 Horms <horms@vergenet.net>
171 - Make sure symlinks are created by using -f flag to ln.
172   Otherwise some .so libraries are copied rather than
173   linked in the resulting binary RPM. This causes the package
174   to be larger than neccessary and makes ldconfig complain.
175 * Fri Oct 13 2000 Horms <horms@vergenet.net>
176 - Make defattr is set for files in all packages so packages built as
177   non-root will still be installed with files owned by root.
178 * Thu Sep 14 2000 Richard Levitte <richard@levitte.org>
179 - Changed to adapt to the new (supported) way of making shared libraries
180 - Installs all static libraries, not just libRSAglue.a
181 - Extra documents now end up in a separate document package
182 * Sun Feb 27 2000 Damien Miller <djm@mindrot.org>
183 - Merged patches to spec
184 - Updated to 0.9.5beta2 (now with manpages)
185 * Sat Feb  5 2000 Michal Jaegermann <michal@harddata.com>
186 - added 'linux-alpha' to configuration
187 - fixed nasty absolute links
188 * Tue Jan 25 2000 Bennett Todd <bet@rahul.net>
189 - Added -DSSL_ALLOW_ADH, bumped Release to 4
190 * Thu Oct 14 1999 Damien Miller <djm@mindrot.org>
191 - Set default permissions
192 - Removed documentation from devel sub-package
193 * Thu Sep 30 1999 Damien Miller <djm@mindrot.org>
194 - Added "make test" stage
195 - GPG signed
196 * Tue Sep 10 1999 Damien Miller <damien@ibs.com.au>
197 - Updated to version 0.9.4
198 * Tue May 25 1999 Damien Miller <damien@ibs.com.au>
199 - Updated to version 0.9.3
200 - Added attributes for all files
201 - Paramatised openssl directory
202 * Sat Mar 20 1999 Carlo M. Arenas Belon <carenas@jmconsultores.com.pe>
203 - Added "official" bnrec patch and taking other out
204 - making a link from ssleay to openssl binary
205 - putting all changelog together on SPEC file
206 * Fri Mar  5 1999 Henri Gomez <gomez@slib.fr>
207 - Added bnrec patch
208 * Tue Dec 29 1998 Jonathan Ruano <kobalt@james.encomix.es>
209 - minimum spec and patches changes for openssl
210 - modified for openssl sources
211 * Sat Aug  8 1998 Khimenko Victor <khim@sch57.msk.ru>
212 - shared library creating process honours $RPM_OPT_FLAGS
213 - shared libarry supports threads (as well as static library)
214 * Wed Jul 22 1998 Khimenko Victor <khim@sch57.msk.ru>
215 - building of shared library completely reworked
216 * Tue Jul 21 1998 Khimenko Victor <khim@sch57.msk.ru>
217 - RPM is BuildRoot'ed
218 * Tue Feb 10 1998 Khimenko Victor <khim@sch57.msk.ru>
219 - all stuff is moved out of /usr/local