#!/bin/bash #Copyright 2001-2002 William Stearns #Released under the GPL. #set -x #FIXME - where to make clean? #ftp://ftp.xs4all.nl/pub/crypto/freeswan/snapshot.tar.gz if [ -z "$FREESWANVERSION" ]; then echo FREESWANVERSION unset, skipping freeswan. exit fi exec 2>&1 PROJECT="freeswan" BKLIBDIR="${BKLIBDIR:-/var/lib/buildkernel}/" THISSCRIPT="$BKLIBDIR/bkrun-$PROJECT" #We can't use $0 as this script is sourced; $0=/usr/bin/buildkernel if [ -f $BKLIBDIR/${PROJECT}-options ]; then echo $PROJECT loading options . $BKLIBDIR/${PROJECT}-options fi if [ -n "$TEMPFREESWANVERSION" ]; then FREESWANVERSION=$TEMPFREESWANVERSION fi echo $PROJECT \(Version $FREESWANVERSION\) $1 called from Buildkernel FREESWANSOURCEDIR=${FREESWANSOURCEDIR:-"/usr/src/freeswan-$FREESWANVERSION"} FREESWANTAR=${FREESWANTAR:-"$BKSOURCEDIR/freeswan-$FREESWANVERSION.tar.gz"} FREESWANTESTFILE=${FREESWANTESTFILE:-"$FREESWANSOURCEDIR/COPYING"} case $1 in POSTLOADVARS) if [ -n "`cat $BKLIBDIR/${PROJECT}-options 2>/dev/null | grep '^TEMPFREESWANVERSION='`" ]; then echo Stripping out old freeswan version. cat $BKLIBDIR/${PROJECT}-options | grep -v '^TEMPFREESWANVERSION=' >$BKLIBDIR/${PROJECT}-options.temp cat $BKLIBDIR/${PROJECT}-options.temp >$BKLIBDIR/${PROJECT}-options rm -f $BKLIBDIR/${PROJECT}-options.temp fi ;; POSTGETSOURCE) cd $BKSOURCEDIR if [ "$FREESWANVERSION" = "NEWESTBETA" ]; then echo -n 'Getting the freeswan NEWESTBETA snapshot ' rm -f $BKSOURCEDIR/snapshot.tar.gz bkgetfile ftp ftp.xs4all.nl anonymous "$USER@$HOSTNAME" pub/crypto/freeswan snapshot.tar.gz TEMPFREESWANVERSION=`tar -tzf snapshot.tar.gz | sed -e 's@/.*@@' -e s'/freeswan\-//' | uniq` echo which is version $TEMPFREESWANVERSION . mv -f snapshot.tar.gz freeswan-$TEMPFREESWANVERSION.tar.gz echo >>$BKLIBDIR/${PROJECT}-options echo TEMPFREESWANVERSION=$TEMPFREESWANVERSION >>$BKLIBDIR/${PROJECT}-options elif [ ! -f $BKSOURCEDIR/freeswan-$FREESWANVERSION.tar.gz ]; then echo Getting freeswan version $FREESWANVERSION . rm -f $BKSOURCEDIR/freeswan-$FREESWANVERSION.tar.gz bkgetfile ftp ftp.xs4all.nl anonymous "$USER@$HOSTNAME" pub/crypto/freeswan freeswan-$FREESWANVERSION.tar.gz else echo $BKSOURCEDIR/freeswan-$FREESWANVERSION.tar.gz is already here. fi ;; POSTOPENSOURCE) if [ ! -f "$FREESWANTESTFILE" ]; then #Open up source if [ -f "$FREESWANTAR" ]; then mkdir --parents $FREESWANSOURCEDIR cd $FREESWANSOURCEDIR ; cd .. case $FREESWANTAR in *.tar.gz) tar -xzvf $FREESWANTAR ;; *.tar.bz2) cat $FREESWANTAR | bunzip2 - | tar -xvf - ;; *.tar) tar -xvf $FREESWANTAR ;; *) echo Don\'t know how to open $FREESWANTAR \! ; bkbeep ; sleep 30 ;; esac if [ ! -f "$FREESWANTESTFILE" ]; then echo Still no $FREESWANTESTFILE after attempting to open \! ; bkbeep ; sleep 30 fi else echo Freeswan source is not yet opened and we don\'t have $FREESWANTAR \! ; bkbeep ; sleep 30 fi fi if [ -n "$FREESWANSOURCEDIR" ] && [ -d "$FREESWANSOURCEDIR" ]; then cd $FREESWANSOURCEDIR >/dev/null if [ `pwd` != "$FREESWANSOURCEDIR" ]; then echo can\'t change directory, exiting else make insert fi fi ;; POSTCONFIGURE) if [ -n "$FREESWANSOURCEDIR" ]; then cd $FREESWANSOURCEDIR >/dev/null if [ `pwd` != "$FREESWANSOURCEDIR" ]; then echo can\'t change directory, exiting else make confcheck make programs make install fi fi ;; POSTKERNELBUILD) : ;; POSTMODULEBUILD) : ;; POSTINSTALL) : ;; POSTCLEAN) : ;; ''|ALL) . $THISSCRIPT POSTLOADVARS . $THISSCRIPT POSTGETSOURCE . $THISSCRIPT POSTOPENSOURCE . $THISSCRIPT POSTCONFIGURE . $THISSCRIPT POSTKERNELBUILD . $THISSCRIPT POSTMODULEBUILD . $THISSCRIPT POSTINSTALL . $THISSCRIPT POSTCLEAN ;; *) echo unrecognized phase $1 ;; esac