• A
    tests/docker: add basic user mapping support · 414a8ce5
    Alex Bennée 提交于
    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: NAlex Bennée <alex.bennee@linaro.org>
    Reviewed-by: NFam Zheng <famz@redhat.com>
    Tested-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
    Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
    Message-Id: <20170220105139.21581-2-alex.bennee@linaro.org>
    Signed-off-by: NFam Zheng <famz@redhat.com>
    414a8ce5
docker.py 11.7 KB