diff --git a/openssl/build.sh b/openssl/build.sh index 7e266e7..7ea0516 100755 --- a/openssl/build.sh +++ b/openssl/build.sh @@ -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 } ################################################### diff --git a/openssl/src/openssl-0.9.6k-Configure.patch b/openssl/src/openssl-0.9.6k-Configure.patch new file mode 100644 index 0000000..02aa846 --- /dev/null +++ b/openssl/src/openssl-0.9.6k-Configure.patch @@ -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$/) + { diff --git a/openssl/src/openssl-0.9.6k-soversion.patch b/openssl/src/openssl-0.9.6k-soversion.patch new file mode 100644 index 0000000..54df8fc --- /dev/null +++ b/openssl/src/openssl-0.9.6k-soversion.patch @@ -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; \