blob: e5e9b531118ec324119f5dc92740449bb0b40506 [file] [log] [blame]
#!/bin/bash
set -e
# Build a C binary for cloning a userns for seccomp tests
# and compile it for target daemon
if [ "$DOCKER_ENGINE_GOOS" = "linux" ]; then
if [ "$DOCKER_ENGINE_OSARCH" = "$DOCKER_CLIENT_OSARCH" ]; then
tmpdir=$(mktemp -d)
gcc -g -Wall -static contrib/syscall-test/userns.c -o "${tmpdir}/userns-test"
gcc -g -Wall -static contrib/syscall-test/ns.c -o "${tmpdir}/ns-test"
gcc -g -Wall -static contrib/syscall-test/acct.c -o "${tmpdir}/acct-test"
gcc -g -Wall -static contrib/syscall-test/setuid.c -o "${tmpdir}/setuid-test"
gcc -g -Wall -static contrib/syscall-test/setgid.c -o "${tmpdir}/setgid-test"
gcc -g -Wall -static contrib/syscall-test/socket.c -o "${tmpdir}/socket-test"
gcc -g -Wall -static contrib/syscall-test/raw.c -o "${tmpdir}/raw-test"
dockerfile="${tmpdir}/Dockerfile"
cat <<-EOF > "$dockerfile"
FROM debian:jessie
COPY . /usr/bin/
EOF
docker build --force-rm ${DOCKER_BUILD_ARGS} -qt syscall-test "${tmpdir}" > /dev/null
rm -rf "${tmpdir}"
else
docker build ${DOCKER_BUILD_ARGS} -qt syscall-test contrib/syscall-test > /dev/null
fi
fi