Skip to content

Rely on cf-built qemu? #320

@h-vetinari

Description

@h-vetinari

We have https://github.com/conda-forge/qemu-execve-feedstock now, and assuming this works, I think it'd be much nicer to rely on a conda-forge package than

current code to vendor qemu

# see https://gitlab.com/qemu-project/qemu/-/tags for versions;
# we use the RPMs from https://kojipkgs.fedoraproject.org/packages/qemu;
# avoid qemu builds from unreleased fedora versions, compare `build`
# vs. https://en.wikipedia.org/wiki/Fedora_Linux_release_history;
# prefer non-`.0` patch releases to try to avoid potential new regressions;
# if possible, check https://gitlab.com/qemu-project/qemu/-/issues
# for relevant issues in old vs new version;
version='8.2.8'
build='2.fc40'
for arch in aarch64 ppc64le s390x; do
curl -sL \
"https://kojipkgs.fedoraproject.org/packages/qemu/${version}/${build}/x86_64/qemu-user-static-${arch/ppc64le/ppc}-${version}-${build}.x86_64.rpm" |
bsdtar -xf- --strip-components=3 ./usr/bin/qemu-${arch}-static
done
sha256sum --check << 'EOF'
c41cd478bdcccbc76a0e35db8ba65861038cd8f0d6339abc0cfd19eadc335fc6 qemu-aarch64-static
9b5c44f35eceaf6484ec11bc03047001293586f9ae73861dde87329243d56ae7 qemu-ppc64le-static
767a23c0ec4570b28d352ad00c55c4fc2315d5707078d022c1d2cc07d827561e qemu-s390x-static
EOF

We also had issues with a major regression in QEMU v9 that forced us to go back to v8 (xref #300). It's very cumbersome to test these sort of changes before deploying them (we'd have to suppress that the :latest tag gets updated, and then override the image+tag in affected feedstocks). It'd be much nicer if we could just dial in the qemu version in remote_ci_setup via smithy, so that feedstocks can override this version locally without too much hassle.

Thoughts @conda-forge/core?

CC @conda-forge/qemu-execve

This would obsolete #298

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions