#!/usr/bin/env bash
set -x

unset LD_LIBRARY_PATH
SOFTWARE=${SOFTWARE:-facter}
VERSION=${VERSION:-1.5.4}
PKGVERSION=${VERSION}\,REV=$(date +%Y.%m.%d)
DESC=${DESC:-"a system fact gatherer"}
TMP=${TMP:-~/blastwave/tmp}
SRC=${SRC:-~/blastwave/src}
BUILD=${BUILD:-~/blastwave/build}
OUTPUT=${OUTPUT:-~/blastwave/output}
SVN=${SVN:-/opt/csw/bin/svn}
PKGDIR=${PKGDIR:-~/blastwave/pkg}
TAG=$(echo REL_${VERSION} | sed -e 's/\./\_/g')
PREFIX=${PREFIX:-/opt/csw}
USER=$(perl -e '$user = getpwuid($<); print $user')
GROUP=$(perl -e '$gid = getgrgid($(); print $gid')
RUBY=${PREFIX}/bin/ruby
FIND=${FIND:-${PREFIX}/bin/gfind}
TAR=${PREFIX}/bin/gtar
SED=${PREFIX}/bin/gsed
HOTLINE=${HOTLINE:-http://www.opencsw.org/bugtrack/}
EMAIL=${EMAIL:-glaw@opencsw.org}

FATAL() {
    echo $1
    echo "Fatal Error: $1"
    echo $1
    exit $2
    }

# get the required version of the software and untar into build directory

mkdir -p ${TMP} ${SRC} ${BUILD} ${OUTPUT}
rm -rf ${TMP}/${SOFTWARE}*  ${BUILD}/${SOFTWARE}* ${PKGDIR}/${SOFTWARE}*

cd ${BUILD}  || FATAL "cannot cd into build directory! exiting..." 3
${TAR} xzf ${SRC}/${SOFTWARE}-${VERSION}.tar.gz || FATAL "cannot untar source... exiting..." 2

# create pkginfo file

mkdir -p ${PKGDIR}/${SOFTWARE}/
cd ${PKGDIR}/${SOFTWARE}
echo "PKG=CSW${SOFTWARE}
NAME=${SOFTWARE} - ${DESC}
ARCH=all
VERSION=${PKGVERSION}
CATEGORY=application,system
VENDOR=http://reductivelabs.com/projects/${SOFTWARE} packaged for CSW by Gary Law and Mark Phillips
HOTLINE=${HOTLINE}
EMAIL=${EMAIL}" > pkginfo

# copyright file

cp ${BUILD}/${SOFTWARE}-${VERSION}/COPYING ${PKGDIR}/${SOFTWARE}/copyright

grep ${VERSION} ${PKGDIR}/${SOFTWARE}/pkginfo || FATAL "pkginfo version mismatch! exiting..." 1



# build the depend file



cd ${PKGDIR}/${SOFTWARE}

echo 'P CSWruby ruby >= 1.8.6' > depend
echo 'P CSWcommon' >> depend

cd



# build the checkinstall script



cd ${PKGDIR}/${SOFTWARE}

echo exit 0 > checkinstall



# preinstall scripts



# postinstall script



# postremove script



# install the software



cd ${BUILD}/${SOFTWARE}-${VERSION}/

DESTDIR=${PKGDIR}/${SOFTWARE}/ ${RUBY} install.rb

cd



# build the package



cd ${PKGDIR}/${SOFTWARE}/



cat > prototype << EOF

i pkginfo
i depend
i checkinstall
i copyright
d none ${PREFIX}/lib ? ? ?
d none ${PREFIX}/lib/ruby ? ? ?
d none ${PREFIX}/lib/ruby/site_ruby ? ? ?
EOF



${FIND} ${PKGDIR}/${SOFTWARE}/${PREFIX} | pkgproto ${PKGDIR}/${SOFTWARE}/${PREFIX}=/${PREFIX} | sed -e "s|${USER} ${GROUP}|root bin|g" >> prototype



pkgmk -o -d $OUTPUT -r / -a all

filename=${SOFTWARE}-${PKGVERSION}-SunOS`uname -r`-all-CSW.pkg

pkgtrans -s $OUTPUT $OUTPUT/$filename CSW${SOFTWARE}




