| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- ##
- ## openssl.spec -- OpenPKG RPM Package Specification
- ## Copyright (c) 2000-2012 OpenPKG Foundation e.V. <http://openpkg.net/>
- ##
- ## Permission to use, copy, modify, and distribute this software for
- ## any purpose with or without fee is hereby granted, provided that
- ## the above copyright notice and this permission notice appear in all
- ## copies.
- ##
- ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
- ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- ## SUCH DAMAGE.
- ##
- # package version
- %define V_openssl 1.0.0g
- %define V_zlib 1.2.6
- # package information
- Name: openssl
- Summary: Cryptography and SSL/TLS Toolkit
- URL: http://www.openssl.org/
- Vendor: The OpenSSL Project
- Packager: OpenPKG Foundation e.V.
- Distribution: OpenPKG Community
- Class: CORE
- Group: SSL
- License: BSD-style
- Version: %{V_openssl}
- Release: 20120130
- # package options
- %option with_zlib no
- %option with_idea no
- %option with_threads no
- %option with_pic no
- %option with_npn no
- # list of sources
- Source0: ftp://ftp.openssl.org/source/openssl-%{V_openssl}.tar.gz
- Source1: http://www.zlib.net/zlib-%{V_zlib}.tar.gz
- Patch0: openssl.patch
- Patch1: openssl.patch.npn
- # build information
- BuildPreReq: OpenPKG, openpkg >= 20100101, perl, make, gcc
- PreReq: OpenPKG, openpkg >= 20100101, perl
- %if "%{with_zlib}" == "yes"
- BuildPreReq: zlib
- PreReq: zlib
- %endif
- %description
- The OpenSSL Project is a collaborative effort to develop a robust,
- commercial-grade, full-featured, and Open Source toolkit implementing the
- Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1)
- protocols with full-strength cryptography world-wide. The project is
- managed by a worldwide community of volunteers that use the Internet to
- communicate, plan, and develop the OpenSSL tookit and its related
- documentation.
- %track
- prog openssl:openssl = {
- version = %{V_openssl}
- url = ftp://ftp.openssl.org/source/
- regex = openssl-(\d+\.\d+\.\d+[a-z]?)\.tar\.gz
- }
- prog openssl:zlib = {
- version = %{V_zlib}
- url = http://www.zlib.net/
- regex = zlib-(__VER__)\.tar\.gz
- }
- %prep
- %setup -q
- %if "%{with_zlib}" == "yes"
- %setup -q -D -T -a 1
- %endif
- %patch -p0
- %if "%{with_npn}" == "yes"
- %patch -p0 -P 1
- %endif
- %build
- %{l_shtool} subst \
- -e 's;-march=pentium;;g' \
- -e 's;-m486;-march=i486;g' \
- Configure
- %{l_shtool} subst \
- -e 's;BN_LLONG *;;' \
- Configure
- %{l_shtool} subst \
- -e 's;test "$OSTYPE" = msdosdjgpp;true;' \
- util/point.sh
- %{l_shtool} subst \
- -e 's;^\(#define DEVRANDOM_EGD\);\1 "%{l_prefix}/var/prngd/prngd.socket",;' \
- e_os.h
- %{l_shtool} subst \
- -e 's;^\(my $openssl\)\;;\1 = "%{l_prefix}/bin/openssl"\;;' \
- tools/c_rehash.in
- %if "%{with_zlib}" == "yes"
- %{l_shtool} subst \
- -e "s;\\(-DZLIB_SHARED\\);-I`pwd`/zlib-%{V_zlib} \\1;" \
- Configure
- %{l_shtool} subst \
- -e 's;, "z",;, "%{l_prefix}/lib/openssl/zlib.so",;' \
- crypto/comp/c_zlib.c
- %endif
- %if "%{with_zlib}" == "yes"
- ( cd zlib-%{V_zlib}
- CC="%{l_cc}" \
- CFLAGS="%{l_cflags -O}" \
- ./configure \
- --prefix=%{l_prefix} \
- --shared
- %{l_make} %{l_mflags -O}
- ) || exit $?
- %endif
- %{l_prefix}/bin/perl util/perlpath.pl %{l_prefix}/bin/perl
- options="no-shared no-dso"
- %if "%{with_pic}" == "yes"
- options="$options -fPIC"
- case "%{l_platform -t}" in
- amd64-* ) options="$options no-asm" ;;
- sparc64-freebsd* ) options="$options no-asm" ;;
- esac
- %else
- case "%{l_platform -t}" in
- amd64-* ) options="$options -fPIC no-asm" ;;
- ia64-* ) options="$options -fPIC" ;;
- sparc64-freebsd* ) options="$options -fPIC no-asm" ;;
- esac
- %endif
- %if "%{with_zlib}" == "yes"
- options="$options zlib-dynamic"
- %else
- options="$options no-zlib"
- %endif
- %if "%{with_idea}" != "yes"
- options="$options no-idea"
- %endif
- %if "%{with_threads}" == "yes"
- options="$options threads"
- %else
- options="$options no-threads"
- %endif
- PERL=%{l_prefix}/bin/perl \
- ./config \
- --prefix=%{l_prefix} \
- --openssldir=%{l_prefix}/etc/openssl \
- --libdir=lib \
- $options
- %{l_make} %{l_mflags}
- %install
- %{l_make} %{l_mflags} install INSTALL_PREFIX=$RPM_BUILD_ROOT
- strip $RPM_BUILD_ROOT%{l_prefix}/bin/openssl >/dev/null 2>&1 || true
- ( cd $RPM_BUILD_ROOT%{l_prefix}
- rmdir lib/engines
- rm -rf etc/openssl/private
- rm -rf etc/openssl/certs
- rm -rf etc/openssl/misc
- rm -rf etc/openssl/lib
- mv etc/openssl/man man
- mv bin/c_rehash bin/openssl-crehash
- cd man
- for dir in man[1-9]; do
- for file in `cd $dir; echo *`; do
- mv $dir/$file $dir/openssl_$file
- done
- done
- ) || exit $?
- %if "%{with_zlib}" == "yes"
- %{l_shtool} mkdir -f -p -m 755 \
- $RPM_BUILD_ROOT%{l_prefix}/libexec/openssl
- %{l_shtool} install -c -m 644 \
- zlib-%{V_zlib}/libz.so \
- $RPM_BUILD_ROOT%{l_prefix}/libexec/openssl/zlib.so
- %endif
- %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
- %{l_files_std} \
- '%config %{l_prefix}/etc/openssl/openssl.cnf'
- %files -f files
- %clean
|