Misc build and test fixes:
- force NOUSER for base docker images - don't run TCG VM tests by default - remove useless meson test - add Centos 8 custom runner - split up custom-runners to individual files - skip cirrus checks on master/stable branches -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmGT2rEACgkQ+9DbCVqe KkTVxQf/UtEEoDMawycd37Z4cOE2SlS4FZYhvysToYcP8ltPQo6pWmA8bfqIlkFw 6+d5b5u2n7jQslnsEEavm6sxKoYWqWM0WF/hy69ye6osv494v9RyTHRF9AKu3CFE Hg0OhsgTD2/eDIQat8hSSZOJp+axOvG7RA1fIrDTXfMKklwwQquyyCQcNNBnIcL4 RRVpQ72YHcJiMNY9mmIFjsBlTZeBGuaAoOgUxXohwC9YGjxm0xc8ZMmAvr3jiqTY Wji/ij8AiXP6JLPzlqIkJU+wPAsZNSGxGxeek5FSFTvsODMMlMKQsWvPLQb5vsMp EhNber7jqB0T5LN4nuo0PvyjPG3vUQ== =z26X -----END PGP SIGNATURE----- Merge tag 'pull-for-6.2-161121-1' of https://github.com/stsquad/qemu into staging Misc build and test fixes: - force NOUSER for base docker images - don't run TCG VM tests by default - remove useless meson test - add Centos 8 custom runner - split up custom-runners to individual files - skip cirrus checks on master/stable branches # gpg: Signature made Tue 16 Nov 2021 05:22:09 PM CET # gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full] * tag 'pull-for-6.2-161121-1' of https://github.com/stsquad/qemu: gitlab: skip cirrus jobs on master and stable branches gitlab-ci: Split custom-runners.yml in one file per runner Jobs based on custom runners: add CentOS Stream 8 meson: remove useless libdl test tests/vm: don't build using TCG by default tests/vm: sort the special variable list tests/docker: force NOUSER=1 for base images Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
commit
9104bd89da
@ -40,6 +40,9 @@
|
||||
- cat .gitlab-ci.d/cirrus/$NAME.yml
|
||||
- cirrus-run -v --show-build-log always .gitlab-ci.d/cirrus/$NAME.yml
|
||||
rules:
|
||||
# Allow on 'staging' branch and 'stable-X.Y-staging' branches only
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH !~ /staging/'
|
||||
when: never
|
||||
- if: "$CIRRUS_GITHUB_REPO && $CIRRUS_API_TOKEN"
|
||||
|
||||
x64-freebsd-12-build:
|
||||
|
@ -13,238 +13,7 @@
|
||||
variables:
|
||||
GIT_STRATEGY: clone
|
||||
|
||||
# All ubuntu-18.04 jobs should run successfully in an environment
|
||||
# setup by the scripts/ci/setup/build-environment.yml task
|
||||
# "Install basic packages to build QEMU on Ubuntu 18.04/20.04"
|
||||
ubuntu-18.04-s390x-all-linux-static:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_18.04
|
||||
- s390x
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
- if: "$S390X_RUNNER_AVAILABLE"
|
||||
script:
|
||||
# --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763
|
||||
# --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
- make --output-sync -j`nproc` check-tcg V=1
|
||||
|
||||
ubuntu-18.04-s390x-all:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_18.04
|
||||
- s390x
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
- if: "$S390X_RUNNER_AVAILABLE"
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
ubuntu-18.04-s390x-alldbg:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_18.04
|
||||
- s390x
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$S390X_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --enable-debug --disable-libssh
|
||||
- make clean
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
ubuntu-18.04-s390x-clang:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_18.04
|
||||
- s390x
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$S390X_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh --cc=clang --cxx=clang++ --enable-sanitizers
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
ubuntu-18.04-s390x-tci:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_18.04
|
||||
- s390x
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$S390X_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh --enable-tcg-interpreter
|
||||
- make --output-sync -j`nproc`
|
||||
|
||||
ubuntu-18.04-s390x-notcg:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_18.04
|
||||
- s390x
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$S390X_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh --disable-tcg
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
# All ubuntu-20.04 jobs should run successfully in an environment
|
||||
# setup by the scripts/ci/setup/qemu/build-environment.yml task
|
||||
# "Install basic packages to build QEMU on Ubuntu 18.04/20.04"
|
||||
ubuntu-20.04-aarch64-all-linux-static:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_20.04
|
||||
- aarch64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
- if: "$AARCH64_RUNNER_AVAILABLE"
|
||||
script:
|
||||
# --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763
|
||||
# --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
- make --output-sync -j`nproc` check-tcg V=1
|
||||
|
||||
ubuntu-20.04-aarch64-all:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_20.04
|
||||
- aarch64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$AARCH64_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
ubuntu-20.04-aarch64-alldbg:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_20.04
|
||||
- aarch64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
- if: "$AARCH64_RUNNER_AVAILABLE"
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --enable-debug --disable-libssh
|
||||
- make clean
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
ubuntu-20.04-aarch64-clang:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_20.04
|
||||
- aarch64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$AARCH64_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh --cc=clang-10 --cxx=clang++-10 --enable-sanitizers
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
ubuntu-20.04-aarch64-tci:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_20.04
|
||||
- aarch64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$AARCH64_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh --enable-tcg-interpreter
|
||||
- make --output-sync -j`nproc`
|
||||
|
||||
ubuntu-20.04-aarch64-notcg:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_20.04
|
||||
- aarch64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$AARCH64_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh --disable-tcg
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
include:
|
||||
- local: '/.gitlab-ci.d/custom-runners/ubuntu-18.04-s390x.yml'
|
||||
- local: '/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml'
|
||||
- local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
|
||||
|
28
.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml
Normal file
28
.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml
Normal file
@ -0,0 +1,28 @@
|
||||
centos-stream-8-x86_64:
|
||||
allow_failure: true
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- centos_stream_8
|
||||
- x86_64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
- if: "$CENTOS_STREAM_8_x86_64_RUNNER_AVAILABLE"
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
|
||||
when: on_failure
|
||||
expire_in: 7 days
|
||||
paths:
|
||||
- build/tests/results/latest/results.xml
|
||||
- build/tests/results/latest/test-results
|
||||
reports:
|
||||
junit: build/tests/results/latest/results.xml
|
||||
before_script:
|
||||
- JOBS=$(expr $(nproc) + 1)
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../scripts/ci/org.centos/stream/8/x86_64/configure
|
||||
- make -j"$JOBS"
|
||||
- make NINJA=":" check
|
||||
- ../scripts/ci/org.centos/stream/8/x86_64/test-avocado
|
118
.gitlab-ci.d/custom-runners/ubuntu-18.04-s390x.yml
Normal file
118
.gitlab-ci.d/custom-runners/ubuntu-18.04-s390x.yml
Normal file
@ -0,0 +1,118 @@
|
||||
# All ubuntu-18.04 jobs should run successfully in an environment
|
||||
# setup by the scripts/ci/setup/build-environment.yml task
|
||||
# "Install basic packages to build QEMU on Ubuntu 18.04/20.04"
|
||||
|
||||
ubuntu-18.04-s390x-all-linux-static:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_18.04
|
||||
- s390x
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
- if: "$S390X_RUNNER_AVAILABLE"
|
||||
script:
|
||||
# --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763
|
||||
# --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
- make --output-sync -j`nproc` check-tcg V=1
|
||||
|
||||
ubuntu-18.04-s390x-all:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_18.04
|
||||
- s390x
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
- if: "$S390X_RUNNER_AVAILABLE"
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
ubuntu-18.04-s390x-alldbg:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_18.04
|
||||
- s390x
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$S390X_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --enable-debug --disable-libssh
|
||||
- make clean
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
ubuntu-18.04-s390x-clang:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_18.04
|
||||
- s390x
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$S390X_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh --cc=clang --cxx=clang++ --enable-sanitizers
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
ubuntu-18.04-s390x-tci:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_18.04
|
||||
- s390x
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$S390X_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh --enable-tcg-interpreter
|
||||
- make --output-sync -j`nproc`
|
||||
|
||||
ubuntu-18.04-s390x-notcg:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_18.04
|
||||
- s390x
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$S390X_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh --disable-tcg
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
118
.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml
Normal file
118
.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml
Normal file
@ -0,0 +1,118 @@
|
||||
# All ubuntu-20.04 jobs should run successfully in an environment
|
||||
# setup by the scripts/ci/setup/qemu/build-environment.yml task
|
||||
# "Install basic packages to build QEMU on Ubuntu 18.04/20.04"
|
||||
|
||||
ubuntu-20.04-aarch64-all-linux-static:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_20.04
|
||||
- aarch64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
- if: "$AARCH64_RUNNER_AVAILABLE"
|
||||
script:
|
||||
# --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763
|
||||
# --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
- make --output-sync -j`nproc` check-tcg V=1
|
||||
|
||||
ubuntu-20.04-aarch64-all:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_20.04
|
||||
- aarch64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$AARCH64_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
ubuntu-20.04-aarch64-alldbg:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_20.04
|
||||
- aarch64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
- if: "$AARCH64_RUNNER_AVAILABLE"
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --enable-debug --disable-libssh
|
||||
- make clean
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
ubuntu-20.04-aarch64-clang:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_20.04
|
||||
- aarch64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$AARCH64_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh --cc=clang-10 --cxx=clang++-10 --enable-sanitizers
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
||||
|
||||
ubuntu-20.04-aarch64-tci:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_20.04
|
||||
- aarch64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$AARCH64_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh --enable-tcg-interpreter
|
||||
- make --output-sync -j`nproc`
|
||||
|
||||
ubuntu-20.04-aarch64-notcg:
|
||||
needs: []
|
||||
stage: build
|
||||
tags:
|
||||
- ubuntu_20.04
|
||||
- aarch64
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: "$AARCH64_RUNNER_AVAILABLE"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --disable-libssh --disable-tcg
|
||||
- make --output-sync -j`nproc`
|
||||
- make --output-sync -j`nproc` check V=1
|
@ -10,7 +10,7 @@ tcg_ss.add(files(
|
||||
))
|
||||
tcg_ss.add(when: 'CONFIG_USER_ONLY', if_true: files('user-exec.c'))
|
||||
tcg_ss.add(when: 'CONFIG_SOFTMMU', if_false: files('user-exec-stub.c'))
|
||||
tcg_ss.add(when: 'CONFIG_PLUGIN', if_true: [files('plugin-gen.c'), libdl])
|
||||
tcg_ss.add(when: 'CONFIG_PLUGIN', if_true: [files('plugin-gen.c')])
|
||||
specific_ss.add_all(when: 'CONFIG_TCG', if_true: tcg_ss)
|
||||
|
||||
specific_ss.add(when: ['CONFIG_SOFTMMU', 'CONFIG_TCG'], if_true: files(
|
||||
|
@ -49,3 +49,10 @@ S390X_RUNNER_AVAILABLE
|
||||
If you've got access to an IBM Z host that can be used as a gitlab-CI
|
||||
runner, you can set this variable to enable the tests that require this
|
||||
kind of host. The runner should be tagged with "s390x".
|
||||
|
||||
CENTOS_STREAM_8_x86_64_RUNNER_AVAILABLE
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
If you've got access to a CentOS Stream 8 x86_64 host that can be
|
||||
used as a gitlab-CI runner, you can set this variable to enable the
|
||||
tests that require this kind of host. The runner should be tagged with
|
||||
both "centos_stream_8" and "x86_64".
|
||||
|
@ -566,13 +566,7 @@ endif
|
||||
spice_headers = spice.partial_dependency(compile_args: true, includes: true)
|
||||
|
||||
rt = cc.find_library('rt', required: false)
|
||||
libdl = not_found
|
||||
if 'CONFIG_PLUGIN' in config_host
|
||||
libdl = cc.find_library('dl', required: false)
|
||||
if not cc.has_function('dlopen', dependencies: libdl)
|
||||
error('dlopen not found')
|
||||
endif
|
||||
endif
|
||||
|
||||
libiscsi = not_found
|
||||
if not get_option('libiscsi').auto() or have_block
|
||||
libiscsi = dependency('libiscsi', version: '>=1.9.0',
|
||||
|
51
scripts/ci/org.centos/stream/8/build-environment.yml
Normal file
51
scripts/ci/org.centos/stream/8/build-environment.yml
Normal file
@ -0,0 +1,51 @@
|
||||
---
|
||||
- name: Installation of extra packages to build QEMU
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Extra check for CentOS Stream 8
|
||||
lineinfile:
|
||||
path: /etc/redhat-release
|
||||
line: CentOS Stream release 8
|
||||
state: present
|
||||
check_mode: yes
|
||||
register: centos_stream_8
|
||||
|
||||
- name: Enable PowerTools repo on CentOS Stream 8
|
||||
ini_file:
|
||||
path: /etc/yum.repos.d/CentOS-Stream-PowerTools.repo
|
||||
section: powertools
|
||||
option: enabled
|
||||
value: "1"
|
||||
when:
|
||||
- ansible_facts['distribution'] == 'CentOS'
|
||||
- ansible_facts['distribution_major_version'] == '8'
|
||||
- centos_stream_8
|
||||
|
||||
- name: Install basic packages to build QEMU on CentOS Stream 8
|
||||
dnf:
|
||||
name:
|
||||
- device-mapper-multipath-devel
|
||||
- glusterfs-api-devel
|
||||
- gnutls-devel
|
||||
- libcap-ng-devel
|
||||
- libcurl-devel
|
||||
- libfdt-devel
|
||||
- libiscsi-devel
|
||||
- libpmem-devel
|
||||
- librados-devel
|
||||
- librbd-devel
|
||||
- libseccomp-devel
|
||||
- libssh-devel
|
||||
- libxkbcommon-devel
|
||||
- ninja-build
|
||||
- numactl-devel
|
||||
- python3-sphinx
|
||||
- redhat-rpm-config
|
||||
- snappy-devel
|
||||
- spice-server-devel
|
||||
- systemd-devel
|
||||
state: present
|
||||
when:
|
||||
- ansible_facts['distribution'] == 'CentOS'
|
||||
- ansible_facts['distribution_major_version'] == '8'
|
||||
- centos_stream_8
|
208
scripts/ci/org.centos/stream/8/x86_64/configure
vendored
Executable file
208
scripts/ci/org.centos/stream/8/x86_64/configure
vendored
Executable file
@ -0,0 +1,208 @@
|
||||
#!/bin/sh -e
|
||||
#
|
||||
# Configuration for QEMU based on CentOS Stream 8 x86_64 builds
|
||||
#
|
||||
# The "configure" command line is based on:
|
||||
#
|
||||
# https://git.centos.org/rpms/qemu-kvm/blob/c8s-stream-rhel/f/SPECS/qemu-kvm.spec
|
||||
#
|
||||
# But, because the SPEC file contains a number of conditionals and
|
||||
# variable and expansions only available at RPM build time, this version
|
||||
# was initially generated from an actual RPM build on an x86_64 platform.
|
||||
#
|
||||
# From that initial version, options that are required or are a
|
||||
# consequence of non-upstream patches have been adapted. One example
|
||||
# is "--without-default-devices" which is *not* present here, given
|
||||
# that patches adding downstream specific devices are not available.
|
||||
#
|
||||
../configure \
|
||||
--prefix="/usr" \
|
||||
--libdir="/usr/lib64" \
|
||||
--datadir="/usr/share" \
|
||||
--sysconfdir="/etc" \
|
||||
--interp-prefix=/usr/qemu-%M \
|
||||
--localstatedir="/var" \
|
||||
--docdir="/usr/share/doc" \
|
||||
--libexecdir="/usr/libexec" \
|
||||
--extra-ldflags="-Wl,--build-id -Wl,-z,relro -Wl,-z,now" \
|
||||
--extra-cflags="-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection" \
|
||||
--with-suffix="qemu-kvm" \
|
||||
--firmwarepath=/usr/share/qemu-firmware \
|
||||
--with-git=meson \
|
||||
--with-git-submodules=update \
|
||||
--target-list="x86_64-softmmu" \
|
||||
--block-drv-rw-whitelist="qcow2,raw,file,host_device,nbd,iscsi,rbd,blkdebug,luks,null-co,nvme,copy-on-read,throttle,gluster" \
|
||||
--audio-drv-list="" \
|
||||
--block-drv-ro-whitelist="vmdk,vhdx,vpc,https,ssh" \
|
||||
--with-coroutine=ucontext \
|
||||
--with-git=git \
|
||||
--tls-priority=@QEMU,SYSTEM \
|
||||
--disable-attr \
|
||||
--disable-auth-pam \
|
||||
--disable-avx2 \
|
||||
--disable-avx512f \
|
||||
--disable-bochs \
|
||||
--disable-bpf \
|
||||
--disable-brlapi \
|
||||
--disable-bsd-user \
|
||||
--disable-bzip2 \
|
||||
--disable-cap-ng \
|
||||
--disable-capstone \
|
||||
--disable-cfi \
|
||||
--disable-cfi-debug \
|
||||
--disable-cloop \
|
||||
--disable-cocoa \
|
||||
--disable-coroutine-pool \
|
||||
--disable-crypto-afalg \
|
||||
--disable-curl \
|
||||
--disable-curses \
|
||||
--disable-debug-info \
|
||||
--disable-debug-mutex \
|
||||
--disable-debug-tcg \
|
||||
--disable-dmg \
|
||||
--disable-docs \
|
||||
--disable-fuse \
|
||||
--disable-fuse-lseek \
|
||||
--disable-gcrypt \
|
||||
--disable-gio \
|
||||
--disable-glusterfs \
|
||||
--disable-gnutls \
|
||||
--disable-gtk \
|
||||
--disable-guest-agent \
|
||||
--disable-guest-agent-msi \
|
||||
--disable-hax \
|
||||
--disable-hvf \
|
||||
--disable-iconv \
|
||||
--disable-kvm \
|
||||
--disable-libdaxctl \
|
||||
--disable-libiscsi \
|
||||
--disable-libnfs \
|
||||
--disable-libpmem \
|
||||
--disable-libssh \
|
||||
--disable-libudev \
|
||||
--disable-libusb \
|
||||
--disable-libxml2 \
|
||||
--disable-linux-aio \
|
||||
--disable-linux-io-uring \
|
||||
--disable-linux-user \
|
||||
--disable-live-block-migration \
|
||||
--disable-lto \
|
||||
--disable-lzfse \
|
||||
--disable-lzo \
|
||||
--disable-malloc-trim \
|
||||
--disable-membarrier \
|
||||
--disable-modules \
|
||||
--disable-module-upgrades \
|
||||
--disable-mpath \
|
||||
--disable-multiprocess \
|
||||
--disable-netmap \
|
||||
--disable-nettle \
|
||||
--disable-numa \
|
||||
--disable-nvmm \
|
||||
--disable-opengl \
|
||||
--disable-parallels \
|
||||
--disable-pie \
|
||||
--disable-pvrdma \
|
||||
--disable-qcow1 \
|
||||
--disable-qed \
|
||||
--disable-qom-cast-debug \
|
||||
--disable-rbd \
|
||||
--disable-rdma \
|
||||
--disable-replication \
|
||||
--disable-rng-none \
|
||||
--disable-safe-stack \
|
||||
--disable-sanitizers \
|
||||
--disable-sdl \
|
||||
--disable-sdl-image \
|
||||
--disable-seccomp \
|
||||
--disable-slirp-smbd \
|
||||
--disable-smartcard \
|
||||
--disable-snappy \
|
||||
--disable-sparse \
|
||||
--disable-spice \
|
||||
--disable-strip \
|
||||
--disable-system \
|
||||
--disable-tcg \
|
||||
--disable-tools \
|
||||
--disable-tpm \
|
||||
--disable-u2f \
|
||||
--disable-usb-redir \
|
||||
--disable-user \
|
||||
--disable-vde \
|
||||
--disable-vdi \
|
||||
--disable-vhost-crypto \
|
||||
--disable-vhost-kernel \
|
||||
--disable-vhost-net \
|
||||
--disable-vhost-scsi \
|
||||
--disable-vhost-user \
|
||||
--disable-vhost-user-blk-server \
|
||||
--disable-vhost-vdpa \
|
||||
--disable-vhost-vsock \
|
||||
--disable-virglrenderer \
|
||||
--disable-virtfs \
|
||||
--disable-virtiofsd \
|
||||
--disable-vnc \
|
||||
--disable-vnc-jpeg \
|
||||
--disable-vnc-png \
|
||||
--disable-vnc-sasl \
|
||||
--disable-vte \
|
||||
--disable-vvfat \
|
||||
--disable-werror \
|
||||
--disable-whpx \
|
||||
--disable-xen \
|
||||
--disable-xen-pci-passthrough \
|
||||
--disable-xfsctl \
|
||||
--disable-xkbcommon \
|
||||
--disable-zstd \
|
||||
--enable-attr \
|
||||
--enable-avx2 \
|
||||
--enable-cap-ng \
|
||||
--enable-capstone \
|
||||
--enable-coroutine-pool \
|
||||
--enable-curl \
|
||||
--enable-debug-info \
|
||||
--enable-docs \
|
||||
--enable-fdt \
|
||||
--enable-gcrypt \
|
||||
--enable-glusterfs \
|
||||
--enable-gnutls \
|
||||
--enable-guest-agent \
|
||||
--enable-iconv \
|
||||
--enable-kvm \
|
||||
--enable-libiscsi \
|
||||
--enable-libpmem \
|
||||
--enable-libssh \
|
||||
--enable-libusb \
|
||||
--enable-libudev \
|
||||
--enable-linux-aio \
|
||||
--enable-lzo \
|
||||
--enable-malloc-trim \
|
||||
--enable-modules \
|
||||
--enable-mpath \
|
||||
--enable-numa \
|
||||
--enable-opengl \
|
||||
--enable-pie \
|
||||
--enable-rbd \
|
||||
--enable-rdma \
|
||||
--enable-seccomp \
|
||||
--enable-snappy \
|
||||
--enable-smartcard \
|
||||
--enable-spice \
|
||||
--enable-system \
|
||||
--enable-tcg \
|
||||
--enable-tools \
|
||||
--enable-tpm \
|
||||
--enable-trace-backend=dtrace \
|
||||
--enable-usb-redir \
|
||||
--enable-virtiofsd \
|
||||
--enable-vhost-kernel \
|
||||
--enable-vhost-net \
|
||||
--enable-vhost-user \
|
||||
--enable-vhost-user-blk-server \
|
||||
--enable-vhost-vdpa \
|
||||
--enable-vhost-vsock \
|
||||
--enable-vnc \
|
||||
--enable-vnc-png \
|
||||
--enable-vnc-sasl \
|
||||
--enable-werror \
|
||||
--enable-xkbcommon
|
70
scripts/ci/org.centos/stream/8/x86_64/test-avocado
Executable file
70
scripts/ci/org.centos/stream/8/x86_64/test-avocado
Executable file
@ -0,0 +1,70 @@
|
||||
#!/bin/sh -e
|
||||
#
|
||||
# Runs a previously vetted list of tests, either marked explicitly for
|
||||
# KVM and x86_64, or tests that are generic enough to be valid for all
|
||||
# targets. Such a test list can be generated with:
|
||||
#
|
||||
# ./tests/venv/bin/avocado list --filter-by-tags-include-empty \
|
||||
# --filter-by-tags-include-empty-key -t accel:kvm,arch:x86_64 \
|
||||
# tests/avocado/
|
||||
#
|
||||
# This is almost the complete list of avocado based tests available at
|
||||
# the time this was compile, with the following exceptions:
|
||||
#
|
||||
# * Require machine type "x-remote":
|
||||
# - tests/avocado/multiprocess.py:Multiprocess.test_multiprocess_x86_64
|
||||
#
|
||||
# * Needs superuser privileges:
|
||||
# - tests/avocado/virtiofs_submounts.py:VirtiofsSubmountsTest.test_pre_virtiofsd_set_up
|
||||
# - tests/avocado/virtiofs_submounts.py:VirtiofsSubmountsTest.test_pre_launch_set_up
|
||||
# - tests/avocado/virtiofs_submounts.py:VirtiofsSubmountsTest.test_post_launch_set_up
|
||||
# - tests/avocado/virtiofs_submounts.py:VirtiofsSubmountsTest.test_post_mount_set_up
|
||||
# - tests/avocado/virtiofs_submounts.py:VirtiofsSubmountsTest.test_two_runs
|
||||
#
|
||||
# * Requires display type "egl-headless":
|
||||
# - tests/avocado/virtio-gpu.py:VirtioGPUx86.test_virtio_vga_virgl
|
||||
# - tests/avocado/virtio-gpu.py:VirtioGPUx86.test_vhost_user_vga_virgl
|
||||
#
|
||||
# * Test is marked (unconditionally) to be skipped:
|
||||
# - tests/avocado/virtio_check_params.py:VirtioMaxSegSettingsCheck.test_machine_types
|
||||
#
|
||||
make get-vm-images
|
||||
./tests/venv/bin/avocado run \
|
||||
--job-results-dir=tests/results/ \
|
||||
tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_i440fx_kvm \
|
||||
tests/avocado/boot_linux.py:BootLinuxX8664.test_pc_q35_kvm \
|
||||
tests/avocado/boot_linux_console.py:BootLinuxConsole.test_x86_64_pc \
|
||||
tests/avocado/cpu_queries.py:QueryCPUModelExpansion.test \
|
||||
tests/avocado/empty_cpu_model.py:EmptyCPUModel.test \
|
||||
tests/avocado/hotplug_cpu.py:HotPlugCPU.test \
|
||||
tests/avocado/info_usernet.py:InfoUsernet.test_hostfwd \
|
||||
tests/avocado/intel_iommu.py:IntelIOMMU.test_intel_iommu \
|
||||
tests/avocado/intel_iommu.py:IntelIOMMU.test_intel_iommu_pt \
|
||||
tests/avocado/intel_iommu.py:IntelIOMMU.test_intel_iommu_strict \
|
||||
tests/avocado/intel_iommu.py:IntelIOMMU.test_intel_iommu_strict_cm \
|
||||
tests/avocado/linux_initrd.py:LinuxInitrd.test_with_2gib_file_should_exit_error_msg_with_linux_v3_6 \
|
||||
tests/avocado/linux_initrd.py:LinuxInitrd.test_with_2gib_file_should_work_with_linux_v4_16 \
|
||||
tests/avocado/migration.py:Migration.test_migration_with_exec \
|
||||
tests/avocado/migration.py:Migration.test_migration_with_tcp_localhost \
|
||||
tests/avocado/migration.py:Migration.test_migration_with_unix \
|
||||
tests/avocado/pc_cpu_hotplug_props.py:OmittedCPUProps.test_no_die_id \
|
||||
tests/avocado/replay_kernel.py:ReplayKernelNormal.test_x86_64_pc \
|
||||
tests/avocado/reverse_debugging.py:ReverseDebugging_X86_64.test_x86_64_pc \
|
||||
tests/avocado/version.py:Version.test_qmp_human_info_version \
|
||||
tests/avocado/virtio_version.py:VirtioVersionCheck.test_conventional_devs \
|
||||
tests/avocado/virtio_version.py:VirtioVersionCheck.test_modern_only_devs \
|
||||
tests/avocado/vnc.py:Vnc.test_change_password \
|
||||
tests/avocado/vnc.py:Vnc.test_change_password_requires_a_password \
|
||||
tests/avocado/vnc.py:Vnc.test_no_vnc \
|
||||
tests/avocado/vnc.py:Vnc.test_no_vnc_change_password \
|
||||
tests/avocado/x86_cpu_model_versions.py:CascadelakeArchCapabilities.test_4_0 \
|
||||
tests/avocado/x86_cpu_model_versions.py:CascadelakeArchCapabilities.test_4_1 \
|
||||
tests/avocado/x86_cpu_model_versions.py:CascadelakeArchCapabilities.test_set_4_0 \
|
||||
tests/avocado/x86_cpu_model_versions.py:CascadelakeArchCapabilities.test_unset_4_1 \
|
||||
tests/avocado/x86_cpu_model_versions.py:CascadelakeArchCapabilities.test_v1_4_0 \
|
||||
tests/avocado/x86_cpu_model_versions.py:CascadelakeArchCapabilities.test_v1_set_4_0 \
|
||||
tests/avocado/x86_cpu_model_versions.py:CascadelakeArchCapabilities.test_v2_4_0 \
|
||||
tests/avocado/x86_cpu_model_versions.py:CascadelakeArchCapabilities.test_v2_unset_4_1 \
|
||||
tests/avocado/x86_cpu_model_versions.py:X86CPUModelAliases.test_4_0_alias_compatibility \
|
||||
tests/avocado/x86_cpu_model_versions.py:X86CPUModelAliases.test_4_1_alias \
|
||||
tests/avocado/x86_cpu_model_versions.py:X86CPUModelAliases.test_none_alias
|
17
scripts/ci/org.centos/stream/README
Normal file
17
scripts/ci/org.centos/stream/README
Normal file
@ -0,0 +1,17 @@
|
||||
This directory contains scripts for generating a build of QEMU that
|
||||
closely matches the CentOS Stream[1] builds of the qemu-kvm package.
|
||||
|
||||
To have the environment ready to configure, build QEMU and run tests,
|
||||
please start with a CentOS Stream machine and:
|
||||
|
||||
* apply the generic "build-environment.yml" playbook located at
|
||||
scripts/ci/setup
|
||||
|
||||
* apply the "build-environment.yml" in the directory following the
|
||||
CentOS Stream version (such as "8").
|
||||
|
||||
This currently only covers CentOS Stream 8 environments and
|
||||
packages[2].
|
||||
|
||||
[1] https://www.centos.org/centos-stream/
|
||||
[2] https://git.centos.org/rpms/qemu-kvm/commits/c8s-stream-rhel
|
@ -114,3 +114,41 @@
|
||||
when:
|
||||
- ansible_facts['distribution'] == 'Ubuntu'
|
||||
- ansible_facts['distribution_version'] == '20.04'
|
||||
|
||||
- name: Install basic packages to build QEMU on EL8
|
||||
dnf:
|
||||
# This list of packages start with tests/docker/dockerfiles/centos8.docker
|
||||
# but only include files that are common to all distro variants and present
|
||||
# in the standard repos (no add-ons)
|
||||
name:
|
||||
- bzip2
|
||||
- bzip2-devel
|
||||
- dbus-daemon
|
||||
- diffutils
|
||||
- gcc
|
||||
- gcc-c++
|
||||
- genisoimage
|
||||
- gettext
|
||||
- git
|
||||
- glib2-devel
|
||||
- libaio-devel
|
||||
- libepoxy-devel
|
||||
- libgcrypt-devel
|
||||
- lzo-devel
|
||||
- make
|
||||
- mesa-libEGL-devel
|
||||
- nettle-devel
|
||||
- nmap-ncat
|
||||
- perl-Test-Harness
|
||||
- pixman-devel
|
||||
- python36
|
||||
- rdma-core-devel
|
||||
- spice-glib-devel
|
||||
- spice-server
|
||||
- systemtap-sdt-devel
|
||||
- tar
|
||||
- zlib-devel
|
||||
state: present
|
||||
when:
|
||||
- ansible_facts['distribution_file_variety'] == 'RedHat'
|
||||
- ansible_facts['distribution_version'] == '8'
|
||||
|
@ -150,6 +150,9 @@ docker-image-debian-sparc64-cross: docker-image-debian10
|
||||
# The native build should never use the registry
|
||||
docker-image-debian-native: DOCKER_REGISTRY=
|
||||
|
||||
# base images should not add a local user
|
||||
docker-image-debian10: NOUSER=1
|
||||
docker-image-debian11: NOUSER=1
|
||||
|
||||
#
|
||||
# The build rule for hexagon-cross is special in so far for most of
|
||||
|
@ -2,16 +2,24 @@
|
||||
|
||||
.PHONY: vm-build-all vm-clean-all
|
||||
|
||||
HOST_ARCH = $(if $(ARCH),$(ARCH),$(shell uname -m))
|
||||
|
||||
EFI_AARCH64 = $(wildcard $(BUILD_DIR)/pc-bios/edk2-aarch64-code.fd)
|
||||
|
||||
IMAGES := freebsd netbsd openbsd centos fedora haiku.x86_64
|
||||
X86_IMAGES := freebsd netbsd openbsd centos fedora haiku.x86_64
|
||||
ifneq ($(GENISOIMAGE),)
|
||||
IMAGES += ubuntu.i386 centos
|
||||
X86_IMAGES += ubuntu.i386 centos
|
||||
ifneq ($(EFI_AARCH64),)
|
||||
IMAGES += ubuntu.aarch64 centos.aarch64
|
||||
ARM64_IMAGES += ubuntu.aarch64 centos.aarch64
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HOST_ARCH),x86_64)
|
||||
IMAGES=$(X86_IMAGES) $(if $(USE_TCG),$(ARM64_IMAGES))
|
||||
else ifeq ($(HOST_ARCH),aarch64)
|
||||
IMAGES=$(ARM64_IMAGES) $(if $(USE_TCG),$(X86_IMAGES))
|
||||
endif
|
||||
|
||||
IMAGES_DIR := $(HOME)/.cache/qemu-vm/images
|
||||
IMAGE_FILES := $(patsubst %, $(IMAGES_DIR)/%.img, $(IMAGES))
|
||||
|
||||
@ -43,7 +51,7 @@ else
|
||||
endif
|
||||
@echo " vm-build-haiku.x86_64 - Build QEMU in Haiku VM"
|
||||
@echo ""
|
||||
@echo " vm-build-all - Build QEMU in all VMs"
|
||||
@echo " vm-build-all - Build QEMU in: $(IMAGES)"
|
||||
@echo " vm-clean-all - Clean up VM images"
|
||||
@echo
|
||||
@echo "For trouble-shooting:"
|
||||
@ -52,21 +60,22 @@ endif
|
||||
@echo
|
||||
@echo "Special variables:"
|
||||
@echo " BUILD_TARGET=foo - Override the build target"
|
||||
@echo " TARGET_LIST=a,b,c - Override target list in builds"
|
||||
@echo ' EXTRA_CONFIGURE_OPTS="..."'
|
||||
@echo " J=[0..9]* - Override the -jN parameter for make commands"
|
||||
@echo " DEBUG=1 - Enable verbose output on host and interactive debugging"
|
||||
@echo ' EXTRA_CONFIGURE_OPTS="..." - Pass to configure step'
|
||||
@echo " J=[0..9]* - Override the -jN parameter for make commands"
|
||||
@echo " LOG_CONSOLE=1 - Log console to file in: ~/.cache/qemu-vm "
|
||||
@echo " V=1 - Enable verbose ouput on host and guest commands"
|
||||
@echo " QEMU_LOCAL=1 - Use QEMU binary local to this build."
|
||||
@echo " USE_TCG=1 - Use TCG for cross-arch images"
|
||||
@echo " QEMU=/path/to/qemu - Change path to QEMU binary"
|
||||
@echo " QEMU_IMG=/path/to/qemu-img - Change path to qemu-img tool"
|
||||
ifeq ($(HAVE_PYTHON_YAML),yes)
|
||||
@echo " QEMU_CONFIG=/path/conf.yml - Change path to VM configuration .yml file."
|
||||
else
|
||||
@echo " (install python3-yaml to enable support for yaml file to configure a VM.)"
|
||||
endif
|
||||
@echo " See conf_example_*.yml for file format details."
|
||||
@echo " QEMU_IMG=/path/to/qemu-img - Change path to qemu-img tool"
|
||||
@echo " QEMU_LOCAL=1 - Use QEMU binary local to this build."
|
||||
@echo " TARGET_LIST=a,b,c - Override target list in builds"
|
||||
@echo " V=1 - Enable verbose ouput on host and guest commands"
|
||||
|
||||
vm-build-all: $(addprefix vm-build-, $(IMAGES))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user