diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100644 index 0000000000000000000000000000000000000000..53391c1430241f9e6703d1979b08c6f9b51c0017 --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# Test environment +if [[ ! -d /builds ]]; then + echo "In order to use this image, you must mount the working directory to /builds" + exit 1 +fi +REFERENCE=$(ls -d /builds/* | head -1) +if [[ -z "${REFERENCE}" ]]; then + echo "Aborting because of empty working directory" + exit 1 +fi + +# Prepare environment +_builder_prepare() { + touch /builder/reference || exit 1 + chown --reference "${REFERENCE}" /builder/reference || exit 1 + chown -R builder:builder /builds/* || exit 1 +} + +# Terminate +_builder_terminate() { + chown -R --reference /builder/reference /builds/* || exit 1 + rm -f /builder/reference + exit ${1} +} + +# Prepare and execute building +_builder_prepare +su - builder +_builder_terminate $?