A major overhaul to the openssl package

- shared libraries are now built
- sh lib versioning changed to follow redhat
- install location changed. Most of it is now installed in
  /usr/local/[bin|lib|man]
- allow seperate installation of libraries for runtime support of
  legacy applications
This commit is contained in:
Tom G. Christensen 2003-10-16 10:27:28 +00:00 committed by tgc
parent a9c9d57ede
commit 6c2766639d
3 changed files with 107 additions and 6 deletions

View File

@ -8,23 +8,39 @@
#
# Check the following 4 variables before running the script
topdir=openssl
version=0.9.6j
version=0.9.6k
pkgver=1
source[0]=$topdir-$version.tar.gz
# If there are no patches, simply comment this
#patch[0]=
patch[0]=openssl-0.9.6k-soversion.patch
patch[1]=openssl-0.9.6k-Configure.patch
# Source function library
. ${BUILDPKG_BASE}/scripts/buildpkg.functions
abbrev_ver=$(echo $version|sed -e 's/\.//g')
# Fill in pkginfo values if necessary
# using pkgname,name,pkgcat,pkgvendor & pkgdesc
pkgname=SBossl
pkgname=SBossl$abbrev_ver
name="OpenSSL - Secure Socket Layer"
pkgcat="library"
pkgcat="application"
pkgvendor="http://www.openssl.org"
pkgdesc="Toolkit implementing SSL v2/v3 and TLS v1"
pkgname_lib=SBossl$abbrev_ver"lib"
name_lib="OpenSSL - Secure Socket Layer"
pkgcat_lib="library"
pkgvendor_lib="http://www.openssl.org"
pkgdesc_lib="Toolkit implementing SSL v2/v3 and TLS v1"
# 0.9.6(a-?) is sover 2
# 0.9.7(a-?) is sover 4
baseversion=0.9.6
sover=2
lib_stage=$BUILDPKG_BASE/$topdir/stage.lib
# Define script functions and register them
METHODS=""
reg() {
@ -41,26 +57,79 @@ reg build
build()
{
setdir source
./config
./config --prefix=$prefix --openssldir=$prefix/ssl shared
$MAKE_PROG
$MAKE_PROG -C test apps tests
}
reg install
install()
{
generic_install INSTALL_PREFIX
setdir source
$MAKE_PROG INSTALL_PREFIX=$stagedir install build-shared
setdir $stagedir$prefix/lib
liblist="libssl libcrypto"
for i in $liblist
do
mv $i.so.$baseversion $i.so.$version
rm -f $i.so.$sover
rm -f $i.so
ln -s $i.so.$version $i.so.$sover
ln -s $i.so.$sover $i.so
done
rmdir $stagedir$prefix/ssl/lib
mv $stagedir$prefix/ssl/man $stagedir$prefix
setdir $stagedir$prefix/man
for j in $(ls -1d man?)
do
cd $j
for x in *
do
mv $x $x"ssl"
done
cd ..
done
}
reg pack
pack()
{
MV=mv
# Split up the stagedir
mkdir -p $lib_stage$prefix
$MV $stagedir$prefix/lib $lib_stage$prefix
# Create runtime package
echo "P $pkgname_lib $name_lib" > $metadir/depend
generic_pack
usedepend=0
$MV $stagedir $stagedir.1
$MV $lib_stage $stagedir
pkgname=$pkgname_lib
name=$name_lib
pkgcat=$pkgcat_lib
pkgvendor=$pkgvendor_lib
pkgdesc=$pkgdesc_lib
distfile=$topdir-lib-$version-$pkgver.sb-$os-$cpu-$pkgdirdesig
generic_pack
$MV $stagedir.1 $stagedir
setdir source
clean stage
}
reg distclean
distclean()
{
# depend is created by build.sh so make sure
# it's removed by distclean
META_CLEAN="$META_CLEAN depend"
clean distclean
pkgname=$pkgname_lib
clean meta
}
###################################################

View File

@ -0,0 +1,11 @@
--- openssl-0.9.6k/Configure.orig 2003-10-02 10:59:28.409538000 +0200
+++ openssl-0.9.6k/Configure 2003-10-02 11:01:48.521291000 +0200
@@ -1006,7 +1006,7 @@
elsif ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*\.[^\.]*$/)
{
my $sotmp = $1;
- s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_MAJOR) .s$sotmp/;
+ s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_SOVER) .s$sotmp/;
}
elsif ($shared_extension ne "" && $shared_extension =~ /^\.[^\.]*\.[^\.]*\.dylib$/)
{

View File

@ -0,0 +1,21 @@
--- openssl-0.9.6k/Makefile.org.orig 2003-10-15 14:32:32.535403000 +0200
+++ openssl-0.9.6k/Makefile.org 2003-10-15 15:06:34.108563000 +0200
@@ -10,6 +10,7 @@
SHLIB_MAJOR=
SHLIB_MINOR=
SHLIB_EXT=
+SHLIB_SOVER=2
PLATFORM=dist
OPTIONS=
CONFIGURE_ARGS=
@@ -351,8 +352,9 @@
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
( PATH=/usr/ccs/bin:$$PATH ; export PATH; \
set -x; ${CC} ${SHARED_LDFLAGS} \
+ -R${INSTALLTOP}/lib \
-G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
- -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
+ -h lib$$i.so.${SHLIB_SOVER} \
-z allextract lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
libs="$$libs -l$$i"; \
done; \