diff options
author | Peter Maydell | 2020-10-02 14:39:20 +0200 |
---|---|---|
committer | Peter Maydell | 2020-10-02 14:39:20 +0200 |
commit | 0d2a4545bf7e763984d3ee3e802617544cb7fc7a (patch) | |
tree | 482db2d8c9cf27ca18faa46312221c9c70b06b17 | |
parent | Merge remote-tracking branch 'remotes/jsnow-gitlab/tags/ide-pull-request' int... (diff) | |
parent | gitlab: split deprecated job into build/check stages (diff) | |
download | qemu-0d2a4545bf7e763984d3ee3e802617544cb7fc7a.tar.gz qemu-0d2a4545bf7e763984d3ee3e802617544cb7fc7a.tar.xz qemu-0d2a4545bf7e763984d3ee3e802617544cb7fc7a.zip |
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-and-python-021020-1' into staging
Python testing updates:
- drop python 3.5 test from travis
- replace Debian 9 containers with 10
- increase cross build timeout
- bump minimum python version in configure
- move user plugins tests to gitlab
- split deprecated builds into build and test
# gpg: Signature made Fri 02 Oct 2020 12:34:36 BST
# gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44
* remotes/stsquad/tags/pull-testing-and-python-021020-1:
gitlab: split deprecated job into build/check stages
gitlab: move linux-user plugins test across to gitlab
configure: Bump the minimum required Python version to 3.6
gitlab-ci: Increase the timeout for the cross-compiler builds
tests/docker: Remove old Debian 9 containers
shippable.yml: Remove the Debian9-based MinGW cross-compiler tests
tests/docker: Update the tricore container to debian 10
gitlab-ci: Remove the Debian9-based containers and containers-layer3
tests/docker: Use Fedora containers for MinGW cross-builds in the gitlab-CI
travis.yml: Drop the Python 3.5 build
travis.yml: Drop the superfluous Python 3.6 build
travis.yml: Update Travis to use Bionic and Focal instead of Xenial
travis.yml: Drop the default softmmu builds
migration: Silence compiler warning in global_state_store_running()
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | .gitlab-ci.d/containers.yml | 38 | ||||
-rw-r--r-- | .gitlab-ci.d/crossbuilds.yml | 5 | ||||
-rw-r--r-- | .gitlab-ci.yml | 29 | ||||
-rw-r--r-- | .shippable.yml | 4 | ||||
-rw-r--r-- | .travis.yml | 66 | ||||
-rwxr-xr-x | configure | 4 | ||||
-rw-r--r-- | docs/conf.py | 4 | ||||
-rw-r--r-- | migration/global_state.c | 4 | ||||
-rw-r--r-- | tests/docker/Makefile.include | 2 | ||||
-rw-r--r-- | tests/docker/dockerfiles/debian-tricore-cross.docker | 2 | ||||
-rw-r--r-- | tests/docker/dockerfiles/debian-win32-cross.docker | 38 | ||||
-rw-r--r-- | tests/docker/dockerfiles/debian-win64-cross.docker | 45 | ||||
-rw-r--r-- | tests/docker/dockerfiles/debian9-mxe.docker | 21 | ||||
-rw-r--r-- | tests/docker/dockerfiles/debian9.docker | 32 | ||||
-rw-r--r-- | tests/docker/dockerfiles/fedora-win32-cross.docker | 42 | ||||
-rw-r--r-- | tests/docker/dockerfiles/fedora-win64-cross.docker | 38 | ||||
-rw-r--r-- | tests/qemu-iotests/iotests.py | 2 |
17 files changed, 142 insertions, 234 deletions
diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml index 8c89efeb6d..11d079ea58 100644 --- a/.gitlab-ci.d/containers.yml +++ b/.gitlab-ci.d/containers.yml @@ -48,18 +48,6 @@ amd64-debian11-container: variables: NAME: debian11 -amd64-debian9-container: - <<: *container_job_definition - variables: - NAME: debian9 - -amd64-debian9-mxe-container: - <<: *container_job_definition - stage: containers-layer2 - needs: ['amd64-debian9-container'] - variables: - NAME: debian9-mxe - alpha-debian-cross-container: <<: *container_job_definition stage: containers-layer2 @@ -210,24 +198,10 @@ sparc64-debian-cross-container: tricore-debian-cross-container: <<: *container_job_definition stage: containers-layer2 - needs: ['amd64-debian9-container'] + needs: ['amd64-debian10-container'] variables: NAME: debian-tricore-cross -win32-debian-cross-container: - <<: *container_job_definition - stage: containers-layer3 - needs: ['amd64-debian9-mxe-container'] - variables: - NAME: debian-win32-cross - -win64-debian-cross-container: - <<: *container_job_definition - stage: containers-layer3 - needs: ['amd64-debian9-mxe-container'] - variables: - NAME: debian-win64-cross - xtensa-debian-cross-container: <<: *container_job_definition variables: @@ -248,6 +222,16 @@ i386-fedora-cross-container: variables: NAME: fedora-i386-cross +win32-fedora-cross-container: + <<: *container_job_definition + variables: + NAME: fedora-win32-cross + +win64-fedora-cross-container: + <<: *container_job_definition + variables: + NAME: fedora-win64-cross + amd64-ubuntu1804-container: <<: *container_job_definition variables: diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml index 4ec7226b5c..03ebfabb3f 100644 --- a/.gitlab-ci.d/crossbuilds.yml +++ b/.gitlab-ci.d/crossbuilds.yml @@ -2,6 +2,7 @@ .cross_system_build_job_template: &cross_system_build_job_definition stage: build image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest + timeout: 80m script: - mkdir build - cd build @@ -105,9 +106,9 @@ cross-s390x-user: cross-win32-system: <<: *cross_system_build_job_definition variables: - IMAGE: debian-win32-cross + IMAGE: fedora-win32-cross cross-win64-system: <<: *cross_system_build_job_definition variables: - IMAGE: debian-win64-cross + IMAGE: fedora-win64-cross diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a18e18b57e..a51c89554f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,6 @@ stages: - containers - containers-layer2 - - containers-layer3 - build - test @@ -245,6 +244,17 @@ build-user: CONFIGURE_ARGS: --disable-tools --disable-system MAKE_CHECK_ARGS: check-tcg +# Run check-tcg against linux-user (with plugins) +# we skip sparc64-linux-user until it has been fixed somewhat +# we skip cris-linux-user as it doesn't use the common run loop +build-user-plugins: + <<: *native_build_job_definition + variables: + IMAGE: debian-all-test-cross + CONFIGURE_ARGS: --disable-tools --disable-system --enable-plugins --enable-debug-tcg --target-list-exclude=sparc64-linux-user,cris-linux-user + MAKE_CHECK_ARGS: check-tcg + timeout: 1h 30m + build-clang: <<: *native_build_job_definition variables: @@ -260,9 +270,24 @@ build-deprecated: variables: IMAGE: debian-all-test-cross CONFIGURE_ARGS: --disable-docs --disable-tools - MAKE_CHECK_ARGS: check-tcg + MAKE_CHECK_ARGS: build-tcg TARGETS: ppc64abi32-linux-user tilegx-linux-user lm32-softmmu unicore32-softmmu + artifacts: + expire_in: 2 days + paths: + - build + +# We split the check-tcg step as test failures are expected but we still +# want to catch the build breaking. +check-deprecated: + <<: *native_test_job_definition + needs: + - job: build-deprecated + artifacts: true + variables: + IMAGE: debian-all-test-cross + MAKE_CHECK_ARGS: check-tcg allow_failure: true build-oss-fuzz: diff --git a/.shippable.yml b/.shippable.yml index 0b4fd6df1d..14350e6de8 100644 --- a/.shippable.yml +++ b/.shippable.yml @@ -7,10 +7,6 @@ env: matrix: - IMAGE=debian-amd64 TARGET_LIST=x86_64-softmmu,x86_64-linux-user - - IMAGE=debian-win32-cross - TARGET_LIST=arm-softmmu,i386-softmmu - - IMAGE=debian-win64-cross - TARGET_LIST=aarch64-softmmu,sparc64-softmmu,x86_64-softmmu - IMAGE=debian-armel-cross TARGET_LIST=arm-softmmu,arm-linux-user,armeb-linux-user - IMAGE=debian-armhf-cross diff --git a/.travis.yml b/.travis.yml index bd9a6fc06c..519e62432d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ # Additional builds with specific requirements for a full VM need to # be added as additional matrix: entries later on os: linux -dist: xenial +dist: focal language: c compiler: - gcc @@ -10,7 +10,7 @@ cache: # There is one cache per branch and compiler version. # characteristics of each job are used to identify the cache: # - OS name (currently only linux) - # - OS distribution (for Linux, xenial, trusty, or precise) + # - OS distribution (for Linux, bionic or focal) # - Names and values of visible environment variables set in .travis.yml or Settings panel timeout: 1200 ccache: true @@ -27,7 +27,7 @@ addons: - libattr1-dev - libbrlapi-dev - libcap-ng-dev - - libgcc-4.8-dev + - libgcc-7-dev - libgnutls28-dev - libgtk-3-dev - libiscsi-dev @@ -123,20 +123,6 @@ jobs: - CONFIG="--disable-system --static" - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" - - # we split the system builds as it takes a while to build them all - - name: "GCC (main-softmmu)" - env: - - CONFIG="--disable-user --target-list=${MAIN_SOFTMMU_TARGETS}" - - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" - - - - name: "GCC (other-softmmu)" - env: - - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}" - - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" - - # Just build tools and run minimal unit and softfloat checks - name: "GCC check-unit and check-softfloat" env: @@ -224,8 +210,10 @@ jobs: # gprof/gcov are GCC features - name: "GCC gprof/gcov" + dist: bionic env: - - CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=${MAIN_SOFTMMU_TARGETS}" + - CONFIG="--enable-gprof --enable-gcov --disable-libssh + --target-list=${MAIN_SOFTMMU_TARGETS}" after_success: - ${SRC_DIR}/scripts/travis/coverage-summary.sh @@ -265,25 +253,9 @@ jobs: - TEST_CMD="" - # Python builds - - name: "GCC Python 3.5 (x86_64-softmmu)" - env: - - CONFIG="--target-list=x86_64-softmmu" - - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" - language: python - python: 3.5 - - - - name: "GCC Python 3.6 (x86_64-softmmu)" - env: - - CONFIG="--target-list=x86_64-softmmu" - - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" - language: python - python: 3.6 - - # Using newer GCC with sanitizers - name: "GCC9 with sanitizers (softmmu)" + dist: bionic addons: apt: update: true @@ -299,7 +271,7 @@ jobs: - libattr1-dev - libbrlapi-dev - libcap-ng-dev - - libgnutls-dev + - libgnutls28-dev - libgtk-3-dev - libiscsi-dev - liblttng-ust-dev @@ -307,14 +279,13 @@ jobs: - libncurses5-dev - libnss3-dev - libpixman-1-dev - - libpng12-dev + - libpng-dev - librados-dev - libsdl2-dev - libsdl2-image-dev - libseccomp-dev - libspice-protocol-dev - libspice-server-dev - - libssh-dev - liburcu-dev - libusb-1.0-0-dev - libvte-2.91-dev @@ -324,11 +295,11 @@ jobs: compiler: none env: - COMPILER_NAME=gcc CXX=g++-9 CC=gcc-9 - - CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-pie --disable-linux-user" + - CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-linux-user" - TEST_CMD="" before_script: - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} - - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-g3 -O0 -Wno-error=stringop-truncation -fsanitize=thread" --extra-ldflags="-fuse-ld=gold" || { cat config.log && exit 1; } + - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread" || { cat config.log && exit 1; } # Run check-tcg against linux-user @@ -340,17 +311,6 @@ jobs: - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" - # Run check-tcg against linux-user (with plugins) - # we skip sparc64-linux-user until it has been fixed somewhat - # we skip cris-linux-user as it doesn't use the common run loop - - name: "GCC plugins check-tcg (user)" - env: - - CONFIG="--disable-system --enable-plugins --enable-debug-tcg --target-list-exclude=sparc64-linux-user,cris-linux-user" - - TEST_BUILD_CMD="make build-tcg" - - TEST_CMD="make check-tcg" - - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" - - # Run check-tcg against softmmu targets - name: "GCC check-tcg (some-softmmu)" env: @@ -370,7 +330,7 @@ jobs: - name: "[aarch64] GCC check-tcg" arch: arm64 - dist: xenial + dist: focal addons: apt_packages: - libaio-dev @@ -403,7 +363,7 @@ jobs: - name: "[ppc64] GCC check-tcg" arch: ppc64le - dist: xenial + dist: focal addons: apt_packages: - libaio-dev @@ -1964,8 +1964,8 @@ fi # Note that if the Python conditional here evaluates True we will exit # with status 1 which is a shell 'false' value. -if ! $python -c 'import sys; sys.exit(sys.version_info < (3,5))'; then - error_exit "Cannot use '$python', Python >= 3.5 is required." \ +if ! $python -c 'import sys; sys.exit(sys.version_info < (3,6))'; then + error_exit "Cannot use '$python', Python >= 3.6 is required." \ "Use --python=/path/to/python to specify a supported Python." fi diff --git a/docs/conf.py b/docs/conf.py index 606f623211..00e1b750e2 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -36,9 +36,9 @@ from sphinx.errors import ConfigError # In newer versions of Sphinx this will display nicely; in older versions # Sphinx will also produce a Python backtrace but at least the information # gets printed... -if sys.version_info < (3,5): +if sys.version_info < (3,6): raise ConfigError( - "QEMU requires a Sphinx that uses Python 3.5 or better\n") + "QEMU requires a Sphinx that uses Python 3.6 or better\n") # The per-manual conf.py will set qemu_docdir for a single-manual build; # otherwise set it here if this is an entire-manual-set build. diff --git a/migration/global_state.c b/migration/global_state.c index 25311479a4..a33947ca32 100644 --- a/migration/global_state.c +++ b/migration/global_state.c @@ -44,8 +44,8 @@ void global_state_store_running(void) { const char *state = RunState_str(RUN_STATE_RUNNING); assert(strlen(state) < sizeof(global_state.runstate)); - strncpy((char *)global_state.runstate, - state, sizeof(global_state.runstate)); + strpadcpy((char *)global_state.runstate, sizeof(global_state.runstate), + state, '\0'); } bool global_state_received(void) diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 75704268ff..02ec92830b 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -137,7 +137,7 @@ docker-image-debian-sparc64-cross: docker-image-debian10 docker-image-travis: NOUSER=1 # Specialist build images, sometimes very limited tools -docker-image-debian-tricore-cross: docker-image-debian9 +docker-image-debian-tricore-cross: docker-image-debian10 docker-image-debian-all-test-cross: docker-image-debian10 docker-image-debian-arm64-test-cross: docker-image-debian11 diff --git a/tests/docker/dockerfiles/debian-tricore-cross.docker b/tests/docker/dockerfiles/debian-tricore-cross.docker index 769d95c77b..985925134c 100644 --- a/tests/docker/dockerfiles/debian-tricore-cross.docker +++ b/tests/docker/dockerfiles/debian-tricore-cross.docker @@ -7,7 +7,7 @@ # # SPDX-License-Identifier: GPL-2.0-or-later # -FROM qemu/debian9 +FROM qemu/debian10 MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> diff --git a/tests/docker/dockerfiles/debian-win32-cross.docker b/tests/docker/dockerfiles/debian-win32-cross.docker deleted file mode 100644 index b045e821b9..0000000000 --- a/tests/docker/dockerfiles/debian-win32-cross.docker +++ /dev/null @@ -1,38 +0,0 @@ -# -# Docker mingw32 cross-compiler target -# -# This docker target builds on the debian Stretch MXE base image. -# -FROM qemu/debian9-mxe - -MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> - -ENV TARGET i686 - -ENV PATH $PATH:/usr/lib/mxe/usr/bin:/usr/lib/mxe/usr/$TARGET-w64-mingw32.shared/bin - -ENV PKG_CONFIG_PATH \ - $PKG_CONFIG_PATH:/usr/lib/mxe/usr/$TARGET-w64-mingw32.shared/lib/pkgconfig - -RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ - mxe-$TARGET-w64-mingw32.shared-bzip2 \ - mxe-$TARGET-w64-mingw32.shared-curl \ - mxe-$TARGET-w64-mingw32.shared-glib \ - mxe-$TARGET-w64-mingw32.shared-libgcrypt \ - mxe-$TARGET-w64-mingw32.shared-libusb1 \ - mxe-$TARGET-w64-mingw32.shared-lzo \ - mxe-$TARGET-w64-mingw32.shared-nettle \ - mxe-$TARGET-w64-mingw32.shared-ncurses \ - mxe-$TARGET-w64-mingw32.shared-nsis \ - mxe-$TARGET-w64-mingw32.shared-pixman \ - mxe-$TARGET-w64-mingw32.shared-pkgconf \ - mxe-$TARGET-w64-mingw32.shared-pthreads \ - mxe-$TARGET-w64-mingw32.shared-sdl2 \ - mxe-$TARGET-w64-mingw32.shared-sdl2-mixer \ - mxe-$TARGET-w64-mingw32.shared-sdl2-gfx \ - mxe-$TARGET-w64-mingw32.shared-zlib - -# Specify the cross prefix for this image (see tests/docker/common.rc) -ENV QEMU_CONFIGURE_OPTS --cross-prefix=$TARGET-w64-mingw32.shared- diff --git a/tests/docker/dockerfiles/debian-win64-cross.docker b/tests/docker/dockerfiles/debian-win64-cross.docker deleted file mode 100644 index 4cc4a3f365..0000000000 --- a/tests/docker/dockerfiles/debian-win64-cross.docker +++ /dev/null @@ -1,45 +0,0 @@ -# -# Docker mingw64 cross-compiler target -# -# This docker target builds on the debian Stretch MXE base image. -# -FROM qemu/debian9-mxe - -MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> - -ENV TARGET x86-64 - -ENV PATH $PATH:/usr/lib/mxe/usr/$TARGET-w64-mingw32.shared/bin - -ENV PKG_CONFIG_PATH \ - $PKG_CONFIG_PATH:/usr/lib/mxe/usr/$TARGET-w64-mingw32.shared/lib/pkgconfig - -RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ - mxe-$TARGET-w64-mingw32.shared-bzip2 \ - mxe-$TARGET-w64-mingw32.shared-curl \ - mxe-$TARGET-w64-mingw32.shared-glib \ - mxe-$TARGET-w64-mingw32.shared-libgcrypt \ - mxe-$TARGET-w64-mingw32.shared-libusb1 \ - mxe-$TARGET-w64-mingw32.shared-lzo \ - mxe-$TARGET-w64-mingw32.shared-nettle \ - mxe-$TARGET-w64-mingw32.shared-ncurses \ - mxe-$TARGET-w64-mingw32.shared-nsis \ - mxe-$TARGET-w64-mingw32.shared-pixman \ - mxe-$TARGET-w64-mingw32.shared-pkgconf \ - mxe-$TARGET-w64-mingw32.shared-pthreads \ - mxe-$TARGET-w64-mingw32.shared-sdl2 \ - mxe-$TARGET-w64-mingw32.shared-sdl2-mixer \ - mxe-$TARGET-w64-mingw32.shared-sdl2-gfx \ - mxe-$TARGET-w64-mingw32.shared-zlib \ - curl && \ - curl -s -S -o /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/WinHvEmulation.h \ - "https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include/winhvemulation.h?format=raw" && \ - curl -s -S -o /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/WinHvPlatform.h \ - "https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include/winhvplatform.h?format=raw" && \ - curl -s -S -o /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/winhvplatformdefs.h \ - "https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include/winhvplatformdefs.h?format=raw" - -# Specify the cross prefix for this image (see tests/docker/common.rc) -ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32.shared- diff --git a/tests/docker/dockerfiles/debian9-mxe.docker b/tests/docker/dockerfiles/debian9-mxe.docker deleted file mode 100644 index ae2c222a6f..0000000000 --- a/tests/docker/dockerfiles/debian9-mxe.docker +++ /dev/null @@ -1,21 +0,0 @@ -# -# Docker mingw cross-compiler target -# -# This docker target builds on the debian Stretch base image. -# -FROM qemu/debian9 - -MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> - -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt install -y --no-install-recommends gnupg dirmngr - -# Add the foreign architecture we want and install dependencies -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C6BF758A33A3A276 && \ - echo "deb http://pkg.mxe.cc/repos/apt stretch main" > /etc/apt/sources.list.d/mxeapt.list -RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ - $(apt-get -s install -y --no-install-recommends gw32.shared-mingw-w64 | egrep "^Inst mxe-x86-64-unknown-" | cut -d\ -f2) - -ENV PATH $PATH:/usr/lib/mxe/usr/bin/ diff --git a/tests/docker/dockerfiles/debian9.docker b/tests/docker/dockerfiles/debian9.docker deleted file mode 100644 index 3edb5147ef..0000000000 --- a/tests/docker/dockerfiles/debian9.docker +++ /dev/null @@ -1,32 +0,0 @@ -# -# Docker multiarch cross-compiler target -# -# This docker target is builds on Debian cross compiler targets to build distro -# with a selection of cross compilers for building test binaries. -# -# On its own you can't build much but the docker-foo-cross targets -# build on top of the base debian image. -# -FROM debian:stretch-slim - -# Duplicate deb line as deb-src -RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list - -# Install common build utilities -RUN apt update && \ - DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ - DEBIAN_FRONTEND=noninteractive eatmydata \ - apt install -y --no-install-recommends \ - bc \ - build-essential \ - ca-certificates \ - clang \ - gdb-multiarch \ - gettext \ - git \ - libncurses5-dev \ - pkg-config \ - psmisc \ - python3 \ - python3-setuptools \ - $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\ -f2) diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker b/tests/docker/dockerfiles/fedora-win32-cross.docker new file mode 100644 index 0000000000..5903e1b0b4 --- /dev/null +++ b/tests/docker/dockerfiles/fedora-win32-cross.docker @@ -0,0 +1,42 @@ +FROM fedora:32 + +# Please keep this list sorted alphabetically +ENV PACKAGES \ + bc \ + bzip2 \ + diffutils \ + findutils \ + gcc \ + gettext \ + git \ + hostname \ + make \ + meson \ + mingw32-bzip2 \ + mingw32-curl \ + mingw32-glib2 \ + mingw32-gmp \ + mingw32-gnutls \ + mingw32-gtk3 \ + mingw32-libjpeg-turbo \ + mingw32-libpng \ + mingw32-libtasn1 \ + mingw32-nettle \ + mingw32-nsis \ + mingw32-pixman \ + mingw32-pkg-config \ + mingw32-SDL2 \ + perl \ + perl-Test-Harness \ + python3 \ + python3-PyYAML \ + python3-setuptools \ + tar \ + which + +RUN dnf install -y $PACKAGES +RUN rpm -q $PACKAGES | sort > /packages.txt +ENV FEATURES mingw + +# Specify the cross prefix for this image (see tests/docker/common.rc) +ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32- diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker new file mode 100644 index 0000000000..7f03cd8ffc --- /dev/null +++ b/tests/docker/dockerfiles/fedora-win64-cross.docker @@ -0,0 +1,38 @@ +FROM fedora:32 + +# Please keep this list sorted alphabetically +ENV PACKAGES \ + bc \ + bzip2 \ + diffutils \ + findutils \ + gcc \ + gettext \ + git \ + hostname \ + make \ + meson \ + mingw64-bzip2 \ + mingw64-curl \ + mingw64-glib2 \ + mingw64-gmp \ + mingw64-gtk3 \ + mingw64-libjpeg-turbo \ + mingw64-libpng \ + mingw64-libtasn1 \ + mingw64-pixman \ + mingw64-pkg-config \ + perl \ + perl-Test-Harness \ + python3 \ + python3-PyYAML \ + python3-setuptools \ + tar \ + which + +RUN dnf install -y $PACKAGES +RUN rpm -q $PACKAGES | sort > /packages.txt +ENV FEATURES mingw + +# Specify the cross prefix for this image (see tests/docker/common.rc) +ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32- --disable-capstone diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 91e4a57126..f48460480a 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -40,8 +40,6 @@ sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) from qemu import qtest from qemu.qmp import QMPMessage -assert sys.version_info >= (3, 6) - # Use this logger for logging messages directly from the iotests module logger = logging.getLogger('qemu.iotests') logger.addHandler(logging.NullHandler()) |