X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/88183689efb3715ac0192006cabad6337dea2588..fa97956332202d05f29eddea80f926afd869d5a5:/scripts/run-docker.sh diff --git a/scripts/run-docker.sh b/scripts/run-docker.sh index 5e2ab677..c0f833ba 100755 --- a/scripts/run-docker.sh +++ b/scripts/run-docker.sh @@ -1,15 +1,44 @@ #!/bin/sh set -e -u -# Create build output folder if necessary: -mkdir -p $HOME/termux +HOME=/home/builder +if [ `uname` = Darwin ]; then + # Workaround for mac readlink not supporting -f. + REPOROOT=$PWD +else + REPOROOT="$(dirname $(readlink -f $0))/../" +fi IMAGE_NAME=termux/package-builder +CONTAINER_NAME=termux-package-builder -echo "Running container from image '$IMAGE_NAME'..." +USER=builder + +echo "Running container '$CONTAINER_NAME' from image '$IMAGE_NAME'..." + +docker start $CONTAINER_NAME > /dev/null 2> /dev/null || { + echo "Creating new container..." + docker run \ + --detach \ + --env HOME=$HOME \ + --name $CONTAINER_NAME \ + --volume $REPOROOT:$HOME/termux-packages \ + --tty \ + $IMAGE_NAME + if [ $(id -u) -ne 1000 -a $(id -u) -ne 0 ] + then + echo "Changed builder uid/gid... (this may take a while)" + docker exec --tty $CONTAINER_NAME chown -R $(id -u) $HOME + docker exec --tty $CONTAINER_NAME chown -R $(id -u) /data + docker exec --tty $CONTAINER_NAME usermod -u $(id -u) builder + docker exec --tty $CONTAINER_NAME groupmod -g $(id -g) builder + fi +} + +if [ "$#" -eq "0" ]; then + docker exec --interactive --tty --user $USER $CONTAINER_NAME bash +else + docker exec --interactive --tty --user $USER $CONTAINER_NAME $@ +fi -docker run \ - -v $PWD:/root/termux-packages \ - -v $HOME/termux:/root/termux \ - -ti $IMAGE_NAME bash