Blame build.sh

Packit Service 087331
#!/bin/sh
Packit Service 087331
# Copyright (c) 2020 Petr Vorel <pvorel@suse.cz>
Packit Service 087331
Packit Service 087331
set -e
Packit Service 087331
Packit Service 087331
CC="${CC:-gcc}"
Packit Service 087331
CFLAGS="${CFLAGS:--Wformat -Werror=format-security -Werror=implicit-function-declaration -Werror=return-type -fno-common}"
Packit Service 087331
PREFIX="${PREFIX:-$HOME/ima-evm-utils-install}"
Packit Service 087331
Packit Service 087331
export LD_LIBRARY_PATH="$PREFIX/lib64:$PREFIX/lib:/usr/local/lib64:/usr/local/lib"
Packit Service 087331
export PATH="$PREFIX/bin:/usr/local/bin:$PATH"
Packit Service 087331
Packit Service 087331
title()
Packit Service 087331
{
Packit Service 087331
	echo "===== $1 ====="
Packit Service 087331
}
Packit Service 087331
Packit Service 087331
log_exit()
Packit Service 087331
{
Packit Service 087331
	local ret="${3:-$?}"
Packit Service 087331
	local log="$1"
Packit Service 087331
	local msg="$2"
Packit Service 087331
	local prefix
Packit Service 087331
Packit Service 087331
	echo "=== $log ==="
Packit Service 087331
	[ $ret -eq 0 ] || prefix="FAIL: "
Packit Service 087331
	cat $log
Packit Service 087331
	echo
Packit Service 087331
	echo "$prefix$msg, see output of $log above"
Packit Service 087331
	exit $ret
Packit Service 087331
}
Packit Service 087331
Packit Service 087331
cd `dirname $0`
Packit Service 087331
Packit Service 087331
case "$VARIANT" in
Packit Service 087331
	i386)
Packit Service 087331
		echo "32-bit compilation"
Packit Service 087331
		export CFLAGS="-m32 $CFLAGS" LDFLAGS="-m32 $LDFLAGS"
Packit Service 087331
		export PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu/pkgconfig
Packit Service 087331
		;;
Packit Service 087331
	cross-compile)
Packit Service 087331
		host="${CC%-gcc}"
Packit Service 087331
		export CROSS_COMPILE="${host}-"
Packit Service 087331
		host="--host=$host"
Packit Service 087331
		echo "cross compilation: $host"
Packit Service 087331
		echo "CROSS_COMPILE: '$CROSS_COMPILE'"
Packit Service 087331
		;;
Packit Service 087331
	*)
Packit Service 087331
		if [ "$VARIANT" ]; then
Packit Service 087331
			echo "Wrong VARIANT: '$VARIANT'" >&2
Packit Service 087331
			exit 1
Packit Service 087331
		fi
Packit Service 087331
		echo "native build"
Packit Service 087331
		;;
Packit Service 087331
esac
Packit Service 087331
Packit Service 087331
title "compiler version"
Packit Service 087331
$CC --version
Packit Service 087331
echo "CFLAGS: '$CFLAGS'"
Packit Service 087331
echo "LDFLAGS: '$LDFLAGS'"
Packit Service 087331
echo "PREFIX: '$PREFIX'"
Packit Service 087331
Packit Service 087331
title "configure"
Packit Service 087331
./autogen.sh
Packit Service 087331
./configure --prefix=$PREFIX $host || log_exit config.log "configure failed"
Packit Service 087331
Packit Service 087331
title "make"
Packit Service 087331
make -j$(nproc)
Packit Service 087331
make install
Packit Service 087331
Packit Service 087331
title "test"
Packit Service 087331
if [ "$VARIANT" = "cross-compile" ]; then
Packit Service 087331
	echo "skip make check on cross compilation"
Packit Service 087331
	exit 0
Packit Service 087331
fi
Packit Service 087331
Packit Service 087331
ret=0
Packit Service 087331
VERBOSE=1 make check || ret=$?
Packit Service 087331
Packit Service 087331
title "logs"
Packit Service 087331
if [ $ret -eq 0 ]; then
Packit Service 087331
	tail -3 tests/ima_hash.log
Packit Service 087331
	tail -3 tests/sign_verify.log
Packit Service 087331
	tail -20 tests/boot_aggregate.log
Packit Service 087331
	exit 0
Packit Service 087331
fi
Packit Service 087331
Packit Service 087331
cat tests/test-suite.log
Packit Service 087331
Packit Service 087331
if [ $ret -eq 77 ]; then
Packit Service 087331
	msg="WARN: some tests skipped"
Packit Service 087331
	ret=0
Packit Service 087331
else
Packit Service 087331
	msg="FAIL: tests exited: $ret"
Packit Service 087331
fi
Packit Service 087331
Packit Service 087331
log_exit tests/test-suite.log "$msg" $ret