[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 06/23] tests/docker: remove FEATURES env var from templates
From: |
Daniel P . Berrangé |
Subject: |
[PATCH 06/23] tests/docker: remove FEATURES env var from templates |
Date: |
Tue, 1 Dec 2020 17:18:08 +0000 |
In preparation for switching to auto-generated dockerfiles, remove the
FEATURES env variable. The equivalent functionality can be achieved in
most cases by just looking for existance of a binary.
The cases which don't correspond to binaries are simply dropped because
configure/meson will probe for any requested feature anyway.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
tests/docker/common.rc | 19 ++++++++++++++-----
tests/docker/dockerfiles/debian10.docker | 2 --
.../dockerfiles/fedora-win32-cross.docker | 1 -
.../dockerfiles/fedora-win64-cross.docker | 1 -
tests/docker/dockerfiles/fedora.docker | 1 -
tests/docker/dockerfiles/ubuntu.docker | 1 -
tests/docker/dockerfiles/ubuntu1804.docker | 1 -
tests/docker/dockerfiles/ubuntu2004.docker | 1 -
tests/docker/run | 3 ---
tests/docker/test-clang | 2 +-
tests/docker/test-debug | 2 +-
tests/docker/test-mingw | 3 ++-
tests/docker/test-misc | 2 +-
tests/docker/test-tsan | 2 +-
14 files changed, 20 insertions(+), 21 deletions(-)
diff --git a/tests/docker/common.rc b/tests/docker/common.rc
index ebc5b97ecf..c5cc33d366 100755
--- a/tests/docker/common.rc
+++ b/tests/docker/common.rc
@@ -15,14 +15,23 @@
# overriden by TARGET_LIST if the user sets it.
DEF_TARGET_LIST=${DEF_TARGET_LIST:-"x86_64-softmmu,aarch64-softmmu"}
-requires()
+requires_binary()
{
+ found=0
for c in $@; do
- if ! echo "$FEATURES" | grep -wq -e "$c"; then
- echo "Prerequisite '$c' not present, skip"
- exit 0
- fi
+ for d in /bin /usr/bin /usr/local/bin
+ do
+ if test -f "$d/$c"
+ then
+ found=1
+ fi
+ done
done
+ if test "$found" != "1"
+ then
+ echo "Prerequisite '$c' not present, skip"
+ exit 0
+ fi
}
configure_qemu()
diff --git a/tests/docker/dockerfiles/debian10.docker
b/tests/docker/dockerfiles/debian10.docker
index 6dc0643b29..77efed21a9 100644
--- a/tests/docker/dockerfiles/debian10.docker
+++ b/tests/docker/dockerfiles/debian10.docker
@@ -32,5 +32,3 @@ RUN apt update && \
python3 \
python3-sphinx \
$(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\
-f2)
-
-ENV FEATURES docs
diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker
b/tests/docker/dockerfiles/fedora-win32-cross.docker
index 8dc4f0d4c9..1567d35eb4 100644
--- a/tests/docker/dockerfiles/fedora-win32-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win32-cross.docker
@@ -35,7 +35,6 @@ ENV PACKAGES \
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
index c530e6ba36..e17264ad36 100644
--- a/tests/docker/dockerfiles/fedora-win64-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
@@ -31,7 +31,6 @@ ENV PACKAGES \
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/docker/dockerfiles/fedora.docker
b/tests/docker/dockerfiles/fedora.docker
index 0bc66f7293..d9b764aea2 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -111,4 +111,3 @@ ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3
RUN dnf install -y $PACKAGES
RUN rpm -q $PACKAGES | sort > /packages.txt
ENV PATH $PATH:/usr/libexec/python3-sphinx/
-ENV FEATURES mingw clang pyyaml asan docs
diff --git a/tests/docker/dockerfiles/ubuntu.docker
b/tests/docker/dockerfiles/ubuntu.docker
index ef44b0e360..752e1aa105 100644
--- a/tests/docker/dockerfiles/ubuntu.docker
+++ b/tests/docker/dockerfiles/ubuntu.docker
@@ -67,4 +67,3 @@ ENV PACKAGES \
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get -y install $PACKAGES
RUN dpkg -l $PACKAGES | sort > /packages.txt
-ENV FEATURES clang pyyaml sdl2 docs
diff --git a/tests/docker/dockerfiles/ubuntu1804.docker
b/tests/docker/dockerfiles/ubuntu1804.docker
index 751e6503f8..3534111637 100644
--- a/tests/docker/dockerfiles/ubuntu1804.docker
+++ b/tests/docker/dockerfiles/ubuntu1804.docker
@@ -53,7 +53,6 @@ ENV PACKAGES \
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get -y install $PACKAGES
RUN dpkg -l $PACKAGES | sort > /packages.txt
-ENV FEATURES clang pyyaml sdl2 docs
# https://bugs.launchpad.net/qemu/+bug/1838763
ENV QEMU_CONFIGURE_OPTS --disable-libssh
diff --git a/tests/docker/dockerfiles/ubuntu2004.docker
b/tests/docker/dockerfiles/ubuntu2004.docker
index 32caf57b5d..552b57f903 100644
--- a/tests/docker/dockerfiles/ubuntu2004.docker
+++ b/tests/docker/dockerfiles/ubuntu2004.docker
@@ -65,7 +65,6 @@ ENV PACKAGES flex bison \
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get -y install $PACKAGES
RUN dpkg -l $PACKAGES | sort > /packages.txt
-ENV FEATURES clang tsan pyyaml sdl2
# Apply patch https://reviews.llvm.org/D75820
# This is required for TSan in clang-10 to compile with QEMU.
diff --git a/tests/docker/run b/tests/docker/run
index 8edc7026ee..421393046b 100755
--- a/tests/docker/run
+++ b/tests/docker/run
@@ -30,9 +30,6 @@ mkdir -p $TEST_DIR/{src,build,install}
# Extract the source tarballs
tar -C $TEST_DIR/src -xf $BASE/qemu.tar || { echo "Failed to untar source";
exit 2; }
-if test -f $TEST_DIR/src/Makefile; then
- export FEATURES="$FEATURES dtc"
-fi
if test -n "$SHOW_ENV"; then
if test -f /packages.txt; then
diff --git a/tests/docker/test-clang b/tests/docker/test-clang
index 8c51ead518..b57e0119d9 100755
--- a/tests/docker/test-clang
+++ b/tests/docker/test-clang
@@ -13,7 +13,7 @@
. common.rc
-requires clang
+requires_binary clang
cd "$BUILD_DIR"
diff --git a/tests/docker/test-debug b/tests/docker/test-debug
index c050fa0d93..f52f16328c 100755
--- a/tests/docker/test-debug
+++ b/tests/docker/test-debug
@@ -14,7 +14,7 @@
. common.rc
-requires clang asan
+requires_binary clang
cd "$BUILD_DIR"
diff --git a/tests/docker/test-mingw b/tests/docker/test-mingw
index c30eb654eb..0bc6d78872 100755
--- a/tests/docker/test-mingw
+++ b/tests/docker/test-mingw
@@ -13,7 +13,8 @@
. common.rc
-requires mingw dtc
+requires_binary x86_64-w64-mingw32-gcc
+requires_binary i686-w64-mingw32-gcc
cd "$BUILD_DIR"
diff --git a/tests/docker/test-misc b/tests/docker/test-misc
index cc94a738dd..2a3c2c2e1c 100755
--- a/tests/docker/test-misc
+++ b/tests/docker/test-misc
@@ -14,7 +14,7 @@
. common.rc
-requires docs
+requires_binary sphinx-build-3 sphinx-build
cd "$BUILD_DIR"
diff --git a/tests/docker/test-tsan b/tests/docker/test-tsan
index eb40ac45b7..53d90d2f79 100755
--- a/tests/docker/test-tsan
+++ b/tests/docker/test-tsan
@@ -17,7 +17,7 @@
setup_tsan()
{
- requires clang tsan
+ requires_binary clang
tsan_log_dir="/tmp/qemu-test/build/tsan"
mkdir -p $tsan_log_dir > /dev/null || true
EXTRA_CONFIGURE_OPTS="${EXTRA_CONFIGURE_OPTS} --enable-tsan \
--
2.28.0
- [PATCH 00/23] tests/docker: start using libvirt-ci's "lcitool" for dockerfiles, Daniel P . Berrangé, 2020/12/01
- [PATCH 02/23] tests/docker: don't use BUILDKIT in GitLab either, Daniel P . Berrangé, 2020/12/01
- [PATCH 01/23] hw/usb/ccid: remove references to NSS, Daniel P . Berrangé, 2020/12/01
- [PATCH 03/23] tests/docker: use project specific container registries, Daniel P . Berrangé, 2020/12/01
- [PATCH 05/23] tests/docker: remove travis container, Daniel P . Berrangé, 2020/12/01
- [PATCH 04/23] tests/docker: use explicit docker.io registry, Daniel P . Berrangé, 2020/12/01
- [PATCH 06/23] tests/docker: remove FEATURES env var from templates,
Daniel P . Berrangé <=
- [PATCH 07/23] tests/docker: fix sorting in package lists, Daniel P . Berrangé, 2020/12/01
- [PATCH 08/23] tests/docker: fix mistakes in centos package lists, Daniel P . Berrangé, 2020/12/01
- [PATCH 09/23] tests/docker: fix mistakes in fedora package list, Daniel P . Berrangé, 2020/12/01
- [PATCH 10/23] tests/docker: fix mistakes in ubuntu package lists, Daniel P . Berrangé, 2020/12/01
- [PATCH 13/23] tests/docker: expand centos7 package list, Daniel P . Berrangé, 2020/12/01
- [PATCH 11/23] tests/docker: remove mingw packages from Fedora, Daniel P . Berrangé, 2020/12/01
- [PATCH 14/23] tests/docker: expand centos8 package list, Daniel P . Berrangé, 2020/12/01
- [PATCH 15/23] tests/docker: expand fedora package list, Daniel P . Berrangé, 2020/12/01