: ${branch:=master}
-src=${workdir}/src
-: ${build:=${workdir}/build}
-: ${inst:=${workdir}/install}
-
-configuration='
- --enable-gpl
- --prefix="${inst}"
- --samples="${samples}"
- ${ignore_tests:+--ignore-tests="$ignore_tests"}
- ${arch:+--arch="$arch"}
- ${cpu:+--cpu="$cpu"}
- ${toolchain:+--toolchain="$toolchain"}
- ${cross_prefix:+--cross-prefix="$cross_prefix"}
- ${as:+--as="$as"}
- ${cc:+--cc="$cc"}
- ${ld:+--ld="$ld"}
- ${target_os:+--target-os="$target_os"}
- ${sysroot:+--sysroot="$sysroot"}
- ${target_exec:+--target-exec="$target_exec"}
- ${target_path:+--target-path="$target_path"}
- ${target_samples:+--target-samples="$target_samples"}
- ${extra_cflags:+--extra-cflags="$extra_cflags"}
- ${extra_ldflags:+--extra-ldflags="$extra_ldflags"}
- ${extra_libs:+--extra-libs="$extra_libs"}
- ${extra_conf}
-'
-
lock(){
lock=$1/fate.lock
(set -C; exec >$lock) 2>/dev/null || return
update()(
cd ${src} || return
case "$repo" in
- git:*) git fetch --quiet --force; git reset --quiet --hard "origin/$branch" ;;
+ git:*) git fetch --quiet --force && git reset --quiet --hard "origin/$branch" ;;
esac
)
configure()(
cd ${build} || return
- eval ${src}/configure ${configuration}
+ ${shell} ${src}/configure \
+ --prefix="${inst}" \
+ --samples="${samples}" \
+ --enable-gpl \
+ --enable-memory-poisoning \
+ --enable-avresample \
+ ${ignore_tests:+--ignore-tests="$ignore_tests"} \
+ ${arch:+--arch=$arch} \
+ ${cpu:+--cpu="$cpu"} \
+ ${toolchain:+--toolchain="$toolchain"} \
+ ${cross_prefix:+--cross-prefix="$cross_prefix"} \
+ ${as:+--as="$as"} \
+ ${cc:+--cc="$cc"} \
+ ${ld:+--ld="$ld"} \
+ ${target_os:+--target-os="$target_os"} \
+ ${sysroot:+--sysroot="$sysroot"} \
+ ${target_exec:+--target-exec="$target_exec"} \
+ ${target_path:+--target-path="$target_path"} \
+ ${target_samples:+--target-samples="$target_samples"} \
+ ${extra_cflags:+--extra-cflags="$extra_cflags"} \
+ ${extra_ldflags:+--extra-ldflags="$extra_ldflags"} \
+ ${extra_libs:+--extra-libs="$extra_libs"} \
+ ${extra_conf}
)
compile()(
report(){
date=$(date -u +%Y%m%d%H%M%S)
echo "fate:1:${date}:${slot}:${version}:$1:$2:${branch}:${comment}" >report
- if test -e ${build}/avbuild/config.fate; then
- cat ${build}/avbuild/config.fate >> report 2> /dev/null
- else
- eval echo config:failed:failed:failed:failed:failed:${configuration} >> report 2> /dev/null
- fi
- cat ${build}/tests/data/fate/*.rep >> report 2> /dev/null
+ cat ${build}/ffbuild/config.fate >>report
+ cat ${build}/tests/data/fate/*.rep >>report 2>/dev/null || for i in ${build}/tests/data/fate/*.rep ; do cat "$i" >>report 2>/dev/null; done
test -n "$fate_recv" && $tar report *.log | gzip | $fate_recv
}
lock ${workdir} || die "${workdir} locked"
cd ${workdir} || die "cd ${workdir} failed"
+src=${workdir}/src
+: ${build:=${workdir}/build}
+: ${inst:=${workdir}/install}
+
test -d "$src" && update || checkout || die "Error fetching source"
cd ${workdir}
-version=$(${src}/avbuild/version.sh ${src})
+version=$(${src}/ffbuild/version.sh ${src})
test "$version" = "$(cat version-$slot 2>/dev/null)" && exit 0
echo ${version} >version-$slot
rm -rf "${build}" *.log
mkdir -p ${build}
-configure >configure.log 2>&1 || fail $? "error configuring"
-compile >compile.log 2>&1 || fail $? "error compiling"
-fate >test.log 2>&1 || fail $? "error testing"
+configure >configure.log 2>&1 || fail 3 "error configuring"
+compile >compile.log 2>&1 || fail 2 "error compiling"
+fate >test.log 2>&1 || fail 1 "error testing"
report 0 success
clean