On Wed, 07/18 11:04, Alex Bennée wrote: > Hi, > > Our existing support for docker is fairly x86 centric. While docker > itself has support for multiple architectures not all architectures > are equal. For example Debian only packages the widest range of > cross-compilers in it's x86 images (although for example armhf is > available on aarch64 based images). > > As the binfmt support is getting more solid we always have that fall > back option and I've converted a number of the guests that way. > Unfortunately I've overloaded the meaning of DOCKER_PARTIAL_IMAGES but > I was loathed to throw in yet another magic variable without some > discussion first. I'm not sure if my current path will end up with a > maze of twisty if/else statements all subtly alike.
Just my two cents. So far it looks reasonable. Though I guess we could give DOCKER_PARTIAL_IMAGES a better name or at least better documentation. Would a per-arch variable list look cleaner? Like DOCKER_IMAGES_GENERIC = debian DOCKER_IMAGES_X86_64 = ubuntu fedora centos7 DOCKER_PARTIAL_IMAGES_X86_64 = ... DOCKER_IMAGES_AARCH64 = ... DOCKER_PARTIAL_IMAGES_AARCH64 = ... Then the actual host arch can be used to expand rules: docker-all-images: $(DOCKER_IMAGES_GENERIC) docker-all-images: $(DOCKER_IMAGES_$(shell uname -m | tr '[a-z]' '[A-Z])) Fam > > Thoughts? > > Alex Bennée (10): > docker: rename docker-amd64 to docker-host > docker: change docker-image to docker-all-images target > docker: add a placeholder for handling non-x86 hosts > docker: don't include docker-arm64-cross on aarch64 hosts > docker: fall-back to binfmt_misc debian-mips64el-user-cross on non-x86 > docker: fall-back to binfmt_misc debian-ppc64el-user-cross on non-x86 > docker: fall-back to binfmt_misc debian-s390x-user-cross on non-x86 > docker: disable additional non-x86 images > tests: tcg skip docker images we can't build > tests/tcg: debian-mips64el-user-cross fallback > > Makefile | 4 +- > tests/docker/Makefile.include | 58 +++++++++++++++++-- > ...debian-amd64.docker => debian-host.docker} | 4 +- > .../debian-mips64el-user-cross.docker | 16 +++++ > .../debian-ppc64el-user-cross.docker | 16 +++++ > .../debian-s390x-user-cross.docker | 16 +++++ > tests/tcg/Makefile.include | 3 + > tests/tcg/Makefile.probe | 2 +- > tests/tcg/mips/Makefile.include | 5 ++ > 9 files changed, 116 insertions(+), 8 deletions(-) > rename tests/docker/dockerfiles/{debian-amd64.docker => debian-host.docker} > (91%) > create mode 100644 tests/docker/dockerfiles/debian-mips64el-user-cross.docker > create mode 100644 tests/docker/dockerfiles/debian-ppc64el-user-cross.docker > create mode 100644 tests/docker/dockerfiles/debian-s390x-user-cross.docker > > -- > 2.17.1 >