github.com/brahmaroutu/docker@v1.2.1-0.20160809185609-eb28dde01f16/hack/make/.ensure-syscall-test (about) 1 #!/bin/bash 2 set -e 3 4 # Build a C binary for cloning a userns for seccomp tests 5 # and compile it for target daemon 6 if [ "$DOCKER_ENGINE_GOOS" = "linux" ]; then 7 if [ "$DOCKER_ENGINE_OSARCH" = "$DOCKER_CLIENT_OSARCH" ]; then 8 tmpdir=$(mktemp -d) 9 gcc -g -Wall -static contrib/syscall-test/userns.c -o "${tmpdir}/userns-test" 10 gcc -g -Wall -static contrib/syscall-test/ns.c -o "${tmpdir}/ns-test" 11 gcc -g -Wall -static contrib/syscall-test/acct.c -o "${tmpdir}/acct-test" 12 if [ "$DOCKER_ENGINE_OSARCH" = "linux/amd64" ]; then 13 gcc -s -m32 -nostdlib contrib/syscall-test/exit32.s -o "${tmpdir}/exit32-test" 14 fi 15 16 dockerfile="${tmpdir}/Dockerfile" 17 cat <<-EOF > "$dockerfile" 18 FROM debian:jessie 19 COPY . /usr/bin/ 20 EOF 21 docker build --force-rm ${DOCKER_BUILD_ARGS} -qt syscall-test "${tmpdir}" > /dev/null 22 rm -rf "${tmpdir}" 23 else 24 docker build ${DOCKER_BUILD_ARGS} -qt syscall-test contrib/syscall-test > /dev/null 25 fi 26 fi