Fix the uid in the docker container, but only when needed and make the bind mount work for arbitrary pwd...

This commit is contained in:
olg 2017-07-14 00:27:46 +02:00 committed by Fredrik Fornwall
parent 3ac5e56343
commit 09c5e72a9a
1 changed files with 12 additions and 7 deletions

View File

@ -2,10 +2,12 @@
set -e -u
HOME=/home/builder
REPOROOT="$(dirname $(readlink -f $0))/../"
IMAGE_NAME=termux/package-builder
CONTAINER_NAME=termux-package-builder
[ `id -u` -eq 0 ] && USER=root || USER=builder
[ $(id -u) -eq 0 ] && USER=root || USER=builder
echo "Running container '$CONTAINER_NAME' from image '$IMAGE_NAME'..."
@ -15,14 +17,17 @@ docker start $CONTAINER_NAME > /dev/null 2> /dev/null || {
--detach \
--env HOME=$HOME \
--name $CONTAINER_NAME \
--volume $PWD:$HOME/termux-packages \
--volume $REPOROOT:$HOME/termux-packages \
--tty \
$IMAGE_NAME
echo "Changed builder uid/gid..."
docker exec $CONTAINER_NAME chown -R `id -u` /data >& /dev/null
docker exec $CONTAINER_NAME usermod -u `id -u` builder >& /dev/null
docker exec $CONTAINER_NAME groupmod -g `id -g` builder >& /dev/null
if [ $(id -u) -ne 1000 ]
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