qemu-e2k/tests/docker
Alex Bennée 414a8ce57e tests/docker: add basic user mapping support
Currently all docker builds are done by exporting a tarball to the
docker container and running the build as the containers root user.
Other use cases are possible however and it is possible to map a part
of users file-system to the container. This is useful for example for
doing cross-builds of arbitrary source trees. For this to work
smoothly the container needs to have a user created that maps cleanly
to the host system.

This adds a -u option to the docker script so that:

  DEB_ARCH=armhf DEB_TYPE=stable ./tests/docker/docker.py build \
    -u --include-executable=arm-linux-user/qemu-arm \
    debian:armhf ./tests/docker/dockerfiles/debian-bootstrap.docker

Will build a container that can then be run like:

  docker run --rm -it -v /home/alex/lsrc/qemu/risu.git/:/src \
    --user=alex:alex -w /src/ debian:armhf \
    sh -c "make clean && ./configure -s && make"

All docker containers built will add the current user unless
explicitly disabled by specifying NOUSER when invoking the Makefile:

  make docker-image-debian-armhf-cross NOUSER=1

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Fam Zheng <famz@redhat.com>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20170220105139.21581-2-alex.bennee@linaro.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
2017-02-24 14:18:11 +08:00
..
dockerfiles tests/docker: add travis dockerfile 2016-10-17 10:05:48 +08:00
common.rc docker: Build in a clean directory 2016-10-02 09:47:23 +08:00
docker.py tests/docker: add basic user mapping support 2017-02-24 14:18:11 +08:00
Makefile.include tests/docker: add basic user mapping support 2017-02-24 14:18:11 +08:00
run docker: exec $CMD 2016-09-23 11:48:32 +08:00
test-build tests/docker: test-build script 2016-10-17 10:05:48 +08:00
test-clang docker: Build in a clean directory 2016-10-02 09:47:23 +08:00
test-full docker: Build in a clean directory 2016-10-02 09:47:23 +08:00
test-mingw tests/docker: make test-mingw honour TARGET_LIST 2016-10-17 10:05:48 +08:00
test-quick docker: Build in a clean directory 2016-10-02 09:47:23 +08:00
travis
travis.py