On 10/28/2026 4:08 PM, Pierrick Bouvier wrote: > This series was inspired by a recent post from Fabiano to provide container > images for migration tests: > https://lore.kernel.org/qemu-devel/[email protected]/T/#m353f119dc1a24fa437dde8a96d1891629e64303c > > The idea to be able to build and run any QEMU (past) release with containers > was > in my mind for some time, so I gave it a shot. Finally, it was easier than > expected to obtain a single dockerfile (with a few hacks) that works over all > our releases. > > Images have the absolute minimal content possible. It's only qemu binaries, > artifacts (roms, keymap, ...), and libraries. There is no shell or any other > tool included. As a result, images have a size from 581MB (v3.1.0) to 1.1GB > (v11.1.2). > > This series adds: > - a unique dockerfile to build any QEMU release. User has to provide an > explicit > Ubuntu version when building a given QEMU version. > - A script build_release_container.sh which automatically detects which ubuntu > version a given release should be buildable on (based on date). It works > great, and the heuristic works for all our versions. > > TLDR: > $ ./scripts/build_release_container.sh v3.1.0 > $ podman run -it --rm qemu/v3.1.0 qemu-system-arm --version > > v5 > -- > > - fix build with docker (missing context) > > v4 > -- > > - supports build for any version (tag or sha-1) > - adds an optional parameter to build_release_container.sh to use an > alternative > URL for QEMU repo > - simplified Dockerfile by supporting any version >= 3.1.0. > - removed patch 3 generating wrappers to published docker images > > v3 > -- > > - extend dockerfile to support ubuntu 12.04, and lower older revision we can > build from v1.6.1 to v0.12.0. > > v2 > -- > > - fix generate_release_links.sh: was missing userns option for podman > - dockerfile: cleanup "|| true" and replaced with proper ifs > > Pierrick Bouvier (2): > tests/docker/dockerfiles: add release.docker > scripts: add build_release_container.sh > > scripts/build_release_container.sh | 63 +++++++++++++++++++++++++ > tests/docker/dockerfiles/release.docker | 48 +++++++++++++++++++ > 2 files changed, 111 insertions(+) > create mode 100755 scripts/build_release_container.sh > create mode 100644 tests/docker/dockerfiles/release.docker >
This was merged into master (61436f5ff1c4e5ee8f60fa1a37962a60f73ea7a4). Regards, Pierrick
