Philippe Mathieu-Daudé <[email protected]> writes:

> 32-bit host support is deprecated since commit 6d701c9bac1
> ("meson: Deprecate 32-bit host support"). Next commits will
> remove support for 32-bit ARM hosts. Stop cross-building
> QEMU on our CI. Remove the CI jobs and related Docker files.
>
> Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
> ---
>  configure                                     |   9 -
>  .gitlab-ci.d/container-cross.yml              |   6 -
>  .gitlab-ci.d/crossbuilds.yml                  |   7 -
>  python/qemu/utils/accel.py                    |   1 -
>  roms/edk2-build.py                            |   4 -
>  .../dockerfiles/debian-armhf-cross.docker     | 188 ------------------
>  tests/docker/dockerfiles/debian-bootstrap.pre |   5 +-
>  tests/lcitool/refresh                         |   5 -
>  8 files changed, 1 insertion(+), 224 deletions(-)
>  delete mode 100644 tests/docker/dockerfiles/debian-armhf-cross.docker
>
> diff --git a/configure b/configure
> index a2f66f7ff9c..4b8f92e822b 100755
> --- a/configure
> +++ b/configure
> @@ -1334,8 +1334,6 @@ fi
>  : ${cross_prefix_aarch64="aarch64-linux-gnu-"}
>  : ${cross_prefix_aarch64_be="$cross_prefix_aarch64"}
>  : ${cross_prefix_alpha="alpha-linux-gnu-"}
> -: ${cross_prefix_arm="arm-linux-gnueabihf-"}
> -: ${cross_prefix_armeb="$cross_prefix_arm"}
>  : ${cross_prefix_hexagon="hexagon-unknown-linux-musl-"}
>  : ${cross_prefix_loongarch64="loongarch64-unknown-linux-gnu-"}
>  : ${cross_prefix_hppa="hppa-linux-gnu-"}
> @@ -1359,8 +1357,6 @@ fi
>  
>  : ${cross_cc_aarch64_be="$cross_cc_aarch64"}
>  : ${cross_cc_cflags_aarch64_be="-mbig-endian"}
> -: ${cross_cc_armeb="$cross_cc_arm"}
> -: ${cross_cc_cflags_armeb="-mbig-endian"}
>  : ${cross_cc_hexagon="hexagon-unknown-linux-musl-clang"}
>  : ${cross_cc_cflags_hexagon="-mv73 -O2 -static"}
>  : ${cross_cc_cflags_i386="-m32"}
> @@ -1481,11 +1477,6 @@ probe_target_compiler() {
>          # We don't have any bigendian build tools so we only use this for 
> AArch64
>          container_image=debian-arm64-cross
>          ;;
> -      arm)
> -        # We don't have any bigendian build tools so we only use this for ARM
> -        container_image=debian-armhf-cross
> -        container_cross_prefix=arm-linux-gnueabihf-
> -        ;;

This isn't used for cross-builds but for building tests. So you need to
add a stanza above that passes:

  container_image=debian-all-test-cross

>        hexagon)
>          container_cross_prefix=hexagon-unknown-linux-musl-
>          container_cross_cc=${container_cross_prefix}clang
> diff --git a/.gitlab-ci.d/container-cross.yml 
> b/.gitlab-ci.d/container-cross.yml
> index 0fd7341afac..e7ce1392770 100644
> --- a/.gitlab-ci.d/container-cross.yml
> +++ b/.gitlab-ci.d/container-cross.yml
> @@ -22,12 +22,6 @@ arm64-debian-cross-container:
>    variables:
>      NAME: debian-arm64-cross
>  
> -armhf-debian-cross-container:
> -  extends: .container_job_template
> -  stage: containers
> -  variables:
> -    NAME: debian-armhf-cross
> -
>  hexagon-cross-container:
>    extends: .container_job_template
>    stage: containers
> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index 99dfa7eea6f..e0a68c2023d 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -1,13 +1,6 @@
>  include:
>    - local: '/.gitlab-ci.d/crossbuild-template.yml'
>  
> -cross-armhf-user:
> -  extends: .cross_user_build_job
> -  needs:
> -    - job: armhf-debian-cross-container
> -  variables:
> -    IMAGE: debian-armhf-cross
> -
>  cross-arm64-system:
>    extends: .cross_system_build_job
>    needs:
> diff --git a/python/qemu/utils/accel.py b/python/qemu/utils/accel.py
> index f915b646692..e6fca304b33 100644
> --- a/python/qemu/utils/accel.py
> +++ b/python/qemu/utils/accel.py
> @@ -26,7 +26,6 @@
>  # support which often includes its 32 bit cousin.
>  ADDITIONAL_ARCHES = {
>      "x86_64": "i386",
> -    "aarch64": "armhf",
>      "ppc64le": "ppc64",
>  }
>  
> diff --git a/roms/edk2-build.py b/roms/edk2-build.py
> index c7e9dc58ec0..683c622c3d6 100755
> --- a/roms/edk2-build.py
> +++ b/roms/edk2-build.py
> @@ -289,10 +289,6 @@ def prepare_env(cfg, silent = False):
>      os.environ['PYTHONHASHSEED'] = '1'
>  
>      # for cross builds
> -    if binary_exists('arm-linux-gnueabi-gcc'):
> -        # ubuntu
> -        os.environ['GCC5_ARM_PREFIX'] = 'arm-linux-gnueabi-'
> -        os.environ['GCC_ARM_PREFIX'] = 'arm-linux-gnueabi-'

Isn't this part of the firmware build? armhf guests aren't going away.

>      if binary_exists('loongarch64-linux-gnu-gcc'):
>          os.environ['GCC5_LOONGARCH64_PREFIX'] = 'loongarch64-linux-gnu-'
>          os.environ['GCC_LOONGARCH64_PREFIX'] = 'loongarch64-linux-gnu-'
> diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker 
> b/tests/docker/dockerfiles/debian-armhf-cross.docker
> deleted file mode 100644
> index 627d41c6dee..00000000000
> --- a/tests/docker/dockerfiles/debian-armhf-cross.docker
> +++ /dev/null
> @@ -1,188 +0,0 @@
> -# THIS FILE WAS AUTO-GENERATED
> -#
> -#  $ lcitool dockerfile --layers all --cross-arch armv7l debian-13 qemu
> -#
> -# https://gitlab.com/libvirt/libvirt-ci
> -
> -FROM docker.io/library/debian:13-slim
> -
> -RUN export DEBIAN_FRONTEND=noninteractive && \
> -    apt-get update && \
> -    apt-get install -y eatmydata && \
> -    eatmydata apt-get dist-upgrade -y && \
> -    eatmydata apt-get install --no-install-recommends -y \
> -                      bash \
> -                      bc \
> -                      bindgen \
> -                      bison \
> -                      bsdextrautils \
> -                      bzip2 \
> -                      ca-certificates \
> -                      ccache \
> -                      dbus \
> -                      debianutils \
> -                      diffutils \
> -                      exuberant-ctags \
> -                      findutils \
> -                      flex \
> -                      gcc \
> -                      gcovr \
> -                      gettext \
> -                      git \
> -                      hostname \
> -                      libclang-rt-dev \
> -                      libglib2.0-dev \
> -                      llvm \
> -                      locales \
> -                      make \
> -                      mtools \
> -                      ncat \
> -                      ninja-build \
> -                      openssh-client \
> -                      pkgconf \
> -                      python3 \
> -                      python3-numpy \
> -                      python3-opencv \
> -                      python3-pillow \
> -                      python3-pip \
> -                      python3-setuptools \
> -                      python3-sphinx \
> -                      python3-sphinx-rtd-theme \
> -                      python3-tomli \
> -                      python3-venv \
> -                      python3-wheel \
> -                      python3-yaml \
> -                      rpm2cpio \
> -                      rustc \
> -                      sed \
> -                      socat \
> -                      sparse \
> -                      swtpm \
> -                      tar \
> -                      tesseract-ocr \
> -                      tesseract-ocr-eng \
> -                      vulkan-tools \
> -                      xorriso \
> -                      zstd && \
> -    eatmydata apt-get autoremove -y && \
> -    eatmydata apt-get autoclean -y && \
> -    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
> -    dpkg-reconfigure locales && \
> -    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
> -
> -RUN /usr/bin/pip3 install meson==1.8.1
> -
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
> -ENV LANG "en_US.UTF-8"
> -ENV MAKE "/usr/bin/make"
> -ENV NINJA "/usr/bin/ninja"
> -ENV PYTHON "/usr/bin/python3"
> -
> -RUN export DEBIAN_FRONTEND=noninteractive && \
> -    dpkg --add-architecture armhf && \
> -    eatmydata apt-get update && \
> -    eatmydata apt-get dist-upgrade -y && \
> -    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
> -    eatmydata apt-get install --no-install-recommends -y \
> -                      gcc-arm-linux-gnueabihf \
> -                      libaio-dev:armhf \
> -                      libasan8:armhf \
> -                      libasound2-dev:armhf \
> -                      libattr1-dev:armhf \
> -                      libbpf-dev:armhf \
> -                      libbrlapi-dev:armhf \
> -                      libbz2-dev:armhf \
> -                      libc6-dev:armhf \
> -                      libcacard-dev:armhf \
> -                      libcap-ng-dev:armhf \
> -                      libcapstone-dev:armhf \
> -                      libcbor-dev:armhf \
> -                      libcmocka-dev:armhf \
> -                      libcurl4-gnutls-dev:armhf \
> -                      libdaxctl-dev:armhf \
> -                      libdrm-dev:armhf \
> -                      libepoxy-dev:armhf \
> -                      libfdt-dev:armhf \
> -                      libffi-dev:armhf \
> -                      libfuse3-dev:armhf \
> -                      libgbm-dev:armhf \
> -                      libgcrypt20-dev:armhf \
> -                      libglib2.0-dev:armhf \
> -                      libgnutls28-dev:armhf \
> -                      libgtk-3-dev:armhf \
> -                      libgtk-vnc-2.0-dev:armhf \
> -                      libibverbs-dev:armhf \
> -                      libiscsi-dev:armhf \
> -                      libjemalloc-dev:armhf \
> -                      libjpeg62-turbo-dev:armhf \
> -                      libjson-c-dev:armhf \
> -                      liblttng-ust-dev:armhf \
> -                      liblzo2-dev:armhf \
> -                      libncursesw5-dev:armhf \
> -                      libnfs-dev:armhf \
> -                      libnuma-dev:armhf \
> -                      libpam0g-dev:armhf \
> -                      libpcre2-dev:armhf \
> -                      libpipewire-0.3-dev:armhf \
> -                      libpixman-1-dev:armhf \
> -                      libpng-dev:armhf \
> -                      libpulse-dev:armhf \
> -                      librdmacm-dev:armhf \
> -                      libsasl2-dev:armhf \
> -                      libsdl2-dev:armhf \
> -                      libsdl2-image-dev:armhf \
> -                      libseccomp-dev:armhf \
> -                      libselinux1-dev:armhf \
> -                      libslirp-dev:armhf \
> -                      libsnappy-dev:armhf \
> -                      libsndio-dev:armhf \
> -                      libspice-protocol-dev:armhf \
> -                      libspice-server-dev:armhf \
> -                      libssh-dev:armhf \
> -                      libstd-rust-dev:armhf \
> -                      libsystemd-dev:armhf \
> -                      libtasn1-6-dev:armhf \
> -                      libubsan1:armhf \
> -                      libudev-dev:armhf \
> -                      liburing-dev:armhf \
> -                      libusb-1.0-0-dev:armhf \
> -                      libusbredirhost-dev:armhf \
> -                      libvdeplug-dev:armhf \
> -                      libvirglrenderer-dev:armhf \
> -                      libvte-2.91-dev:armhf \
> -                      libxdp-dev:armhf \
> -                      libzstd-dev:armhf \
> -                      nettle-dev:armhf \
> -                      systemtap-sdt-dev:armhf \
> -                      zlib1g-dev:armhf && \
> -    eatmydata apt-get autoremove -y && \
> -    eatmydata apt-get autoclean -y && \
> -    mkdir -p /usr/local/share/meson/cross && \
> -    printf "[binaries]\n\
> -c = '/usr/bin/arm-linux-gnueabihf-gcc'\n\
> -ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'\n\
> -strip = '/usr/bin/arm-linux-gnueabihf-strip'\n\
> -pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'\n\
> -\n\
> -[host_machine]\n\
> -system = 'linux'\n\
> -cpu_family = 'arm'\n\
> -cpu = 'armhf'\n\
> -endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabihf && \
> -    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show 
> > /packages.txt && \
> -    mkdir -p /usr/libexec/ccache-wrappers && \
> -    ln -s /usr/bin/ccache 
> /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc && \
> -    ln -s /usr/bin/ccache 
> /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-gcc
> -
> -ENV ABI "arm-linux-gnueabihf"
> -ENV MESON_OPTS "--cross-file=arm-linux-gnueabihf"
> -ENV RUST_TARGET "armv7-unknown-linux-gnueabihf"
> -ENV QEMU_CONFIGURE_OPTS --cross-prefix=arm-linux-gnueabihf-
> -ENV DEF_TARGET_LIST arm-softmmu,arm-linux-user
> -# As a final step configure the user (if env is defined)
> -ARG USER
> -ARG UID
> -RUN if [ "${USER}" ]; then \
> -  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
> -
> -ENV ENABLE_RUST 1
> diff --git a/tests/docker/dockerfiles/debian-bootstrap.pre 
> b/tests/docker/dockerfiles/debian-bootstrap.pre
> index 35c85f7db8a..0a652754dfd 100755
> --- a/tests/docker/dockerfiles/debian-bootstrap.pre
> +++ b/tests/docker/dockerfiles/debian-bootstrap.pre
> @@ -21,7 +21,7 @@ if [ -z $FAKEROOT ]; then
>  fi
>  
>  if [ -z "${DEB_ARCH}" ]; then
> -    echo "Please set DEB_ARCH to choose an architecture (e.g. armhf)" >&2
> +    echo "Please set DEB_ARCH to choose an architecture (e.g. arm64)" >&2
>      exit_and_skip
>  
>  fi
> @@ -99,9 +99,6 @@ else
>          amd64)
>              QEMU=qemu-i386
>              ;;
> -        armel|armhf)
> -            QEMU=qemu-arm
> -            ;;

Again this is for testing and building rootfs's so shouldn't be dropped
here.


>          arm64)
>              QEMU=qemu-aarch64
>              ;;
> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
> index df186caffe6..d3743ba73e8 100755
> --- a/tests/lcitool/refresh
> +++ b/tests/lcitool/refresh
> @@ -208,11 +208,6 @@ try:
>                          trailer=cross_build("aarch64-linux-gnu-",
>                                              
> "aarch64-softmmu,aarch64-linux-user"))
>  
> -    generate_dockerfile("debian-armhf-cross", "debian-13",
> -                        cross="armv7l",
> -                        trailer=cross_build("arm-linux-gnueabihf-",
> -                                            "arm-softmmu,arm-linux-user"))
> -
>      generate_dockerfile("debian-i686-cross", "debian-13",
>                          cross="i686",
>                          trailer=cross_build("i686-linux-gnu-",

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to