qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 414a8c: tests/docker: add basic user mapping


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 414a8c: tests/docker: add basic user mapping support
Date: Sat, 25 Feb 2017 09:45:09 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 414a8ce57e0b114a8c4cda143e34a3da0b321a23
      
https://github.com/qemu/qemu/commit/414a8ce57e0b114a8c4cda143e34a3da0b321a23
  Author: Alex Bennée <address@hidden>
  Date:   2017-02-24 (Fri, 24 Feb 2017)

  Changed paths:
    M tests/docker/Makefile.include
    M tests/docker/docker.py

  Log Message:
  -----------
  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 <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>


  Commit: 24e0131f372b3b3798460c6694d238ddbd32db11
      
https://github.com/qemu/qemu/commit/24e0131f372b3b3798460c6694d238ddbd32db11
  Author: Alex Bennée <address@hidden>
  Date:   2017-02-24 (Fri, 24 Feb 2017)

  Changed paths:
    M tests/docker/Makefile.include
    M tests/docker/common.rc
    A tests/docker/dockerfiles/debian-arm64-cross.docker
    A tests/docker/dockerfiles/debian-armhf-cross.docker
    A tests/docker/dockerfiles/debian.docker

  Log Message:
  -----------
  new: debian docker targets for cross-compiling

This provides a basic Debian install with access to the emdebian cross
compilers. The debian-armhf-cross and debian-arm64-cross targets build
on the basic Debian image to allow cross compiling to those targets.

A new environment variable (QEMU_CONFIGURE_OPTS) is set as part of the
docker container and passed to the build to specify the
--cross-prefix. The user still calls the build in the usual way, for
example:

  make address@hidden \
    TARGET_LIST="aarch64-softmmu,aarch64-linux-user"

Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>


  Commit: d92d886a3b6daadb79d1635ad281685e80d3ac98
      
https://github.com/qemu/qemu/commit/d92d886a3b6daadb79d1635ad281685e80d3ac98
  Author: Alex Bennée <address@hidden>
  Date:   2017-02-24 (Fri, 24 Feb 2017)

  Changed paths:
    A .shippable.yml
    M MAINTAINERS

  Log Message:
  -----------
  .shippable.yml: new CI provider

Ostensibly Shippable offers a similar set of services as Travis.
However they are focused on Docker container based work-flows so we
can use our existing containers to run a few extra builds - in this
case a bunch of cross-compiled targets on a Debian multiarch system.

Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>


  Commit: e70dc7f854392c7090db279b546b24c6b3ca6567
      
https://github.com/qemu/qemu/commit/e70dc7f854392c7090db279b546b24c6b3ca6567
  Author: Alex Bennée <address@hidden>
  Date:   2017-02-24 (Fri, 24 Feb 2017)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: merge Build and test automation with Docker tests

The docker framework is really just another piece in the build
automation puzzle so lets merge it together. For added bonus I've also
included the Travis and Patchew status links. The Shippable links will
be added later once mainline tests have been configured and setup.

Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>


  Commit: a8f159d45bcb78c00ea160bfc2b94512e4ed9910
      
https://github.com/qemu/qemu/commit/a8f159d45bcb78c00ea160bfc2b94512e4ed9910
  Author: Fam Zheng <address@hidden>
  Date:   2017-02-24 (Fri, 24 Feb 2017)

  Changed paths:
    M tests/docker/dockerfiles/fedora.docker

  Log Message:
  -----------
  docker: Install python2 explicitly in docker image

Python is no longer installed implicitly, but the QEMU build system
requires it. List it in PACKAGES.

Reported-by: Auger Eric <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Message-Id: <address@hidden>
Tested-by: Eric Auger <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>


  Commit: f62ab6bb8f6fce73ca70ea8e6e785ef002a05359
      
https://github.com/qemu/qemu/commit/f62ab6bb8f6fce73ca70ea8e6e785ef002a05359
  Author: Peter Maydell <address@hidden>
  Date:   2017-02-25 (Sat, 25 Feb 2017)

  Changed paths:
    A .shippable.yml
    M MAINTAINERS
    M tests/docker/Makefile.include
    M tests/docker/common.rc
    M tests/docker/docker.py
    A tests/docker/dockerfiles/debian-arm64-cross.docker
    A tests/docker/dockerfiles/debian-armhf-cross.docker
    A tests/docker/dockerfiles/debian.docker
    M tests/docker/dockerfiles/fedora.docker

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/famz/tags/for-upstream' into staging

Docker testing and shippable patches

Hi Peter,

These are testing and build automation patches:

- Shippable.com powered CI config
- Docker cross build
- Fixes and MAINTAINERS tweaks.

# gpg: Signature made Fri 24 Feb 2017 06:31:10 GMT
# gpg:                using RSA key 0xCA35624C6A9171C6
# gpg: Good signature from "Fam Zheng <address@hidden>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 5003 7CB7 9706 0F76 F021  AD56 CA35 624C 6A91 71C6

* remotes/famz/tags/for-upstream:
  docker: Install python2 explicitly in docker image
  MAINTAINERS: merge Build and test automation with Docker tests
  .shippable.yml: new CI provider
  new: debian docker targets for cross-compiling
  tests/docker: add basic user mapping support

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/d7941f4eed5f...f62ab6bb8f6f

reply via email to

[Prev in Thread] Current Thread [Next in Thread]