106 lines
2.9 KiB
Bash
Executable File
106 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# This is a generic build.sh script
|
|
# It can be used nearly unmodified with many packages
|
|
#
|
|
# build.sh helper functions
|
|
. ${BUILDPKG_BASE}/scripts/build.sh.functions
|
|
#
|
|
###########################################################
|
|
# Check the following 4 variables before running the script
|
|
topdir=openssl
|
|
version=0.9.8g
|
|
pkgver=1
|
|
source[0]=$topdir-$version.tar.gz
|
|
# If there are no patches, simply comment this
|
|
#patch[0]=
|
|
|
|
# Source function library
|
|
. ${BUILDPKG_BASE}/scripts/buildpkg.functions
|
|
|
|
abbrev_ver=$(echo $version|$SED -e 's/\.//g')
|
|
baseversion=$(echo $version|$SED -e 's/[a-zA-Z]//g')
|
|
|
|
reg prep
|
|
prep()
|
|
{
|
|
generic_prep
|
|
setdir source
|
|
sed -e '/^SHELL/s/sh/ksh/' Makefile.org > Makefile.org.ksh
|
|
mv Makefile.org.ksh Makefile.org
|
|
}
|
|
|
|
reg build
|
|
build()
|
|
{
|
|
setdir source
|
|
$SED -e "s;@LIBDIR@;${prefix}/lib;g" Makefile.org > Makefile.new
|
|
$MV -f Makefile.new Makefile.org
|
|
|
|
./config --prefix=$prefix --openssldir=$prefix/ssl shared
|
|
|
|
$MAKE_PROG CC="gcc -static-libgcc" LIBSSL="-Wl,-R,$prefix/lib -L.. -lssl" LIBCRYPTO="-Wl,-R,$prefix/lib -L.. -lcrypto" all build-shared
|
|
$MAKE_PROG CC="gcc -static-libgcc" LIBSSL="-Wl,-R,$prefix/lib -L.. -lssl" LIBCRYPTO="-Wl,-R,$prefix/lib -L.. -lcrypto" all link-shared do_solaris-shared
|
|
}
|
|
|
|
reg install
|
|
install()
|
|
{
|
|
setdir source
|
|
clean stage
|
|
$MAKE_PROG CC="gcc -static-libgcc" INSTALL_PREFIX=$stagedir LIBSSL="-Wl,-R,$prefix/lib -L.. -lssl" LIBCRYPTO="-Wl,-R,$prefix/lib -L.. -lcrypto" install
|
|
setdir $stagedir$prefix/lib
|
|
chmod a+x pkgconfig
|
|
#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 manpage in *
|
|
do
|
|
if [ -L "${manpage}" ]; then
|
|
TARGET=`ls -l "${manpage}" | awk '{ print $NF }'`
|
|
ln -snf "${TARGET}"ssl "${manpage}"ssl
|
|
rm -f "${manpage}"
|
|
else
|
|
$MV "$manpage" "$manpage""ssl"
|
|
fi
|
|
done
|
|
cd ..
|
|
done
|
|
# A few stupid manpages left that pkgproto can't deal with
|
|
#setdir $stagedir$prefix/man/man7
|
|
#mv "Modes of DES.7ssl" "Modes_of_DES.7ssl"
|
|
# Make .sos writable
|
|
chmod 755 ${stagedir}${prefix}/${_libdir}/*.so.*
|
|
chmod 755 ${stagedir}${prefix}/${_libdir}/engines/*.so.*
|
|
# Nuke static libraries - they just take up space
|
|
rm -f ${stagedir}${prefix}/${_libdir}/*.a
|
|
custom_install=1
|
|
generic_install
|
|
}
|
|
|
|
reg pack
|
|
pack()
|
|
{
|
|
# Create depend file for openssl
|
|
echo "P ${pkgprefix}ossl${abbrev_ver}lib OpenSSL $version shared libraries" > $metadir/depend.openssl
|
|
generic_pack
|
|
}
|
|
|
|
reg distclean
|
|
distclean()
|
|
{
|
|
# depend is created by build.sh so make sure
|
|
# it's removed by distclean
|
|
META_CLEAN="$META_CLEAN depend.openssl"
|
|
|
|
clean distclean
|
|
}
|
|
|
|
###################################################
|
|
# No need to look below here
|
|
###################################################
|
|
build_sh $*
|