X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/e59984067b5a2530ef1afeeaa24161a6242e0c73..829516f1a4358f1d5e7ffdbd6145ac3c1b573c6d:/scripts/run-docker.sh diff --git a/scripts/run-docker.sh b/scripts/run-docker.sh index f751cf89..c0f833ba 100755 --- a/scripts/run-docker.sh +++ b/scripts/run-docker.sh @@ -1,24 +1,44 @@ #!/bin/sh set -e -u +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 +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 \ - -d \ - --name $CONTAINER_NAME \ - -v $PWD:/home/builder/termux-packages \ - -t $IMAGE_NAME + --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 -i -t -u builder $CONTAINER_NAME bash + docker exec --interactive --tty --user $USER $CONTAINER_NAME bash else - docker exec -i -t -u builder $CONTAINER_NAME $@ + docker exec --interactive --tty --user $USER $CONTAINER_NAME $@ fi