This patchset add 2 more architectures to the cross-build farm. - Reorganize Dockerfiles to use less layers, resulting in smaller images. This also reduce time of image transfer, for example while using: `docker save qemu:debian | ssh remote docker load` - Install more debian packages so the configure script enable more features and more code can be compiled/covered. - There are still some incorrect multiarch packages on debian/jessie used in the docker images, add a script to generate fake packages and avoid dependencies issues. - Modify the docker.py script to include an extra file while building images.
There is still some issue trying to cross-build mips64el-softmmu, it seems the cross tools use the system outdated libfdt instead of the one checkouted in the dtc submodule. I disabled this target for now. I had some issues in some jobs, git reporting "Problem with the SSL CA cert" trying to clone from github.com. I enabled GIT_CURL_VERBOSE but didn't want to spend more time on this right now so I disabled the verification by setting GIT_SSL_NO_VERIFY. Since we use Shippable services to compile the codebase and not to release binaries it seemed Ok to me. The branch https://github.com/philmd/qemu/tree/docker_shippable can be checked here at Shippable: https://app.shippable.com/github/philmd/qemu/status/dashboard With the free open source projects service, each arch builds in around ~9min, the 5 jobs take ~44min in total. It seems each docker image is rebuilt from scratch, maybe we could save a lot pushing/pulling to a registry. Regards, Phil. Philippe Mathieu-Daudé (23): shippable: use C locale to simplify console output shippable: build using all available cpus shippable: ignore SSL verification docker: compact debian base docker: compact debian armhf docker: compact debian arm64 docker: add extra libs to armhf target to extend codebase coverage docker: add extra libs to arm64 target to extend codebase coverage docker: add extra libs to s390x target to extend codebase coverage docker: add mipsel build target shippable: add mipsel target docker: let _copy_with_mkdir() sub_path argument be optional docker: add --include-file argument to 'build' command docker: add 'apt-fake' script which generate fake debian packages docker: fix mipsel debian/stable dependencies problem shippable: do not initialize submodules automatically shippable: use dtc submodule if distrib packages are too old shippable: temporary disable mips64el-softmmu build docker: add powerpc build target shippable: add powerpc target docker: fix powerpc debian/stable dependencies problem MAINTAINERS: add Shippable automation platform URL MAINTAINERS: self-appoint me as reviewer in build/test automation .shippable.yml | 23 ++++++++++- MAINTAINERS | 2 + tests/docker/Makefile.include | 7 +++- tests/docker/docker.py | 7 +++- tests/docker/dockerfiles/debian-apt-fake.sh | 46 ++++++++++++++++++++++ tests/docker/dockerfiles/debian-arm64-cross.docker | 16 ++++++-- tests/docker/dockerfiles/debian-armhf-cross.docker | 16 ++++++-- .../docker/dockerfiles/debian-mipsel-cross.docker | 30 ++++++++++++++ .../docker/dockerfiles/debian-powerpc-cross.docker | 30 ++++++++++++++ tests/docker/dockerfiles/debian-s390x-cross.docker | 6 +++ tests/docker/dockerfiles/debian.docker | 24 ++++++----- 11 files changed, 186 insertions(+), 21 deletions(-) create mode 100755 tests/docker/dockerfiles/debian-apt-fake.sh create mode 100644 tests/docker/dockerfiles/debian-mipsel-cross.docker create mode 100644 tests/docker/dockerfiles/debian-powerpc-cross.docker -- 2.11.0