added lib32-openssl

This commit is contained in:
Giuseppe 2011-01-14 17:35:07 +00:00
parent 8aafa30844
commit a3bcd38dfb
4 changed files with 119 additions and 0 deletions

65
lib32-openssl/PKGBUILD Normal file
View File

@ -0,0 +1,65 @@
# Lib32 Packages for Chakra, part of chakra-project.org
#
# maintainer (x86_64): Giuseppe Calà <jiveaxe@gmail.com>
# maintainer (x86_64): Anke Boersma <abveritas[at]chakra-project[dot]org>
_pkgbasename=openssl
pkgname=lib32-$_pkgbasename
_ver=1.0.0a
# use a pacman compatible version scheme
pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
pkgrel=1
pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security (32-bit)'
arch=('x86_64')
url='https://www.openssl.org'
license=('custom:BSD')
depends=(lib32-zlib $_pkgbasename)
optdepends=('ca-certificates' perl gcc-multilib)
options=('!makeflags')
source=("https://www.openssl.org/source/${_pkgbasename}-${_ver}.tar.gz"
'no-rpath.patch'
'ca-dir.patch'
'fix-double-free.patch')
md5sums=('e3873edfffc783624cfbdb65e2249cbd'
'dc78d3d06baffc16217519242ce92478'
'3bf51be3a1bbd262be46dc619f92aa90'
'ccb896e23a44b89a3c93ac094c592c1f')
# keep an upgrade path for older installations
build() {
export CC="gcc -m32"
export CXX="g++ -m32"
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
cd $srcdir/$_pkgbasename-$_ver
# remove rpath: http://bugs.archlinux.org/task/14367
patch -p0 -i $srcdir/no-rpath.patch
# set ca dir to /etc/ssl by default
patch -p0 -i $srcdir/ca-dir.patch
# fix double free
# see http://marc.info/?l=openssl-dev&m=128118163216952&w=2
# and http://marc.info/?l=openssl-dev&m=128128256314328&w=2
patch -p0 -i $srcdir/fix-double-free.patch
# mark stack as non-executable: http://bugs.archlinux.org/task/12434
./Configure linux-elf --prefix=/usr --openssldir=/etc/ssl --libdir=lib32 \
shared zlib enable-md2 -Wa,--noexecstack
make
# the test fails due to missing write permissions in /etc/ssl
# revert this patch for make test
#patch -p0 -R -i $srcdir/ca-dir.patch
#make test
#patch -p0 -i $srcdir/ca-dir.patch
}
package() {
cd $srcdir/$_pkgbasename-$_ver
make INSTALL_PREFIX=$pkgdir install
rm -rf "${pkgdir}"/usr/{include,share,bin} "$pkgdir/etc"
mkdir -p "$pkgdir/usr/share/licenses"
ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname"
}

View File

@ -0,0 +1,33 @@
--- apps/CA.pl.in 2006-04-28 02:30:49.000000000 +0200
+++ apps/CA.pl.in 2010-04-01 00:35:02.600553509 +0200
@@ -53,7 +53,7 @@
$X509="$openssl x509";
$PKCS12="$openssl pkcs12";
-$CATOP="./demoCA";
+$CATOP="/etc/ssl";
$CAKEY="cakey.pem";
$CAREQ="careq.pem";
$CACERT="cacert.pem";
--- apps/CA.sh 2009-10-15 19:27:47.000000000 +0200
+++ apps/CA.sh 2010-04-01 00:35:02.600553509 +0200
@@ -68,7 +68,7 @@
X509="$OPENSSL x509"
PKCS12="openssl pkcs12"
-if [ -z "$CATOP" ] ; then CATOP=./demoCA ; fi
+if [ -z "$CATOP" ] ; then CATOP=/etc/ssl ; fi
CAKEY=./cakey.pem
CAREQ=./careq.pem
CACERT=./cacert.pem
--- apps/openssl.cnf 2009-04-04 20:09:43.000000000 +0200
+++ apps/openssl.cnf 2010-04-01 00:35:02.607220681 +0200
@@ -39,7 +39,7 @@
####################################################################
[ CA_default ]
-dir = ./demoCA # Where everything is kept
+dir = /etc/ssl # Where everything is kept
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.

View File

@ -0,0 +1,10 @@
--- ssl/s3_clnt.c.orig Sun Feb 28 01:24:24 2010
+++ ssl/s3_clnt.c Sun Aug 8 14:49:30 2010
@@ -1508,6 +1508,7 @@
s->session->sess_cert->peer_ecdh_tmp=ecdh;
ecdh=NULL;
BN_CTX_free(bn_ctx);
+ bn_ctx = NULL;
EC_POINT_free(srvr_ecpoint);
srvr_ecpoint = NULL;
}

View File

@ -0,0 +1,11 @@
--- Makefile.shared.no-rpath 2005-06-23 22:47:54.000000000 +0200
+++ Makefile.shared 2005-11-16 22:35:37.000000000 +0100
@@ -153,7 +153,7 @@
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
+DO_GNU_APP=LDFLAGS="$(CFLAGS)"
#This is rather special. It's a special target with which one can link
#applications without bothering with any features that have anything to