Skip to content
Snippets Groups Projects
Commit cf7b5c01 authored by Mads Kiilerich's avatar Mads Kiilerich
Browse files

dockerrpm: run docker build process as the current user, not as root

Docker can be run by ordinary users if they are in the docker group. The build
process would however be run as a root user, only protected by the sandboxing.
That caused problems with the shared directory where rpmbuild would be picky
about building from sources owned by less privileged users and producing files
owned by root.

Instead, add a build user with the right uid/gid to the image and run the
docker process as that user.
parent d2a00ced
No related branches found
No related tags found
No related merge requests found
......@@ -24,6 +24,12 @@
CONTAINER="hg-dockerrpm-$PLATFORM"
$DOCKER build --tag $CONTAINER - < $DFILE
$DOCKER run --rm -v $ROOTDIR:/hg $CONTAINER bash -c \
DBUILDUSER=build
(
cat $DFILE
echo RUN groupadd $DBUILDUSER -g `id -g`
echo RUN useradd $DBUILDUSER -u `id -u` -g $DBUILDUSER
) | $DOCKER build --tag $CONTAINER -
$DOCKER run -u $DBUILDUSER --rm -v $ROOTDIR:/hg $CONTAINER bash -c \
"cp -a hg hg-build; cd hg-build; make clean local $PLATFORM; cp packages/$PLATFORM/* /hg/packages/$PLATFORM/"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment