Fam Zheng <[email protected]> writes:
> 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]))
That might work better... I'll give that a go on v2
>
> 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
>>
--
Alex Bennée