| #!/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" |
| |
| 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 |