#!/bin/sh # tinderbox lib/tinderlib.sh test script # 2012-07-17 # # XXX: to test the script change variables # below so they match your environment # path to tinderbox pb=/tb JAIL=8.3-amd64 PORTSTREE=FreeBSD JAIL=8.3-amd64-pkgng # generate some sample data T=/tmp/build.9.1-amd64.$$ cat > $T << _EOF # =============================== # some sample data #8PKGSUFFIX=ErrorIfDisplayed #9PKGSUFFIX=ErrorIfDisplayed #10PKGSUFFIX=ErrorIfDisplayed # # =========================== # the following two parameters are needet for pkgng WITH_PKGNG= yes PKGSUFFIX= .txz DEFAULT_PGSQL_VER = 92 DEFAULT_PHP_VER = 53 WITH_BDB_VER = 48 #WITH_SUBVERSION_VER=16 OPTIONS_SET = FOO FOO_SET = foobar export FOO = bar _EOF tinderLoc () { type=$1 what=$2 case "${type}" in "scripts") echo "${pb}/scripts/${what}";; *) echo "/nonexistent/tinderbox/${type}/${what}";; esac } buildenvlist () { jail=$1 portstree=$2 build=$3 major_version=$4 envdir=$(tinderLoc scripts etc/env) cat $(tinderLoc scripts lib/tinderbox.env) \ | sed -E \ -e "s|^#${major_version}||" \ -e 's|\^\^([^\^]+)\^\^|${\1}|g' \ -e 's|^#.*$||' { $(tinderLoc scripts tc) configGet [ -s $T ] && cat $T if [ -s ${envdir}/GLOBAL ]; then cat ${envdir}/GLOBAL fi if [ -n "${jail}" -a -s ${envdir}/jail.${jail} ]; then cat ${envdir}/jail.${jail} fi if [ -n "${portstree}" -a -s ${envdir}/portstree.${portstree} ]; then cat ${envdir}/portstree.${portstree} fi if [ -n "${build}" -a -s ${envdir}/build.${build} ]; then cat ${envdir}/build.${build} fi } | sed \ -e 's|^#.*$||' \ -e "s|^export ||" \ -e 's|[[:blank:]]||g' # remove generated test data rm -f $T } buildenv () { jail=$1 portstree=$2 build=$3 major_version=$(echo ${jail} | sed -E -e 's|(^[[:digit:]]+).*$|\1|') save_IFS=${IFS} IFS=' ' # buildenvlist "${jail}" "${portstree}" "${build}" "${major_version}" for _tb_var in $(buildenvlist "${jail}" "${portstree}" "${build}" "${major_version}") do var=$(echo "${_tb_var}") if [ -n "${var}" ]; then echo "eval \"export ${var}\"" fi done IFS=${save_IFS} } buildenv "$JAIL" "$PORTSTREE" "$BUILD"