summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGunnar Wrobel <wrobel@pardus.de>2010-04-21 15:01:05 (GMT)
committerGunnar Wrobel <wrobel@pardus.de>2010-04-21 15:01:05 (GMT)
commitfc013bc5bb8207293c4b7ed8d6d9965941823524 (patch)
tree9601a72a6fe9a00f784b860f60a831ea4cdd933f
parent884d17be11a426ccdd82d87f9b6332d243e9c406 (diff)
downloadserver-fc013bc5bb8207293c4b7ed8d6d9965941823524.tar.gz
openssl-1.0.0 derived from the upstream openpkg package but adapted to the openpkg base package <= 20100101. This package requires rebuilding of apache, apache-php, apr, clamav, curl, imap, imapd, openldap, perl-crypto, perl-ssl, php, postfix, sasl.
-rw-r--r--openssl/.cvsignore2
-rw-r--r--openssl/Makefile36
-rw-r--r--openssl/openssl.patch338
-rw-r--r--openssl/openssl.spec185
4 files changed, 561 insertions, 0 deletions
diff --git a/openssl/.cvsignore b/openssl/.cvsignore
new file mode 100644
index 0000000..68787b5
--- /dev/null
+++ b/openssl/.cvsignore
@@ -0,0 +1,2 @@
+*.tgz
+*.src.rpm
diff --git a/openssl/Makefile b/openssl/Makefile
new file mode 100644
index 0000000..e11c158
--- /dev/null
+++ b/openssl/Makefile
@@ -0,0 +1,36 @@
+include ../kolab.mk
+
+NAME = openssl
+PACKAGE = $(NAME)
+VERSION = $(shell grep "^%define.*V_openssl" *.spec | sed -e "s/^%define.*V_openssl\s*\([0-9.]*\).*/\1/")
+ZLIB_VERSION = $(shell grep "^%define.*V_zlib" *.spec | sed -e "s/^%define.*V_zlib\s*\([0-9.]*\).*/\1/")
+RELEASE = $(shell grep "^Release:" *.spec | sed -e "s/^Release:\s*\([0-9]*\).*/\1/")
+KOLABRELEASE = $(RELEASE)
+
+SOURCE_0=ftp://ftp.openssl.org/source/$(NAME)-$(VERSION).tar.gz
+SOURCE_1=http://www.zlib.net/zlib-$(ZLIB_VERSION).tar.gz
+EXTRA=$(NAME).patch
+
+.PHONY: all
+all: $(PACKAGE)-$(VERSION)-$(RELEASE).src.rpm
+
+.PHONY: dist
+dist: all
+ cp $(PACKAGE)-$(VERSION)-$(RELEASE).src.rpm ../stage/
+
+.PHONY: clean
+clean:
+ rm -rf $(KOLABRPMTMP)/$(NAME)*
+ rm -rf $(KOLABRPMTMP)/$(PACKAGE)
+ rm -rf $(PACKAGE)-$(VERSION)-$(RELEASE).src.rpm
+ rm -rf *~
+
+$(PACKAGE)-$(VERSION)-$(RELEASE).src.rpm: Makefile $(PACKAGE).spec $(EXTRA)
+ test -d $(KOLABRPMSRC)/$(PACKAGE) || mkdir $(KOLABRPMSRC)/$(PACKAGE)
+ cd $(KOLABRPMSRC)/$(PACKAGE) && wget -c "$(SOURCE_0)"
+ cd $(KOLABRPMSRC)/$(PACKAGE) && wget -c "$(SOURCE_1)"
+
+ cp $(PACKAGE).spec $(EXTRA) $(KOLABRPMSRC)/$(PACKAGE)
+ cd $(KOLABRPMSRC)/$(PACKAGE) && $(RPM) -ba $(PACKAGE).spec
+
+ cp -p $(KOLABRPMPKG)/$(PACKAGE)-$(VERSION)-$(RELEASE).src.rpm .
diff --git a/openssl/openssl.patch b/openssl/openssl.patch
new file mode 100644
index 0000000..d549a72
--- /dev/null
+++ b/openssl/openssl.patch
@@ -0,0 +1,338 @@
+Index: Configure
+--- Configure.orig 2010-01-19 22:40:54.000000000 +0100
++++ Configure 2010-03-30 09:15:55.000000000 +0200
+@@ -34,6 +34,7 @@
+ # (Default: KRB5_DIR/include)
+ # --with-krb5-flavor Declare what flavor of Kerberos 5 is used. Currently
+ # supported values are "MIT" and "Heimdal". A value is required.
++# --with-cc compiler to use for $CC (useful if cc is a disguised gcc)
+ #
+ # --test-sanity Make a number of sanity checks on the data in this file.
+ # This is a debugging tool for OpenSSL developers.
+@@ -122,6 +123,7 @@
+ #$bits2="THIRTY_TWO_BIT ";
+ my $bits1="THIRTY_TWO_BIT ";
+ my $bits2="SIXTY_FOUR_BIT ";
++my $ccarg;
+
+ my $x86_asm="x86cpuid.o:bn-586.o co-586.o x86-mont.o:des-586.o crypt586.o:aes-586.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o:rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o:cmll-x86.o";
+
+@@ -434,12 +436,12 @@
+
+ #### IBM's AIX.
+ "aix3-cc", "cc:-O -DB_ENDIAN -qmaxmem=16384::(unknown):AIX::BN_LLONG RC4_CHAR:::",
+-"aix-gcc", "gcc:-O -DB_ENDIAN::-pthread:AIX::BN_LLONG RC4_CHAR:${ppc32_asm}:aix32:dlfcn:aix-shared::-shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X32",
+-"aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-pthread:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${ppc64_asm}:aix64:dlfcn:aix-shared::-maix64 -shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X64",
++"aix-gcc", "gcc:-O -DB_ENDIAN::-pthread:AIX::BN_LLONG RC4_CHAR:${ppc32_asm}:aix32:dlfcn:aix-shared::-shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::",
++"aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-pthread:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${ppc64_asm}:aix64:dlfcn:aix-shared::-maix64 -shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::",
+ # Below targets assume AIX 5. Idea is to effectively disregard $OBJECT_MODE
+ # at build time. $OBJECT_MODE is respected at ./config stage!
+-"aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::BN_LLONG RC4_CHAR:${ppc32_asm}:aix32:dlfcn:aix-shared::-q32 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32",
+-"aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${ppc64_asm}:aix64:dlfcn:aix-shared::-q64 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 64",
++"aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::BN_LLONG RC4_CHAR:${ppc32_asm}:aix32:dlfcn:aix-shared::-q32 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::",
++"aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${ppc64_asm}:aix64:dlfcn:aix-shared::-q64 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::",
+
+ #
+ # Cray T90 and similar (SDSC)
+@@ -780,6 +782,10 @@
+ {
+ $strict_warnings = 1;
+ }
++ elsif (/^--with-cc=(.*)$/)
++ {
++ $ccarg=$1
++ }
+ elsif (/^reconfigure/ || /^reconf/)
+ {
+ if (open(IN,"<$Makefile"))
+@@ -1058,7 +1064,7 @@
+ print "IsMK1MF=$IsMK1MF\n";
+
+ my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
+-my $cc = $fields[$idx_cc];
++my $cc = $ccarg ? $ccarg : $fields[$idx_cc];
+ # Allow environment CC to override compiler...
+ if($ENV{CC}) {
+ $cc = $ENV{CC};
+Index: config
+--- config.orig 2010-03-09 18:08:39.000000000 +0100
++++ config 2010-03-30 09:13:58.000000000 +0200
+@@ -277,6 +277,9 @@
+ Power*)
+ echo "ppc-apple-darwin${VERSION}"
+ ;;
++ x86_64 )
++ echo "x86_64-apple-darwin${VERSION}"
++ ;;
+ *)
+ echo "i686-apple-darwin${VERSION}"
+ ;;
+@@ -407,7 +410,7 @@
+ # this is where the translation occurs into SSLeay terms
+ # ---------------------------------------------------------------------------
+
+-GCCVER=`(gcc -dumpversion) 2>/dev/null`
++GCCVER=`(${CC-gcc} -dumpversion 2>/dev/null && exit; gcc -dumpversion 2>/dev/null && exit; cc --version 2>/dev/null | grep GCC >/dev/null && cc -dumpversion )`
+ if [ "$GCCVER" != "" ]; then
+ # then strip off whatever prefix egcs prepends the number with...
+ # Hopefully, this will work for any future prefixes as well.
+@@ -425,8 +428,14 @@
+ # we fallback to whatever cc does on the system
+ if [ "$GCCVER" != "" ]; then
+ CC=gcc
++ SUFFIX=gcc
+ else
+ CC=cc
++ SUFFIX=cc
++ fi
++else
++ if [ "$GCCVER" != "" ]; then
++ SUFFIX=gcc
+ fi
+ fi
+ GCCVER=${GCCVER:-0}
+@@ -436,7 +445,7 @@
+ if [ $GCCVER -ge 30 ]; then
+ # PA64 support only came in with gcc 3.0.x.
+ # We check if the preprocessor symbol __LP64__ is defined...
+- if echo "__LP64__" | gcc -v -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null; then
++ if echo "__LP64__" | $CC -v -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null; then
+ : # __LP64__ has slipped through, it therefore is not defined
+ else
+ GCC_BITS="64"
+@@ -447,13 +456,14 @@
+ if [ $GCCVER -ge 30 ]; then
+ # 64-bit ABI isn't officially supported in gcc 3.0, but it appears
+ # to be working, at the very least 'make test' passes...
+- if gcc -v -E -x c /dev/null 2>&1 | grep __arch64__ > /dev/null; then
++ if $CC -v -E -x c /dev/null 2>&1 | grep __arch64__ > /dev/null; then
+ GCC_ARCH="-m64"
+ else
+ GCC_ARCH="-m32"
+ fi
+ fi
+ # check for WorkShop C, expected output is "cc: blah-blah C x.x"
++ if [ $GCCVER -eq 0 ]; then
+ CCVER=`(cc -V 2>&1) 2>/dev/null | \
+ egrep -e '^cc: .* C [0-9]\.[0-9]' | \
+ sed 's/.* C \([0-9]\)\.\([0-9]\).*/\1\2/'`
+@@ -466,6 +476,7 @@
+ sleep 5
+ fi
+ fi
++ fi
+ fi
+
+ if [ "${SYSTEM}-${MACHINE}" = "Linux-alpha" ]; then
+@@ -483,6 +494,7 @@
+
+ if [ "${SYSTEM}" = "AIX" ]; then # favor vendor cc over gcc
+ (cc) 2>&1 | grep -iv "not found" > /dev/null && CC=cc
++ (gcc) 2>&1 | grep -iv "not found" > /dev/null && CC=gcc
+ fi
+
+ CCVER=${CCVER:-0}
+@@ -508,7 +520,7 @@
+ if [ $CPU -ge 4000 ]; then
+ options="$options -mips2"
+ fi
+- OUT="irix-$CC"
++ OUT="irix-$SUFFIX"
+ ;;
+ mips3-sgi-irix)
+ #CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
+@@ -518,11 +530,11 @@
+ #else
+ # options="$options -mips3"
+ #fi
+- OUT="irix-mips3-$CC"
++ OUT="irix-mips3-$SUFFIX"
+ ;;
+ mips4-sgi-irix64)
+ echo "WARNING! If you wish to build 64-bit library, then you have to"
+- echo " invoke './Configure irix64-mips4-$CC' *manually*."
++ echo " invoke './Configure irix64-mips4-$SUFFIX' *manually*."
+ if [ "$TEST" = "false" -a -t 1 ]; then
+ echo " You have about 5 seconds to press Ctrl-C to abort."
+ (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
+@@ -534,7 +546,7 @@
+ #else
+ # options="$options -mips3"
+ #fi
+- OUT="irix-mips3-$CC"
++ OUT="irix-mips3-$SUFFIX"
+ ;;
+ ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
+ ppc-apple-darwin*)
+@@ -559,13 +571,16 @@
+ fi
+ fi
+ OUT="darwin-i386-cc" ;;
++ x86_64-apple-darwin*)
++ OUT="darwin64-x86_64-cc"
++ ;;
+ alpha-*-linux2)
+ ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo`
+ case ${ISA:-generic} in
+- *[678]) OUT="linux-alpha+bwx-$CC" ;;
+- *) OUT="linux-alpha-$CC" ;;
++ *[678]) OUT="linux-alpha+bwx-$SUFFIX" ;;
++ *) OUT="linux-alpha-$SUFFIX" ;;
+ esac
+- if [ "$CC" = "gcc" ]; then
++ if [ $GCCVER -gt 0 ]; then
+ case ${ISA:-generic} in
+ EV5|EV45) options="$options -mcpu=ev5";;
+ EV56|PCA56) options="$options -mcpu=ev56";;
+@@ -632,7 +647,7 @@
+ s390x-*-linux2) OUT="linux-s390x" ;;
+ x86_64-*-linux?) OUT="linux-x86_64" ;;
+ *86-*-linux2) OUT="linux-elf"
+- if [ "$GCCVER" -gt 28 ]; then
++ if [ $GCCVER -gt 28 ]; then
+ if grep '^model.*Pentium' /proc/cpuinfo >/dev/null ; then
+ options="$options -march=pentium"
+ fi
+@@ -646,17 +661,17 @@
+ *-*-linux1) OUT="linux-aout" ;;
+ *-*-linux2) OUT="linux-generic32" ;;
+ sun4[uv]*-*-solaris2)
+- OUT="solaris-sparcv9-$CC"
++ OUT="solaris-sparcv9-$SUFFIX"
+ ISA64=`(isalist) 2>/dev/null | grep sparcv9`
+ if [ "$ISA64" != "" ]; then
+- if [ "$CC" = "cc" -a $CCVER -ge 50 ]; then
++ if [ $GCCVER -eq 0 -a $CCVER -ge 50 ]; then
+ echo "WARNING! If you wish to build 64-bit library, then you have to"
+ echo " invoke './Configure solaris64-sparcv9-cc' *manually*."
+ if [ "$TEST" = "false" -a -t 1 ]; then
+ echo " You have about 5 seconds to press Ctrl-C to abort."
+ (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
+ fi
+- elif [ "$CC" = "gcc" -a "$GCC_ARCH" = "-m64" ]; then
++ elif [ $GCCVER -gt 0 -a "$GCC_ARCH" = "-m64" ]; then
+ # $GCC_ARCH denotes default ABI chosen by compiler driver
+ # (first one found on the $PATH). I assume that user
+ # expects certain consistency with the rest of his builds
+@@ -679,21 +694,21 @@
+ fi
+ fi
+ ;;
+- sun4m-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
+- sun4d-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
+- sun4*-*-solaris2) OUT="solaris-sparcv7-$CC" ;;
++ sun4m-*-solaris2) OUT="solaris-sparcv8-$SUFFIX" ;;
++ sun4d-*-solaris2) OUT="solaris-sparcv8-$SUFFIX" ;;
++ sun4*-*-solaris2) OUT="solaris-sparcv7-$SUFFIX" ;;
+ *86*-*-solaris2)
+ ISA64=`(isalist) 2>/dev/null | grep amd64`
+- if [ "$ISA64" != "" ]; then
+- OUT="solaris64-x86_64-$CC"
++ if [ "$ISA64" != "" -a $GCCVER -gt 0 -a "$GCC_ARCH" = "-m64" ]; then
++ OUT="solaris64-x86_64-$SUFFIX"
+ else
+- OUT="solaris-x86-$CC"
++ OUT="solaris-x86-$SUFFIX"
+ if [ `uname -r | sed -e 's/5\.//'` -lt 10 ]; then
+ options="$options no-sse2"
+ fi
+ fi
+ ;;
+- *-*-sunos4) OUT="sunos-$CC" ;;
++ *-*-sunos4) OUT="sunos-$SUFFIX" ;;
+
+ *86*-*-bsdi4) OUT="BSD-x86-elf"; options="$options no-sse2 -ldl" ;;
+ alpha*-*-*bsd*) OUT="BSD-generic64"; options="$options -DL_ENDIAN" ;;
+@@ -717,7 +732,7 @@
+ *-*-osf) OUT="osf1-alpha-cc" ;;
+ *-*-tru64) OUT="tru64-alpha-cc" ;;
+ *-*-[Uu]nix[Ww]are7)
+- if [ "$CC" = "gcc" ]; then
++ if [ $GCCVER -gt 0 ]; then
+ OUT="unixware-7-gcc" ; options="$options no-sse2"
+ else
+ OUT="unixware-7" ; options="$options no-sse2 -D__i386__"
+@@ -728,12 +743,12 @@
+ *-*-vos)
+ options="$options no-threads no-shared no-asm no-dso"
+ EXE=".pm"
+- OUT="vos-$CC" ;;
++ OUT="vos-$SUFFIX" ;;
+ BS2000-siemens-sysv4) OUT="BS2000-OSD" ;;
+ RM*-siemens-sysv4) OUT="ReliantUNIX" ;;
+ *-siemens-sysv4) OUT="SINIX" ;;
+ *-hpux1*)
+- if [ $CC = "gcc" -a $GCC_BITS = "64" ]; then
++ if [ $GCCVER -gt 0 -a $GCC_BITS = "64" ]; then
+ OUT="hpux64-parisc2-gcc"
+ fi
+ KERNEL_BITS=`(getconf KERNEL_BITS) 2>/dev/null`
+@@ -751,8 +766,8 @@
+ fi
+ OUT="hpux64-ia64-cc"
+ elif [ $CPU_VERSION -ge 532 ]; then # PA-RISC 2.x CPU
+- OUT=${OUT:-"hpux-parisc2-${CC}"}
+- if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
++ OUT=${OUT:-"hpux-parisc2-${SUFFIX}"}
++ if [ $KERNEL_BITS -eq 64 -a $GCCVER -eq 0 ]; then
+ echo "WARNING! If you wish to build 64-bit library then you have to"
+ echo " invoke './Configure hpux64-parisc2-cc' *manually*."
+ if [ "$TEST" = "false" -a -t 1 ]; then
+@@ -761,19 +776,19 @@
+ fi
+ fi
+ elif [ $CPU_VERSION -ge 528 ]; then # PA-RISC 1.1+ CPU
+- OUT="hpux-parisc-${CC}"
++ OUT="hpux-parisc-${SUFFIX}"
+ elif [ $CPU_VERSION -ge 523 ]; then # PA-RISC 1.0 CPU
+- OUT="hpux-parisc-${CC}"
++ OUT="hpux-parisc-${SUFFIX}"
+ else # Motorola(?) CPU
+- OUT="hpux-$CC"
++ OUT="hpux-$SUFFIX"
+ fi
+ options="$options -D_REENTRANT" ;;
+- *-hpux) OUT="hpux-parisc-$CC" ;;
++ *-hpux) OUT="hpux-parisc-$SUFFIX" ;;
+ *-aix)
+ KERNEL_BITS=`(getconf KERNEL_BITMODE) 2>/dev/null`
+ KERNEL_BITS=${KERNEL_BITS:-32}
+ OBJECT_MODE=${OBJECT_MODE:-32}
+- if [ "$CC" = "gcc" ]; then
++ if [ $GCCVER -gt 0 ]; then
+ OUT="aix-gcc"
+ if [ $OBJECT_MODE -eq 64 ]; then
+ echo 'Your $OBJECT_MODE was found to be set to 64'
+@@ -875,7 +890,7 @@
+ #fi
+
+ if [ -z "$OUT" ]; then
+- OUT="$CC"
++ OUT="$SUFFIX"
+ fi
+
+ if [ ".$PERL" = . ] ; then
+@@ -907,9 +922,9 @@
+ # compiler for the platform ... in which case we add it on
+ # the end ... otherwise we leave it off
+
+-$PERL ./Configure LIST | grep "$OUT-$CC" > /dev/null
++$PERL ./Configure LIST | grep "$OUT-$SUFFIX" > /dev/null
+ if [ $? = "0" ]; then
+- OUT="$OUT-$CC"
++ OUT="$OUT-$SUFFIX"
+ fi
+
+ OUT="$PREFIX$OUT"
+@@ -919,9 +934,9 @@
+ echo Configuring for $OUT
+
+ if [ "$TEST" = "true" ]; then
+- echo $PERL ./Configure $OUT $options
++ echo $PERL ./Configure $OUT --with-cc=$CC $options
+ else
+- $PERL ./Configure $OUT $options
++ $PERL ./Configure $OUT --with-cc=$CC $options
+ fi
+ else
+ echo "This system ($OUT) is not supported. See file INSTALL for details."
diff --git a/openssl/openssl.spec b/openssl/openssl.spec
new file mode 100644
index 0000000..8f0d0ed
--- /dev/null
+++ b/openssl/openssl.spec
@@ -0,0 +1,185 @@
+##
+## openssl.spec -- OpenPKG RPM Package Specification
+## Copyright (c) 2000-2010 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.0
+%define V_zlib 1.2.5
+
+# 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: 20100420
+
+# package options
+%option with_zlib no
+%option with_idea no
+%option with_threads no
+%option with_pic 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
+
+# build information
+Prefix: %{l_prefix}
+BuildRoot: %{l_buildroot}
+BuildPreReq: OpenPKG, openpkg >= 20060823, perl, make, gcc
+PreReq: OpenPKG, openpkg >= 20060823, perl
+%if "%{with_zlib}" == "yes"
+BuildPreReq: zlib
+PreReq: zlib
+%endif
+AutoReq: no
+AutoReqProv: no
+
+%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.
+
+%prep
+ %setup -q
+%if "%{with_zlib}" == "yes"
+ %setup -q -D -T -a 1
+%endif
+ %patch -p0
+ %{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
+
+%build
+%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
+ rm -rf $RPM_BUILD_ROOT
+ %{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
+ rm -rf $RPM_BUILD_ROOT
+