github.com/DaoCloud/dao@v0.0.0-20161212064103-c3dbfd13ee36/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 gcc -g -Wall -static contrib/syscall-test/setuid.c -o "${tmpdir}/setuid-test" 13 gcc -g -Wall -static contrib/syscall-test/setgid.c -o "${tmpdir}/setgid-test" 14 gcc -g -Wall -static contrib/syscall-test/socket.c -o "${tmpdir}/socket-test" 15 gcc -g -Wall -static contrib/syscall-test/raw.c -o "${tmpdir}/raw-test" 16 17 dockerfile="${tmpdir}/Dockerfile" 18 cat <<-EOF > "$dockerfile" 19 FROM debian:jessie 20 COPY . /usr/bin/ 21 EOF 22 docker build --force-rm ${DOCKER_BUILD_ARGS} -qt syscall-test "${tmpdir}" > /dev/null 23 rm -rf "${tmpdir}" 24 else 25 docker build ${DOCKER_BUILD_ARGS} -qt syscall-test contrib/syscall-test > /dev/null 26 fi 27 fi