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
>