* [Qemu-devel] [PULL 00/38] Test and build system patches
@ 2017-09-08 9:54 Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 01/38] docker: ensure NOUSER for travis images Fam Zheng
` (39 more replies)
0 siblings, 40 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Hi Peter,
The following changes since commit cda4a338c4243fa3bff4498b935340ac7121cc76:
tcg/tci: Add TCG_TARGET_DEFAULT_MO (2017-09-07 18:57:34 +0100)
are available in the git repository at:
git://github.com/famz/qemu.git tags/staging-pull-request
for you to fetch changes up to d0fba2165aa69ee5cb6a368ad611f3d54950fe4e:
buildsys: Move rdma libs to per object (2017-09-08 17:47:11 +0800)
----------------------------------------------------------------
This includes:
- Alex's improvements of docker tests
- VM test
- test-block for docker tests
- test-full improvements
- cflags / libs cleanup
----------------------------------------------------------------
Alex Bennée (4):
docker: ensure NOUSER for travis images
docker: docker.py make --no-cache skip checksum test
docker: don't install device-tree-compiler build-deps in travis.docker
docker: reduce noise when building travis.docker
Fam Zheng (34):
docker: Update ubuntu image
docker: Enable features explicitly in test-full
tests/docker: Clean up paths
gitignore: Ignore vm test images
qemu.py: Add "wait()" method
scripts: Add archive-source.sh
tests: Add vm test lib
tests: Add ubuntu.i386 image
tests: Add FreeBSD image
tests: Add NetBSD image
tests: Add OpenBSD image
Makefile: Add rules to run vm tests
MAINTAINERS: Add tests/vm entry
tests: Add README for vm tests
docker: Use archive-source.py
docker: Fix return code of build_qemu()
docker: Add test_fail and prep_fail
docker: Use unconfined security profile
docker: Add nettle-devel to fedora image
docker: Add test-block
docker: Drop 'set -e' from run script
vl: Don't include vde header
buildsys: Move vde libs to per object
buildsys: Move gtk/vte cflags/libs to per object
buildsys: Move sdl cflags/libs to per object
buildsys: Move vnc cflags/libs to per object
buildsys: Move audio libs to per object
buildsys: Move curese cflags/libs to per object
buildsys: Move opengl cflags to per object
buildsys: Move libcacard cflags/libs to per object
buildsys: Move libusb cflags/libs to per object
buildsys: Move usb redir cflags/libs to per object
buildsys: Move brlapi libs to per object
buildsys: Move rdma libs to per object
.gitignore | 1 +
MAINTAINERS | 1 +
Makefile | 2 +
audio/Makefile.objs | 6 +
chardev/Makefile.objs | 1 +
configure | 63 ++++----
hw/usb/Makefile.objs | 13 +-
migration/Makefile.objs | 1 +
net/Makefile.objs | 2 +
scripts/archive-source.sh | 31 ++++
scripts/qemu.py | 7 +
tests/.gitignore | 1 +
tests/docker/Makefile.include | 17 +-
tests/docker/common.rc | 20 ++-
tests/docker/docker.py | 3 +-
tests/docker/dockerfiles/fedora.docker | 1 +
tests/docker/dockerfiles/travis.docker | 6 +-
tests/docker/dockerfiles/ubuntu.docker | 11 +-
tests/docker/run | 18 +--
tests/docker/test-block | 22 +++
tests/docker/test-full | 82 +++++++++-
tests/vm/Makefile.include | 42 +++++
tests/vm/README | 63 ++++++++
tests/vm/basevm.py | 276 +++++++++++++++++++++++++++++++++
tests/vm/freebsd | 42 +++++
tests/vm/netbsd | 42 +++++
tests/vm/openbsd | 43 +++++
tests/vm/ubuntu.i386 | 88 +++++++++++
ui/Makefile.objs | 37 +++--
vl.c | 4 -
30 files changed, 856 insertions(+), 90 deletions(-)
create mode 100755 scripts/archive-source.sh
create mode 100755 tests/docker/test-block
create mode 100644 tests/vm/Makefile.include
create mode 100644 tests/vm/README
create mode 100755 tests/vm/basevm.py
create mode 100755 tests/vm/freebsd
create mode 100755 tests/vm/netbsd
create mode 100755 tests/vm/openbsd
create mode 100755 tests/vm/ubuntu.i386
--
2.13.5
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 01/38] docker: ensure NOUSER for travis images
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 02/38] docker: docker.py make --no-cache skip checksum test Fam Zheng
` (38 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
From: Alex Bennée <alex.bennee@linaro.org>
While adding the current user is a useful default behaviour for
creating new images it is not appropriate for Travis which already has
a default user.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20170725133425.436-2-alex.bennee@linaro.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
tests/docker/Makefile.include | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index aaab1a4208..d7dafdbd27 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -71,6 +71,7 @@ docker-image-debian-ppc64el-cross: docker-image-debian9
docker-image-debian-s390x-cross: docker-image-debian9
docker-image-debian-win32-cross: docker-image-debian8-mxe
docker-image-debian-win64-cross: docker-image-debian8-mxe
+docker-image-travis: NOUSER=1
# Expand all the pre-requistes for each docker image and test combination
$(foreach i,$(DOCKER_IMAGES), \
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 02/38] docker: docker.py make --no-cache skip checksum test
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 01/38] docker: ensure NOUSER for travis images Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 03/38] docker: don't install device-tree-compiler build-deps in travis.docker Fam Zheng
` (37 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
From: Alex Bennée <alex.bennee@linaro.org>
If you invoke with NOCACHE=1 we pass --no-cache in the argv to
docker.py but may still not force a rebuild if the dockerfile checksum
hasn't changed. By testing for its presence we can force builds
without having to manually remove the docker image.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20170725133425.436-5-alex.bennee@linaro.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
tests/docker/docker.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index 81c87ee329..08122ca17d 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -263,7 +263,8 @@ class BuildCommand(SubCommand):
tag = args.tag
dkr = Docker()
- if dkr.image_matches_dockerfile(tag, dockerfile):
+ if "--no-cache" not in argv and \
+ dkr.image_matches_dockerfile(tag, dockerfile):
if not args.quiet:
print "Image is up to date."
else:
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 03/38] docker: don't install device-tree-compiler build-deps in travis.docker
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 01/38] docker: ensure NOUSER for travis images Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 02/38] docker: docker.py make --no-cache skip checksum test Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 04/38] docker: reduce noise when building travis.docker Fam Zheng
` (36 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
From: Alex Bennée <alex.bennee@linaro.org>
Installing the device-tree-compiler build-deps is a little extreme. We
only actually need the binary so include it with the other packages.
Suggested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20170725133425.436-6-alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
tests/docker/dockerfiles/travis.docker | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tests/docker/dockerfiles/travis.docker b/tests/docker/dockerfiles/travis.docker
index 636fa590a5..57ac8e1419 100644
--- a/tests/docker/dockerfiles/travis.docker
+++ b/tests/docker/dockerfiles/travis.docker
@@ -1,6 +1,5 @@
FROM quay.io/travisci/travis-ruby
RUN apt-get update
RUN apt-get -y build-dep qemu
-RUN apt-get -y build-dep device-tree-compiler
-RUN apt-get -y install python2.7 python-yaml dh-autoreconf gdb strace lsof net-tools
+RUN apt-get -y install device-tree-compiler python2.7 python-yaml dh-autoreconf gdb strace lsof net-tools
ENV FEATURES pyyaml
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 04/38] docker: reduce noise when building travis.docker
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (2 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 03/38] docker: don't install device-tree-compiler build-deps in travis.docker Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 05/38] docker: Update ubuntu image Fam Zheng
` (35 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
From: Alex Bennée <alex.bennee@linaro.org>
Set the DEBIAN_FRONTEND and locale env vars to stop apt complaining so
much as we build the image.
Suggested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20170725133425.436-7-alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
tests/docker/dockerfiles/travis.docker | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/docker/dockerfiles/travis.docker b/tests/docker/dockerfiles/travis.docker
index 57ac8e1419..605b6e429b 100644
--- a/tests/docker/dockerfiles/travis.docker
+++ b/tests/docker/dockerfiles/travis.docker
@@ -1,4 +1,7 @@
FROM quay.io/travisci/travis-ruby
+ENV DEBIAN_FRONTEND noninteractive
+ENV LANG en_US.UTF-8
+ENV LC_ALL en_US.UTF-8
RUN apt-get update
RUN apt-get -y build-dep qemu
RUN apt-get -y install device-tree-compiler python2.7 python-yaml dh-autoreconf gdb strace lsof net-tools
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 05/38] docker: Update ubuntu image
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (3 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 04/38] docker: reduce noise when building travis.docker Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 06/38] docker: Enable features explicitly in test-full Fam Zheng
` (34 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Base on the newer ubuntu-lts (16.06) and include more packages for
better build coverage.
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907141245.31946-2-famz@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
tests/docker/dockerfiles/ubuntu.docker | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/tests/docker/dockerfiles/ubuntu.docker b/tests/docker/dockerfiles/ubuntu.docker
index a360a050a2..d73ce02246 100644
--- a/tests/docker/dockerfiles/ubuntu.docker
+++ b/tests/docker/dockerfiles/ubuntu.docker
@@ -1,12 +1,17 @@
-FROM ubuntu:14.04
+FROM ubuntu:16.04
RUN echo "deb http://archive.ubuntu.com/ubuntu/ trusty universe multiverse" >> \
/etc/apt/sources.list
RUN apt-get update
ENV PACKAGES flex bison \
- libusb-1.0-0-dev libiscsi-dev librados-dev libncurses5-dev \
+ libusb-1.0-0-dev libiscsi-dev librados-dev libncurses5-dev libncursesw5-dev \
libseccomp-dev libgnutls-dev libssh2-1-dev libspice-server-dev \
libspice-protocol-dev libnss3-dev libfdt-dev \
- libgtk-3-dev libvte-2.90-dev libsdl1.2-dev libpng12-dev libpixman-1-dev \
+ libgtk-3-dev libvte-2.91-dev libsdl1.2-dev libpng12-dev libpixman-1-dev \
+ libvdeplug-dev liblzo2-dev libsnappy-dev libbz2-dev libxen-dev librdmacm-dev libibverbs-dev \
+ libsasl2-dev libjpeg-turbo8-dev xfslibs-dev libcap-ng-dev libbrlapi-dev libcurl4-gnutls-dev \
+ libbluetooth-dev librbd-dev libaio-dev glusterfs-common libnuma-dev libepoxy-dev libdrm-dev libgbm-dev \
+ libjemalloc-dev libcacard-dev libusbredirhost-dev libnfs-dev libcap-dev libattr1-dev \
+ texinfo \
git make ccache python-yaml gcc clang sparse
RUN apt-get -y install $PACKAGES
RUN dpkg -l $PACKAGES | sort > /packages.txt
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 06/38] docker: Enable features explicitly in test-full
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (4 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 05/38] docker: Update ubuntu image Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 07/38] tests/docker: Clean up paths Fam Zheng
` (33 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Also avoid "set -e".
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907141245.31946-3-famz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
tests/docker/test-full | 82 ++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 76 insertions(+), 6 deletions(-)
diff --git a/tests/docker/test-full b/tests/docker/test-full
index 05f0d491d1..d71bf9d275 100755
--- a/tests/docker/test-full
+++ b/tests/docker/test-full
@@ -1,8 +1,8 @@
-#!/bin/bash -e
+#!/bin/bash
#
-# Compile all the targets.
+# Compile all the targets with as many features enabled as possible
#
-# Copyright (c) 2016 Red Hat Inc.
+# Copyright 2016, 2017 Red Hat Inc.
#
# Authors:
# Fam Zheng <famz@redhat.com>
@@ -13,7 +13,77 @@
. common.rc
-cd "$BUILD_DIR"
+cd "$BUILD_DIR" || exit 1
-build_qemu
-make check $MAKEFLAGS
+build_qemu \
+ --enable-attr \
+ --enable-bluez \
+ --enable-brlapi \
+ --enable-bsd-user \
+ --enable-bzip2 \
+ --enable-cap-ng \
+ --enable-coroutine-pool \
+ --enable-crypto-afalg \
+ --enable-curl \
+ --enable-curses \
+ --enable-debug \
+ --enable-debug-info \
+ --enable-debug-tcg \
+ --enable-docs \
+ --enable-fdt \
+ --enable-gcrypt \
+ --enable-glusterfs \
+ --enable-gnutls \
+ --enable-gprof \
+ --enable-gtk \
+ --enable-guest-agent \
+ --enable-jemalloc \
+ --enable-kvm \
+ --enable-libiscsi \
+ --enable-libnfs \
+ --enable-libssh2 \
+ --enable-libusb \
+ --enable-linux-aio \
+ --enable-linux-user \
+ --enable-live-block-migration \
+ --enable-lzo \
+ --enable-modules \
+ --enable-numa \
+ --enable-opengl \
+ --enable-pie \
+ --enable-profiler \
+ --enable-qom-cast-debug \
+ --enable-rbd \
+ --enable-rdma \
+ --enable-replication \
+ --enable-sdl \
+ --enable-seccomp \
+ --enable-smartcard \
+ --enable-snappy \
+ --enable-spice \
+ --enable-stack-protector \
+ --enable-system \
+ --enable-tcg \
+ --enable-tcg-interpreter \
+ --enable-tools \
+ --enable-tpm \
+ --enable-trace-backend=ftrace \
+ --enable-usb-redir \
+ --enable-user \
+ --enable-vde \
+ --enable-vhost-net \
+ --enable-vhost-scsi \
+ --enable-vhost-user \
+ --enable-vhost-vsock \
+ --enable-virtfs \
+ --enable-vnc \
+ --enable-vnc-jpeg \
+ --enable-vnc-png \
+ --enable-vnc-sasl \
+ --enable-vte \
+ --enable-werror \
+ --enable-xen \
+ --enable-xen-pci-passthrough \
+ --enable-xen-pv-domain-build \
+ --enable-xfsctl \
+&& make check $MAKEFLAGS
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 07/38] tests/docker: Clean up paths
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (5 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 06/38] docker: Enable features explicitly in test-full Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 08/38] gitignore: Ignore vm test images Fam Zheng
` (32 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
The 'run' script already creats src, build and install directories under
$TEST_DIR, use it in common.rc.
Also the tests always run from $QEMU_SRC/tests/docker, so use a relative
$CMD string.
Message-Id: <20170817035721.11064-1-famz@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
tests/docker/common.rc | 5 +----
tests/docker/run | 4 +++-
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/tests/docker/common.rc b/tests/docker/common.rc
index 6865689bb5..64b36ba2d0 100755
--- a/tests/docker/common.rc
+++ b/tests/docker/common.rc
@@ -11,9 +11,6 @@
# or (at your option) any later version. See the COPYING file in
# the top-level directory.
-BUILD_DIR=/var/tmp/qemu-build
-mkdir $BUILD_DIR
-
requires()
{
for c in $@; do
@@ -28,7 +25,7 @@ build_qemu()
{
config_opts="--enable-werror \
${TARGET_LIST:+--target-list=${TARGET_LIST}} \
- --prefix=$PWD/install \
+ --prefix=$INSTALL_DIR \
$QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS \
$@"
echo "Configure options:"
diff --git a/tests/docker/run b/tests/docker/run
index c1e4513bce..ec2541cbd9 100755
--- a/tests/docker/run
+++ b/tests/docker/run
@@ -52,10 +52,12 @@ if test -n "$SHOW_ENV"; then
fi
export QEMU_SRC="$TEST_DIR/src"
+export BUILD_DIR="$TEST_DIR/build"
+export INSTALL_DIR="$TEST_DIR/install"
cd "$QEMU_SRC/tests/docker"
-CMD="$QEMU_SRC/tests/docker/$@"
+CMD="./$@"
if test -z "$DEBUG"; then
exec $CMD
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 08/38] gitignore: Ignore vm test images
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (6 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 07/38] tests/docker: Clean up paths Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 09/38] qemu.py: Add "wait()" method Fam Zheng
` (31 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905021201.25684-2-famz@redhat.com>
---
.gitignore | 1 +
tests/.gitignore | 1 +
2 files changed, 2 insertions(+)
diff --git a/.gitignore b/.gitignore
index cf65316863..40acfcb9e2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,6 +52,7 @@
/vscclient
/vhost-user-scsi
/fsdev/virtfs-proxy-helper
+*.tmp
*.[1-9]
*.a
*.aux
diff --git a/tests/.gitignore b/tests/.gitignore
index fed0189a5a..cf6d99c91e 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -95,3 +95,4 @@ test-filter-mirror
test-filter-redirector
*-test
qapi-schema/*.test.*
+vm/*.img
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 09/38] qemu.py: Add "wait()" method
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (7 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 08/38] gitignore: Ignore vm test images Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 10/38] scripts: Add archive-source.sh Fam Zheng
` (30 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20170905021201.25684-3-famz@redhat.com>
---
scripts/qemu.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/scripts/qemu.py b/scripts/qemu.py
index 4d8ee10943..99963053a5 100644
--- a/scripts/qemu.py
+++ b/scripts/qemu.py
@@ -157,6 +157,13 @@ class QEMUMachine(object):
self._post_shutdown()
raise
+ def wait(self):
+ '''Wait for the VM to power off'''
+ self._popen.wait()
+ self._qmp.close()
+ self._load_io_log()
+ self._post_shutdown()
+
def shutdown(self):
'''Terminate the VM and clean up'''
if self.is_running():
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 10/38] scripts: Add archive-source.sh
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (8 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 09/38] qemu.py: Add "wait()" method Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 11/38] tests: Add vm test lib Fam Zheng
` (29 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905021201.25684-4-famz@redhat.com>
---
scripts/archive-source.sh | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
create mode 100755 scripts/archive-source.sh
diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
new file mode 100755
index 0000000000..3cae7f34d3
--- /dev/null
+++ b/scripts/archive-source.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+#
+# Author: Fam Zheng <famz@redhat.com>
+#
+# Create archive of source tree, including submodules
+#
+# This work is licensed under the terms of the GNU GPL, version 2.
+# See the COPYING file in the top-level directory.
+
+set -e
+
+if test $# -lt 1; then
+ echo "Usage: $0 <output>"
+ exit 1
+fi
+
+submodules=$(git submodule foreach --recursive --quiet 'echo $name')
+
+if test -n "$submodules"; then
+ {
+ git ls-files
+ for sm in $submodules; do
+ (cd $sm; git ls-files) | sed "s:^:$sm/:"
+ done
+ } | grep -x -v $(for sm in $submodules; do echo "-e $sm"; done) > $1.list
+else
+ git ls-files > $1.list
+fi
+
+tar -cf $1 -T $1.list
+rm $1.list
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 11/38] tests: Add vm test lib
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (9 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 10/38] scripts: Add archive-source.sh Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 12/38] tests: Add ubuntu.i386 image Fam Zheng
` (28 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
This is the common code to implement a "VM test" to
1) Download and initialize a pre-defined VM that has necessary
dependencies to build QEMU and SSH access.
2) Archive $SRC_PATH to a .tar file.
3) Boot the VM, and pass the source tar file to the guest.
4) SSH into the VM, untar the source tarball, build from the source.
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905021201.25684-5-famz@redhat.com>
---
tests/vm/basevm.py | 276 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 276 insertions(+)
create mode 100755 tests/vm/basevm.py
diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
new file mode 100755
index 0000000000..19dbb52574
--- /dev/null
+++ b/tests/vm/basevm.py
@@ -0,0 +1,276 @@
+#!/usr/bin/env python
+#
+# VM testing base class
+#
+# Copyright 2017 Red Hat Inc.
+#
+# Authors:
+# Fam Zheng <famz@redhat.com>
+#
+# This work is licensed under the terms of the GNU GPL, version 2. See
+# the COPYING file in the top-level directory.
+#
+
+import os
+import sys
+import logging
+import time
+import datetime
+sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "scripts"))
+from qemu import QEMUMachine
+import subprocess
+import hashlib
+import optparse
+import atexit
+import tempfile
+import shutil
+import multiprocessing
+import traceback
+
+SSH_KEY = """\
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAopAuOlmLV6LVHdFBj8/eeOwI9CqguIJPp7eAQSZvOiB4Ag/R
+coEhl/RBbrV5Yc/SmSD4PTpJO/iM10RwliNjDb4a3I8q3sykRJu9c9PI/YsH8WN9
++NH2NjKPtJIcKTu287IM5JYxyB6nDoOzILbTyJ1TDR/xH6qYEfBAyiblggdjcvhA
+RTf93QIn39F/xLypXvT1K2O9BJEsnJ8lEUvB2UXhKo/JTfSeZF8wPBeowaP9EONk
+7b+nuJOWHGg68Ji6wVi62tjwl2Szch6lxIhZBpnV7QNRKMfYHP6eIyF4pusazzZq
+Telsq6xI2ghecWLzb/MF5A+rklsGx2FNuJSAJwIDAQABAoIBAHHi4o/8VZNivz0x
+cWXn8erzKV6tUoWQvW85Lj/2RiwJvSlsnYZDkx5af1CpEE2HA/pFT8PNRqsd+MWC
+7AEy710cVsM4BYerBFYQaYxwzblaoojo88LSjVPw3h5Z0iLM8+IMVd36nwuc9dpE
+R8TecMZ1+U4Tl6BgqkK+9xToZRdPKdjS8L5MoFhGN+xY0vRbbJbGaV9Q0IHxLBkB
+rEBV7T1mUynneCHRUQlJQEwJmKpT8MH3IjsUXlG5YvnuuvcQJSNTaW2iDLxuOKp8
+cxW8+qL88zpb1D5dppoIu6rlrugN0azSq70ruFJQPc/A8GQrDKoGgRQiagxNY3u+
+vHZzXlECgYEA0dKO3gfkSxsDBb94sQwskMScqLhcKhztEa8kPxTx6Yqh+x8/scx3
+XhJyOt669P8U1v8a/2Al+s81oZzzfQSzO1Q7gEwSrgBcRMSIoRBUw9uYcy02ngb/
+j/ng3DGivfJztjjiSJwb46FHkJ2JR8mF2UisC6UMXk3NgFY/3vWQx78CgYEAxlcG
+T3hfSWSmTgKRczMJuHQOX9ULfTBIqwP5VqkkkiavzigGRirzb5lgnmuTSPTpF0LB
+XVPjR2M4q+7gzP0Dca3pocrvLEoxjwIKnCbYKnyyvnUoE9qHv4Kr+vDbgWpa2LXG
+JbLmE7tgTCIp20jOPPT4xuDvlbzQZBJ5qCQSoZkCgYEAgrotSSihlCnAOFSTXbu4
+CHp3IKe8xIBBNENq0eK61kcJpOxTQvOha3sSsJsU4JAM6+cFaxb8kseHIqonCj1j
+bhOM/uJmwQJ4el/4wGDsbxriYOBKpyq1D38gGhDS1IW6kk3erl6VAb36WJ/OaGum
+eTpN9vNeQWM4Jj2WjdNx4QECgYAwTdd6mU1TmZCrJRL5ZG+0nYc2rbMrnQvFoqUi
+BvWiJovggHzur90zy73tNzPaq9Ls2FQxf5G1vCN8NCRJqEEjeYCR59OSDMu/EXc2
+CnvQ9SevHOdS1oEDEjcCWZCMFzPi3XpRih1gptzQDe31uuiHjf3cqcGPzTlPdfRt
+D8P92QKBgC4UaBvIRwREVJsdZzpIzm224Bpe8LOmA7DeTnjlT0b3lkGiBJ36/Q0p
+VhYh/6cjX4/iuIs7gJbGon7B+YPB8scmOi3fj0+nkJAONue1mMfBNkba6qQTc6Y2
+5mEKw2/O7/JpND7ucU3OK9plcw/qnrWDgHxl0Iz95+OzUIIagxne
+-----END RSA PRIVATE KEY-----
+"""
+SSH_PUB_KEY = """\
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCikC46WYtXotUd0UGPz9547Aj0KqC4gk+nt4BBJm86IHgCD9FygSGX9EFutXlhz9KZIPg9Okk7+IzXRHCWI2MNvhrcjyrezKREm71z08j9iwfxY3340fY2Mo+0khwpO7bzsgzkljHIHqcOg7MgttPInVMNH/EfqpgR8EDKJuWCB2Ny+EBFN/3dAiff0X/EvKle9PUrY70EkSycnyURS8HZReEqj8lN9J5kXzA8F6jBo/0Q42Ttv6e4k5YcaDrwmLrBWLra2PCXZLNyHqXEiFkGmdXtA1Eox9gc/p4jIXim6xrPNmpN6WyrrEjaCF5xYvNv8wXkD6uSWwbHYU24lIAn qemu-vm-key
+"""
+
+class BaseVM(object):
+ GUEST_USER = "qemu"
+ GUEST_PASS = "qemupass"
+ ROOT_PASS = "qemupass"
+
+ # The script to run in the guest that builds QEMU
+ BUILD_SCRIPT = ""
+ # The guest name, to be overridden by subclasses
+ name = "#base"
+ def __init__(self, debug=False, vcpus=None):
+ self._guest = None
+ self._tmpdir = tempfile.mkdtemp(prefix="vm-test-", suffix=".tmp", dir=".")
+ atexit.register(shutil.rmtree, self._tmpdir)
+
+ self._ssh_key_file = os.path.join(self._tmpdir, "id_rsa")
+ open(self._ssh_key_file, "w").write(SSH_KEY)
+ subprocess.check_call(["chmod", "600", self._ssh_key_file])
+
+ self._ssh_pub_key_file = os.path.join(self._tmpdir, "id_rsa.pub")
+ open(self._ssh_pub_key_file, "w").write(SSH_PUB_KEY)
+
+ self.debug = debug
+ self._stderr = sys.stderr
+ self._devnull = open("/dev/null", "w")
+ if self.debug:
+ self._stdout = sys.stdout
+ else:
+ self._stdout = self._devnull
+ self._args = [ \
+ "-nodefaults", "-m", "2G",
+ "-cpu", "host",
+ "-netdev", "user,id=vnet,hostfwd=:0.0.0.0:0-:22",
+ "-device", "virtio-net-pci,netdev=vnet",
+ "-vnc", ":0,to=20",
+ "-serial", "file:%s" % os.path.join(self._tmpdir, "serial.out")]
+ if vcpus:
+ self._args += ["-smp", str(vcpus)]
+ if os.access("/dev/kvm", os.R_OK | os.W_OK):
+ self._args += ["-enable-kvm"]
+ else:
+ logging.info("KVM not available, not using -enable-kvm")
+ self._data_args = []
+
+ def _download_with_cache(self, url, sha256sum=None):
+ def check_sha256sum(fname):
+ if not sha256sum:
+ return True
+ checksum = subprocess.check_output(["sha256sum", fname]).split()[0]
+ return sha256sum == checksum
+
+ cache_dir = os.path.expanduser("~/.cache/qemu-vm/download")
+ if not os.path.exists(cache_dir):
+ os.makedirs(cache_dir)
+ fname = os.path.join(cache_dir, hashlib.sha1(url).hexdigest())
+ if os.path.exists(fname) and check_sha256sum(fname):
+ return fname
+ logging.debug("Downloading %s to %s...", url, fname)
+ subprocess.check_call(["wget", "-c", url, "-O", fname + ".download"],
+ stdout=self._stdout, stderr=self._stderr)
+ os.rename(fname + ".download", fname)
+ return fname
+
+ def _ssh_do(self, user, cmd, check, interactive=False):
+ ssh_cmd = ["ssh", "-q",
+ "-o", "StrictHostKeyChecking=no",
+ "-o", "UserKnownHostsFile=/dev/null",
+ "-o", "ConnectTimeout=1",
+ "-p", self.ssh_port, "-i", self._ssh_key_file]
+ if interactive:
+ ssh_cmd += ['-t']
+ assert not isinstance(cmd, str)
+ ssh_cmd += ["%s@127.0.0.1" % user] + list(cmd)
+ logging.debug("ssh_cmd: %s", " ".join(ssh_cmd))
+ r = subprocess.call(ssh_cmd,
+ stdin=sys.stdin if interactive else self._devnull,
+ stdout=sys.stdout if interactive else self._stdout,
+ stderr=sys.stderr if interactive else self._stderr)
+ if check and r != 0:
+ raise Exception("SSH command failed: %s" % cmd)
+ return r
+
+ def ssh(self, *cmd):
+ return self._ssh_do(self.GUEST_USER, cmd, False)
+
+ def ssh_interactive(self, *cmd):
+ return self._ssh_do(self.GUEST_USER, cmd, False, True)
+
+ def ssh_root(self, *cmd):
+ return self._ssh_do("root", cmd, False)
+
+ def ssh_check(self, *cmd):
+ self._ssh_do(self.GUEST_USER, cmd, True)
+
+ def ssh_root_check(self, *cmd):
+ self._ssh_do("root", cmd, True)
+
+ def build_image(self, img):
+ raise NotImplementedError
+
+ def add_source_dir(self, src_dir):
+ name = "data-" + hashlib.sha1(src_dir).hexdigest()[:5]
+ tarfile = os.path.join(self._tmpdir, name + ".tar")
+ logging.debug("Creating archive %s for src_dir dir: %s", tarfile, src_dir)
+ subprocess.check_call(["./scripts/archive-source.sh", tarfile],
+ cwd=src_dir, stdin=self._devnull,
+ stdout=self._stdout, stderr=self._stderr)
+ self._data_args += ["-drive",
+ "file=%s,if=none,id=%s,cache=writeback,format=raw" % \
+ (tarfile, name),
+ "-device",
+ "virtio-blk,drive=%s,serial=%s,bootindex=1" % (name, name)]
+
+ def boot(self, img, extra_args=[]):
+ args = self._args + [
+ "-device", "VGA",
+ "-drive", "file=%s,if=none,id=drive0,cache=writeback" % img,
+ "-device", "virtio-blk,drive=drive0,bootindex=0"]
+ args += self._data_args + extra_args
+ logging.debug("QEMU args: %s", " ".join(args))
+ guest = QEMUMachine(binary=os.environ.get("QEMU", "qemu-system-x86_64"),
+ args=args)
+ guest.launch()
+ atexit.register(self.shutdown)
+ self._guest = guest
+ usernet_info = guest.qmp("human-monitor-command",
+ command_line="info usernet")
+ self.ssh_port = None
+ for l in usernet_info["return"].splitlines():
+ fields = l.split()
+ if "TCP[HOST_FORWARD]" in fields and "22" in fields:
+ self.ssh_port = l.split()[3]
+ if not self.ssh_port:
+ raise Exception("Cannot find ssh port from 'info usernet':\n%s" % \
+ usernet_info)
+
+ def wait_ssh(self, seconds=120):
+ starttime = datetime.datetime.now()
+ guest_up = False
+ while (datetime.datetime.now() - starttime).total_seconds() < seconds:
+ if self.ssh("exit 0") == 0:
+ guest_up = True
+ break
+ time.sleep(1)
+ if not guest_up:
+ raise Exception("Timeout while waiting for guest ssh")
+
+ def shutdown(self):
+ self._guest.shutdown()
+
+ def wait(self):
+ self._guest.wait()
+
+ def qmp(self, *args, **kwargs):
+ return self._guest.qmp(*args, **kwargs)
+
+def parse_args(vm_name):
+ parser = optparse.OptionParser(description="""
+ VM test utility. Exit codes: 0 = success, 1 = command line error, 2 = environment initialization failed, 3 = test command failed""")
+ parser.add_option("--debug", "-D", action="store_true",
+ help="enable debug output")
+ parser.add_option("--image", "-i", default="%s.img" % vm_name,
+ help="image file name")
+ parser.add_option("--force", "-f", action="store_true",
+ help="force build image even if image exists")
+ parser.add_option("--jobs", type=int, default=multiprocessing.cpu_count() / 2,
+ help="number of virtual CPUs")
+ parser.add_option("--build-image", "-b", action="store_true",
+ help="build image")
+ parser.add_option("--build-qemu",
+ help="build QEMU from source in guest")
+ parser.add_option("--interactive", "-I", action="store_true",
+ help="Interactively run command")
+ parser.disable_interspersed_args()
+ return parser.parse_args()
+
+def main(vmcls):
+ try:
+ args, argv = parse_args(vmcls.name)
+ if not argv and not args.build_qemu and not args.build_image:
+ print "Nothing to do?"
+ return 1
+ if args.debug:
+ logging.getLogger().setLevel(logging.DEBUG)
+ vm = vmcls(debug=args.debug, vcpus=args.jobs)
+ if args.build_image:
+ if os.path.exists(args.image) and not args.force:
+ sys.stderr.writelines(["Image file exists: %s\n" % args.image,
+ "Use --force option to overwrite\n"])
+ return 1
+ return vm.build_image(args.image)
+ if args.build_qemu:
+ vm.add_source_dir(args.build_qemu)
+ cmd = [vm.BUILD_SCRIPT.format(
+ configure_opts = " ".join(argv),
+ jobs=args.jobs)]
+ else:
+ cmd = argv
+ vm.boot(args.image + ",snapshot=on")
+ vm.wait_ssh()
+ except Exception as e:
+ if isinstance(e, SystemExit) and e.code == 0:
+ return 0
+ sys.stderr.write("Failed to prepare guest environment\n")
+ traceback.print_exc()
+ return 2
+
+ if args.interactive:
+ if vm.ssh_interactive(*cmd) == 0:
+ return 0
+ vm.ssh_interactive()
+ return 3
+ else:
+ if vm.ssh(*cmd) != 0:
+ return 3
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 12/38] tests: Add ubuntu.i386 image
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (10 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 11/38] tests: Add vm test lib Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 13/38] tests: Add FreeBSD image Fam Zheng
` (27 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
This adds a 32bit guest.
The official LTS cloud image is downloaded and initialized with
cloud-init.
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905021201.25684-6-famz@redhat.com>
---
tests/vm/ubuntu.i386 | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 88 insertions(+)
create mode 100755 tests/vm/ubuntu.i386
diff --git a/tests/vm/ubuntu.i386 b/tests/vm/ubuntu.i386
new file mode 100755
index 0000000000..77b1a1f852
--- /dev/null
+++ b/tests/vm/ubuntu.i386
@@ -0,0 +1,88 @@
+#!/usr/bin/env python
+#
+# Ubuntu i386 image
+#
+# Copyright 2017 Red Hat Inc.
+#
+# Authors:
+# Fam Zheng <famz@redhat.com>
+#
+# This work is licensed under the terms of the GNU GPL, version 2. See
+# the COPYING file in the top-level directory.
+#
+
+import os
+import sys
+import subprocess
+import basevm
+import time
+
+class UbuntuX86VM(basevm.BaseVM):
+ name = "ubuntu.i386"
+ BUILD_SCRIPT = """
+ set -e;
+ cd $(mktemp -d);
+ sudo chmod a+r /dev/vdb;
+ tar -xf /dev/vdb;
+ ./configure {configure_opts};
+ make -j{jobs};
+ make check;
+ """
+
+ def _gen_cloud_init_iso(self):
+ cidir = self._tmpdir
+ mdata = open(os.path.join(cidir, "meta-data"), "w")
+ mdata.writelines(["instance-id: ubuntu-vm-0\n",
+ "local-hostname: ubuntu-guest\n"])
+ mdata.close()
+ udata = open(os.path.join(cidir, "user-data"), "w")
+ udata.writelines(["#cloud-config\n",
+ "chpasswd:\n",
+ " list: |\n",
+ " root:%s\n" % self.ROOT_PASS,
+ " %s:%s\n" % (self.GUEST_USER, self.GUEST_PASS),
+ " expire: False\n",
+ "users:\n",
+ " - name: %s\n" % self.GUEST_USER,
+ " sudo: ALL=(ALL) NOPASSWD:ALL\n",
+ " ssh-authorized-keys:\n",
+ " - %s\n" % basevm.SSH_PUB_KEY,
+ " - name: root\n",
+ " ssh-authorized-keys:\n",
+ " - %s\n" % basevm.SSH_PUB_KEY])
+ udata.close()
+ subprocess.check_call(["genisoimage", "-output", "cloud-init.iso",
+ "-volid", "cidata", "-joliet", "-rock",
+ "user-data", "meta-data"],
+ cwd=cidir,
+ stdin=self._devnull, stdout=self._stdout,
+ stderr=self._stdout)
+ return os.path.join(cidir, "cloud-init.iso")
+
+ def build_image(self, img):
+ cimg = self._download_with_cache("https://cloud-images.ubuntu.com/releases/16.04/release/ubuntu-16.04-server-cloudimg-i386-disk1.img")
+ img_tmp = img + ".tmp"
+ subprocess.check_call(["cp", "-f", cimg, img_tmp])
+ subprocess.check_call(["qemu-img", "resize", img_tmp, "50G"])
+ self.boot(img_tmp, extra_args = ["-cdrom", self._gen_cloud_init_iso()])
+ self.wait_ssh()
+ self.ssh_root_check("touch /etc/cloud/cloud-init.disabled")
+ self.ssh_root_check("apt-get update")
+ self.ssh_root_check("apt-get install -y cloud-initramfs-growroot")
+ # Don't check the status in case the guest hang up too quickly
+ self.ssh_root("sync && reboot")
+ time.sleep(5)
+ self.wait_ssh()
+ # The previous update sometimes doesn't survive a reboot, so do it again
+ self.ssh_root_check("apt-get update")
+ self.ssh_root_check("apt-get build-dep -y qemu")
+ self.ssh_root_check("apt-get install -y libfdt-dev")
+ self.ssh_root("poweroff")
+ self.wait()
+ if os.path.exists(img):
+ os.remove(img)
+ os.rename(img_tmp, img)
+ return 0
+
+if __name__ == "__main__":
+ sys.exit(basevm.main(UbuntuX86VM))
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 13/38] tests: Add FreeBSD image
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (11 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 12/38] tests: Add ubuntu.i386 image Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 14/38] tests: Add NetBSD image Fam Zheng
` (26 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
The image is prepared following instructions as in:
https://wiki.qemu.org/Hosts/BSD
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905021201.25684-7-famz@redhat.com>
---
tests/vm/freebsd | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100755 tests/vm/freebsd
diff --git a/tests/vm/freebsd b/tests/vm/freebsd
new file mode 100755
index 0000000000..ae8665d6ee
--- /dev/null
+++ b/tests/vm/freebsd
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+#
+# FreeBSD VM image
+#
+# Copyright 2017 Red Hat Inc.
+#
+# Authors:
+# Fam Zheng <famz@redhat.com>
+#
+# This work is licensed under the terms of the GNU GPL, version 2. See
+# the COPYING file in the top-level directory.
+#
+
+import os
+import sys
+import subprocess
+import basevm
+
+class FreeBSDVM(basevm.BaseVM):
+ name = "freebsd"
+ BUILD_SCRIPT = """
+ set -e;
+ cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
+ tar -xf /dev/vtbd1;
+ ./configure {configure_opts};
+ gmake -j{jobs};
+ gmake check;
+ """
+
+ def build_image(self, img):
+ cimg = self._download_with_cache("http://download.patchew.org/freebsd-11.1-amd64.img.xz",
+ sha256sum='adcb771549b37bc63826c501f05121a206ed3d9f55f49145908f7e1432d65891')
+ img_tmp_xz = img + ".tmp.xz"
+ img_tmp = img + ".tmp"
+ subprocess.check_call(["cp", "-f", cimg, img_tmp_xz])
+ subprocess.check_call(["xz", "-df", img_tmp_xz])
+ if os.path.exists(img):
+ os.remove(img)
+ os.rename(img_tmp, img)
+
+if __name__ == "__main__":
+ sys.exit(basevm.main(FreeBSDVM))
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 14/38] tests: Add NetBSD image
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (12 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 13/38] tests: Add FreeBSD image Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 15/38] tests: Add OpenBSD image Fam Zheng
` (25 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
The image is prepared following instructions as in:
https://wiki.qemu.org/Hosts/BSD
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Kamil Rytarowski <n54@gmx.com>
Message-Id: <20170905021201.25684-8-famz@redhat.com>
---
tests/vm/netbsd | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100755 tests/vm/netbsd
diff --git a/tests/vm/netbsd b/tests/vm/netbsd
new file mode 100755
index 0000000000..25803370d5
--- /dev/null
+++ b/tests/vm/netbsd
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+#
+# NetBSD VM image
+#
+# Copyright 2017 Red Hat Inc.
+#
+# Authors:
+# Fam Zheng <famz@redhat.com>
+#
+# This work is licensed under the terms of the GNU GPL, version 2. See
+# the COPYING file in the top-level directory.
+#
+
+import os
+import sys
+import subprocess
+import basevm
+
+class NetBSDVM(basevm.BaseVM):
+ name = "netbsd"
+ BUILD_SCRIPT = """
+ set -e;
+ cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
+ tar -xf /dev/rld1a;
+ ./configure --python=python2.7 {configure_opts};
+ gmake -j{jobs};
+ gmake check;
+ """
+
+ def build_image(self, img):
+ cimg = self._download_with_cache("http://download.patchew.org/netbsd-7.1-amd64.img.xz",
+ sha256sum='b633d565b0eac3d02015cd0c81440bd8a7a8df8512615ac1ee05d318be015732')
+ img_tmp_xz = img + ".tmp.xz"
+ img_tmp = img + ".tmp"
+ subprocess.check_call(["cp", "-f", cimg, img_tmp_xz])
+ subprocess.check_call(["xz", "-df", img_tmp_xz])
+ if os.path.exists(img):
+ os.remove(img)
+ os.rename(img_tmp, img)
+
+if __name__ == "__main__":
+ sys.exit(basevm.main(NetBSDVM))
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 15/38] tests: Add OpenBSD image
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (13 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 14/38] tests: Add NetBSD image Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 16/38] Makefile: Add rules to run vm tests Fam Zheng
` (24 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
The image is prepared following instructions as in:
https://wiki.qemu.org/Hosts/BSD
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905021201.25684-9-famz@redhat.com>
---
tests/vm/openbsd | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100755 tests/vm/openbsd
diff --git a/tests/vm/openbsd b/tests/vm/openbsd
new file mode 100755
index 0000000000..9f713a56a1
--- /dev/null
+++ b/tests/vm/openbsd
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+#
+# OpenBSD VM image
+#
+# Copyright 2017 Red Hat Inc.
+#
+# Authors:
+# Fam Zheng <famz@redhat.com>
+#
+# This work is licensed under the terms of the GNU GPL, version 2. See
+# the COPYING file in the top-level directory.
+#
+
+import os
+import sys
+import subprocess
+import basevm
+
+class OpenBSDVM(basevm.BaseVM):
+ name = "openbsd"
+ BUILD_SCRIPT = """
+ set -e;
+ cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
+ tar -xf /dev/rsd1c;
+ ./configure --cc=x86_64-unknown-openbsd6.1-gcc-4.9.4 --python=python2.7 {configure_opts};
+ gmake -j{jobs};
+ # XXX: "gmake check" seems to always hang or fail
+ #gmake check;
+ """
+
+ def build_image(self, img):
+ cimg = self._download_with_cache("http://download.patchew.org/openbsd-6.1-amd64.img.xz",
+ sha256sum='8c6cedc483e602cfee5e04f0406c64eb99138495e8ca580bc0293bcf0640c1bf')
+ img_tmp_xz = img + ".tmp.xz"
+ img_tmp = img + ".tmp"
+ subprocess.check_call(["cp", "-f", cimg, img_tmp_xz])
+ subprocess.check_call(["xz", "-df", img_tmp_xz])
+ if os.path.exists(img):
+ os.remove(img)
+ os.rename(img_tmp, img)
+
+if __name__ == "__main__":
+ sys.exit(basevm.main(OpenBSDVM))
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 16/38] Makefile: Add rules to run vm tests
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (14 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 15/38] tests: Add OpenBSD image Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 17/38] MAINTAINERS: Add tests/vm entry Fam Zheng
` (23 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905021201.25684-10-famz@redhat.com>
---
Makefile | 2 ++
configure | 2 +-
tests/vm/Makefile.include | 42 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 45 insertions(+), 1 deletion(-)
create mode 100644 tests/vm/Makefile.include
diff --git a/Makefile b/Makefile
index 337a1f6f9b..946eb2ce35 100644
--- a/Makefile
+++ b/Makefile
@@ -822,6 +822,7 @@ endif
-include $(wildcard *.d tests/*.d)
include $(SRC_PATH)/tests/docker/Makefile.include
+include $(SRC_PATH)/tests/vm/Makefile.include
.PHONY: help
help:
@@ -845,6 +846,7 @@ help:
@echo 'Test targets:'
@echo ' check - Run all tests (check-help for details)'
@echo ' docker - Help about targets running tests inside Docker containers'
+ @echo ' vm-test - Help about targets running tests inside VM'
@echo ''
@echo 'Documentation targets:'
@echo ' html info pdf txt'
diff --git a/configure b/configure
index a541aadebc..c755d733a7 100755
--- a/configure
+++ b/configure
@@ -6557,7 +6557,7 @@ if test "$ccache_cpp2" = "yes"; then
fi
# build tree in object directory in case the source is not in the current directory
-DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32 tests/libqos tests/qapi-schema tests/tcg/xtensa tests/qemu-iotests"
+DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32 tests/libqos tests/qapi-schema tests/tcg/xtensa tests/qemu-iotests tests/vm"
DIRS="$DIRS docs docs/interop fsdev"
DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas pc-bios/s390-ccw"
DIRS="$DIRS roms/seabios roms/vgabios"
diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include
new file mode 100644
index 0000000000..5daa2a3b73
--- /dev/null
+++ b/tests/vm/Makefile.include
@@ -0,0 +1,42 @@
+# Makefile for VM tests
+
+.PHONY: vm-build-all
+
+IMAGES := ubuntu.i386 freebsd netbsd openbsd
+IMAGE_FILES := $(patsubst %, tests/vm/%.img, $(IMAGES))
+
+.PRECIOUS: $(IMAGE_FILES)
+
+vm-test:
+ @echo "vm-test: Test QEMU in preconfigured virtual machines"
+ @echo
+ @echo " vm-build-ubuntu.i386 - Build QEMU in ubuntu i386 VM"
+ @echo " vm-build-freebsd - Build QEMU in FreeBSD VM"
+ @echo " vm-build-netbsd - Build QEMU in NetBSD VM"
+ @echo " vm-build-openbsd - Build QEMU in OpenBSD VM"
+
+vm-build-all: $(addprefix vm-build-, $(IMAGES))
+
+tests/vm/%.img: $(SRC_PATH)/tests/vm/% \
+ $(SRC_PATH)/tests/vm/basevm.py \
+ $(SRC_PATH)/tests/vm/Makefile.include
+ $(call quiet-command, \
+ $< \
+ $(if $(V)$(DEBUG), --debug) \
+ --image "$@" \
+ --force \
+ --build-image $@, \
+ " VM-IMAGE $*")
+
+
+# Build in VM $(IMAGE)
+vm-build-%: tests/vm/%.img
+ $(call quiet-command, \
+ $(SRC_PATH)/tests/vm/$* \
+ $(if $(V)$(DEBUG), --debug) \
+ $(if $(DEBUG), --interactive) \
+ $(if $(J),--jobs $(J)) \
+ --image "$<" \
+ --build-qemu $(SRC_PATH), \
+ " VM-BUILD $*")
+
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 17/38] MAINTAINERS: Add tests/vm entry
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (15 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 16/38] Makefile: Add rules to run vm tests Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 18/38] tests: Add README for vm tests Fam Zheng
` (22 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20170905021201.25684-11-famz@redhat.com>
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index caf7e8aca8..0ba7f5803c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1891,6 +1891,7 @@ S: Maintained
F: .travis.yml
F: .shippable.yml
F: tests/docker/
+F: tests/vm/
W: https://travis-ci.org/qemu/qemu
W: https://app.shippable.com/github/qemu/qemu
W: http://patchew.org/QEMU/
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 18/38] tests: Add README for vm tests
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (16 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 17/38] MAINTAINERS: Add tests/vm entry Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 19/38] docker: Use archive-source.py Fam Zheng
` (21 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905021201.25684-12-famz@redhat.com>
---
tests/vm/README | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
create mode 100644 tests/vm/README
diff --git a/tests/vm/README b/tests/vm/README
new file mode 100644
index 0000000000..7d2fe4ac8d
--- /dev/null
+++ b/tests/vm/README
@@ -0,0 +1,63 @@
+=== VM test suite to run build in guests ===
+
+== Intro ==
+
+This test suite contains scripts that bootstrap various guest images that have
+necessary packages to build QEMU. The basic usage is documented in Makefile
+help which is displayed with "make vm-test".
+
+== Quick start ==
+
+Run "make vm-test" to list available make targets.
+
+== Manual invocation ==
+
+Each guest script is an executable script with the same command line options.
+For example to work with the netbsd guest, use $QEMU_SRC/tests/vm/netbsd:
+
+ $ cd $QEMU_SRC/tests/vm
+
+ # To bootstrap the image
+ $ ./netbsd --build-image --image /var/tmp/netbsd.img
+ <...>
+
+ # To run an arbitrary command in guest (the output will not be echoed unless
+ # --debug is added)
+ $ ./netbsd --debug --image /var/tmp/netbsd.img uname -a
+
+ # To build QEMU in guest
+ $ ./netbsd --debug --image /var/tmp/netbsd.img --build-qemu $QEMU_SRC
+
+ # To get to an interactive shell
+ $ ./netbsd --interactive --image /var/tmp/netbsd.img sh
+
+== Adding new guests ==
+
+Please look at existing guest scripts for how to add new guests.
+
+Most importantly, create a subclass of BaseVM and implement build_image()
+method and define BUILD_SCRIPT, then finally call basevm.main() from the
+script's main().
+
+ - Usually in build_image(), a template image is downloaded from a predefined
+ URL. BaseVM._download_with_cache() takes care of the cache and the
+ checksum, so consider using it.
+
+ - Once the image is downloaded, users, SSH server and QEMU build deps should
+ be set up:
+
+ * Root password set to BaseVM.ROOT_PASS
+ * User BaseVM.GUEST_USER is created, and password set to BaseVM.GUEST_PASS
+ * SSH service is enabled and started on boot, BaseVM.SSH_PUB_KEY is added
+ to authorized_keys of both root and the normal user
+ * DHCP client service is enabled and started on boot, so that it can
+ automatically configure the virtio-net-pci NIC and communicate with QEMU
+ user net (10.0.2.2)
+ * Necessary packages are installed to untar the source tarball and build
+ QEMU
+
+ - Write a proper BUILD_SCRIPT template, which should be a shell script that
+ untars a raw virtio-blk block device, which is the tarball data blob of the
+ QEMU source tree, then configure/build it. Running "make check" is also
+ recommended.
+
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 19/38] docker: Use archive-source.py
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (17 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 18/38] tests: Add README for vm tests Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 20/38] docker: Fix return code of build_qemu() Fam Zheng
` (20 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905021201.25684-13-famz@redhat.com>
---
tests/docker/Makefile.include | 15 ++-------------
tests/docker/run | 8 +-------
2 files changed, 3 insertions(+), 20 deletions(-)
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index d7dafdbd27..4bb02b1bb5 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -17,24 +17,13 @@ DOCKER_TOOLS := travis
TESTS ?= %
IMAGES ?= %
-# Make archive from git repo $1 to tar.gz $2
-make-archive-maybe = $(if $(wildcard $1/*), \
- $(call quiet-command, \
- (cd $1; if git diff-index --quiet HEAD -- &>/dev/null; then \
- git archive -1 HEAD --format=tar.gz; \
- else \
- git archive -1 $$(git stash create) --format=tar.gz; \
- fi) > $2, \
- "ARCHIVE","$(notdir $2)"))
-
CUR_TIME := $(shell date +%Y-%m-%d-%H.%M.%S.$$$$)
DOCKER_SRC_COPY := docker-src.$(CUR_TIME)
$(DOCKER_SRC_COPY):
@mkdir $@
- $(call make-archive-maybe, $(SRC_PATH), $@/qemu.tgz)
- $(call make-archive-maybe, $(SRC_PATH)/dtc, $@/dtc.tgz)
- $(call make-archive-maybe, $(SRC_PATH)/pixman, $@/pixman.tgz)
+ $(call quiet-command, $(SRC_PATH)/scripts/archive-source.sh $@/qemu.tar, \
+ "GEN", "$@/qemu.tar")
$(call quiet-command, cp $(SRC_PATH)/tests/docker/run $@/run, \
"COPY","RUNNER")
diff --git a/tests/docker/run b/tests/docker/run
index ec2541cbd9..52b76e443d 100755
--- a/tests/docker/run
+++ b/tests/docker/run
@@ -32,13 +32,7 @@ export TEST_DIR=/tmp/qemu-test
mkdir -p $TEST_DIR/{src,build,install}
# Extract the source tarballs
-tar -C $TEST_DIR/src -xzf $BASE/qemu.tgz
-for p in dtc pixman; do
- if test -f $BASE/$p.tgz; then
- tar -C $TEST_DIR/src/$p -xzf $BASE/$p.tgz
- export FEATURES="$FEATURES $p"
- fi
-done
+tar -C $TEST_DIR/src -xf $BASE/qemu.tar
if test -n "$SHOW_ENV"; then
if test -f /packages.txt; then
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 20/38] docker: Fix return code of build_qemu()
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (18 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 19/38] docker: Use archive-source.py Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 21/38] docker: Add test_fail and prep_fail Fam Zheng
` (19 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Without "set -e", the "&&" makes sure that the return code reflects the
result status, and that make only runs if configure succeeds.
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905025614.579-2-famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Based-on: 20170905021201.25684-1-famz@redhat.com
---
tests/docker/common.rc | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tests/docker/common.rc b/tests/docker/common.rc
index 64b36ba2d0..3b45eb91c6 100755
--- a/tests/docker/common.rc
+++ b/tests/docker/common.rc
@@ -30,6 +30,5 @@ build_qemu()
$@"
echo "Configure options:"
echo $config_opts
- $QEMU_SRC/configure $config_opts
- make $MAKEFLAGS
+ $QEMU_SRC/configure $config_opts && make $MAKEFLAGS
}
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 21/38] docker: Add test_fail and prep_fail
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (19 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 20/38] docker: Fix return code of build_qemu() Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 22/38] docker: Use unconfined security profile Fam Zheng
` (18 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
They both print a message and exit, but with different status code so
distinguish real test errors from env preparation failures.
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905025614.579-3-famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Based-on: 20170905021201.25684-1-famz@redhat.com
---
tests/docker/common.rc | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/tests/docker/common.rc b/tests/docker/common.rc
index 3b45eb91c6..87f5263757 100755
--- a/tests/docker/common.rc
+++ b/tests/docker/common.rc
@@ -32,3 +32,15 @@ build_qemu()
echo $config_opts
$QEMU_SRC/configure $config_opts && make $MAKEFLAGS
}
+
+test_fail()
+{
+ echo "$@"
+ exit 1
+}
+
+prep_fail()
+{
+ echo "$@"
+ exit 2
+}
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 22/38] docker: Use unconfined security profile
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (20 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 21/38] docker: Add test_fail and prep_fail Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 23/38] docker: Add nettle-devel to fedora image Fam Zheng
` (17 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Some by default blocked syscalls are required to run tests for example
userfaultfd.
Reviewed-by: Kashyap Chamarthy <kchamart@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905025614.579-4-famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Based-on: 20170905021201.25684-1-famz@redhat.com
---
tests/docker/Makefile.include | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 4bb02b1bb5..0e4f159619 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -135,6 +135,7 @@ docker-run: docker-qemu-src
$(call quiet-command, \
$(SRC_PATH)/tests/docker/docker.py run \
$(if $(NOUSER),,-u $(shell id -u)) -t \
+ --security-opt seccomp=unconfined \
$(if $V,,--rm) \
$(if $(DEBUG),-i,) \
$(if $(NETWORK),$(if $(subst $(NETWORK),,1),--net=$(NETWORK)),--net=none) \
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 23/38] docker: Add nettle-devel to fedora image
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (21 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 22/38] docker: Use unconfined security profile Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 24/38] docker: Add test-block Fam Zheng
` (16 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
The LUKS cases in qemu-iotests requires this.
Reviewed-by: Kashyap Chamarthy <kchamart@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905025614.579-5-famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Based-on: 20170905021201.25684-1-famz@redhat.com
---
tests/docker/dockerfiles/fedora.docker | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 4eaa8ed2a5..27e8201c54 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -3,6 +3,7 @@ ENV PACKAGES \
ccache git tar PyYAML sparse flex bison python2 bzip2 hostname \
glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \
gcc gcc-c++ clang make perl which bc findutils libaio-devel \
+ nettle-devel \
mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config \
mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 \
mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 \
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 24/38] docker: Add test-block
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (22 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 23/38] docker: Add nettle-devel to fedora image Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 25/38] docker: Drop 'set -e' from run script Fam Zheng
` (15 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905025614.579-6-famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Based-on: 20170905021201.25684-1-famz@redhat.com
---
tests/docker/test-block | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100755 tests/docker/test-block
diff --git a/tests/docker/test-block b/tests/docker/test-block
new file mode 100755
index 0000000000..64d8bbadf7
--- /dev/null
+++ b/tests/docker/test-block
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Run block test cases
+#
+# Copyright 2017 Red Hat Inc.
+#
+# Authors:
+# Fam Zheng <famz@redhat.com>
+#
+# This work is licensed under the terms of the GNU GPL, version 2
+# or (at your option) any later version. See the COPYING file in
+# the top-level directory.
+
+. ./common.rc
+
+cd "$BUILD_DIR"
+
+build_qemu --target-list=x86_64-softmmu
+cd tests/qemu-iotests
+for t in raw qcow2 nbd luks; do
+ ./check -g quick -$t || test_fail "Test failed: iotests $t"
+done
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 25/38] docker: Drop 'set -e' from run script
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (23 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 24/38] docker: Add test-block Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 26/38] vl: Don't include vde header Fam Zheng
` (14 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170905025614.579-7-famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Based-on: 20170905021201.25684-1-famz@redhat.com
---
tests/docker/run | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/tests/docker/run b/tests/docker/run
index 52b76e443d..c8f940de15 100755
--- a/tests/docker/run
+++ b/tests/docker/run
@@ -1,4 +1,4 @@
-#!/bin/bash -e
+#!/bin/bash
#
# Docker test runner
#
@@ -11,8 +11,6 @@
# or (at your option) any later version. See the COPYING file in
# the top-level directory.
-set -e
-
if test -n "$V"; then
set -x
fi
@@ -20,7 +18,7 @@ fi
BASE="$(dirname $(readlink -e $0))"
# Prepare the environment
-. /etc/profile || true
+. /etc/profile
export PATH=/usr/lib/ccache:$PATH
if test -n "$J"; then
@@ -32,7 +30,7 @@ export TEST_DIR=/tmp/qemu-test
mkdir -p $TEST_DIR/{src,build,install}
# Extract the source tarballs
-tar -C $TEST_DIR/src -xf $BASE/qemu.tar
+tar -C $TEST_DIR/src -xf $BASE/qemu.tar || prep_fail "Failed to untar source"
if test -n "$SHOW_ENV"; then
if test -f /packages.txt; then
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 26/38] vl: Don't include vde header
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (24 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 25/38] docker: Drop 'set -e' from run script Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 27/38] buildsys: Move vde libs to per object Fam Zheng
` (13 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Nothing in vl.c uses anything from the vde package, do remove the
unnecessary include.
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907083552.17725-2-famz@redhat.com>
Reviewed-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
vl.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/vl.c b/vl.c
index fb1f05b937..7187e6c350 100644
--- a/vl.c
+++ b/vl.c
@@ -31,10 +31,6 @@
#include "sysemu/seccomp.h"
#endif
-#if defined(CONFIG_VDE)
-#include <libvdeplug.h>
-#endif
-
#ifdef CONFIG_SDL
#if defined(__APPLE__) || defined(main)
#include <SDL.h>
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 27/38] buildsys: Move vde libs to per object
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (25 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 26/38] vl: Don't include vde header Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 28/38] buildsys: Move gtk/vte cflags/libs " Fam Zheng
` (12 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907083552.17725-3-famz@redhat.com>
Reviewed-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
configure | 3 +--
net/Makefile.objs | 2 ++
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index c755d733a7..821922fffc 100755
--- a/configure
+++ b/configure
@@ -2960,8 +2960,6 @@ int main(void)
EOF
if compile_prog "" "$vde_libs" ; then
vde=yes
- libs_softmmu="$vde_libs $libs_softmmu"
- libs_tools="$vde_libs $libs_tools"
else
if test "$vde" = "yes" ; then
feature_not_found "vde" "Install vde (Virtual Distributed Ethernet) devel"
@@ -5542,6 +5540,7 @@ if test "$slirp" = "yes" ; then
fi
if test "$vde" = "yes" ; then
echo "CONFIG_VDE=y" >> $config_host_mak
+ echo "VDE_LIBS=$vde_libs" >> $config_host_mak
fi
if test "$netmap" = "yes" ; then
echo "CONFIG_NETMAP=y" >> $config_host_mak
diff --git a/net/Makefile.objs b/net/Makefile.objs
index 67ba5e26fb..64adf32f40 100644
--- a/net/Makefile.objs
+++ b/net/Makefile.objs
@@ -21,3 +21,5 @@ tap-obj-$(CONFIG_SOLARIS) = tap-solaris.o
tap-obj-y ?= tap-stub.o
common-obj-$(CONFIG_POSIX) += tap.o $(tap-obj-y)
common-obj-$(CONFIG_WIN32) += tap-win32.o
+
+vde.o-libs = $(VDE_LIBS)
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 28/38] buildsys: Move gtk/vte cflags/libs to per object
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (26 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 27/38] buildsys: Move vde libs to per object Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 29/38] buildsys: Move sdl " Fam Zheng
` (11 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907082918.7299-2-famz@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
configure | 3 +--
ui/Makefile.objs | 4 ++++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 821922fffc..a007a4d430 100755
--- a/configure
+++ b/configure
@@ -2434,7 +2434,6 @@ if test "$gtk" != "no"; then
gtk_cflags="$gtk_cflags $x11_cflags"
gtk_libs="$gtk_libs $x11_libs"
fi
- libs_softmmu="$gtk_libs $libs_softmmu"
gtk="yes"
elif test "$gtk" = "yes"; then
feature_not_found "gtk" "Install gtk3-devel"
@@ -2684,7 +2683,6 @@ if test "$vte" != "no"; then
vte_cflags=$($pkg_config --cflags $vtepackage)
vte_libs=$($pkg_config --libs $vtepackage)
vteversion=$($pkg_config --modversion $vtepackage)
- libs_softmmu="$vte_libs $libs_softmmu"
vte="yes"
elif test "$vte" = "yes"; then
if test "$gtkabi" = "3.0"; then
@@ -5749,6 +5747,7 @@ fi
if test "$vte" = "yes" ; then
echo "CONFIG_VTE=y" >> $config_host_mak
echo "VTE_CFLAGS=$vte_cflags" >> $config_host_mak
+ echo "VTE_LIBS=$vte_libs" >> $config_host_mak
fi
if test "$virglrenderer" = "yes" ; then
echo "CONFIG_VIRGL=y" >> $config_host_mak
diff --git a/ui/Makefile.objs b/ui/Makefile.objs
index 3369451285..146a8ce062 100644
--- a/ui/Makefile.objs
+++ b/ui/Makefile.objs
@@ -45,6 +45,10 @@ gtk.o-cflags := $(GTK_CFLAGS) $(VTE_CFLAGS)
gtk-egl.o-cflags := $(GTK_CFLAGS) $(VTE_CFLAGS)
gtk-gl-area.o-cflags := $(GTK_CFLAGS) $(VTE_CFLAGS)
+gtk.o-libs := $(GTK_LIBS) $(VTE_LIBS)
+gtk-egl.o-libs := $(GTK_LIBS) $(VTE_LIBS)
+gtk-gl-area.o-libs := $(GTK_LIBS) $(VTE_LIBS)
+
gtk-egl.o-libs += $(OPENGL_LIBS)
shader.o-libs += $(OPENGL_LIBS)
console-gl.o-libs += $(OPENGL_LIBS)
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 29/38] buildsys: Move sdl cflags/libs to per object
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (27 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 28/38] buildsys: Move gtk/vte cflags/libs " Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 30/38] buildsys: Move vnc " Fam Zheng
` (10 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907082918.7299-3-famz@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
audio/Makefile.objs | 1 +
configure | 2 +-
ui/Makefile.objs | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/audio/Makefile.objs b/audio/Makefile.objs
index 481d1aa30e..c20695668f 100644
--- a/audio/Makefile.objs
+++ b/audio/Makefile.objs
@@ -11,3 +11,4 @@ common-obj-$(CONFIG_AUDIO_WIN_INT) += audio_win_int.o
common-obj-y += wavcapture.o
sdlaudio.o-cflags := $(SDL_CFLAGS)
+sdlaudio.o-libs := $(SDL_LIBS)
diff --git a/configure b/configure
index a007a4d430..90a8851342 100755
--- a/configure
+++ b/configure
@@ -2800,7 +2800,6 @@ EOF
sdl_cflags="$sdl_cflags $x11_cflags"
sdl_libs="$sdl_libs $x11_libs"
fi
- libs_softmmu="$sdl_libs $libs_softmmu"
fi
##########################################
@@ -5598,6 +5597,7 @@ if test "$sdl" = "yes" ; then
echo "CONFIG_SDL=y" >> $config_host_mak
echo "CONFIG_SDLABI=$sdlabi" >> $config_host_mak
echo "SDL_CFLAGS=$sdl_cflags" >> $config_host_mak
+ echo "SDL_LIBS=$sdl_libs" >> $config_host_mak
fi
if test "$cocoa" = "yes" ; then
echo "CONFIG_COCOA=y" >> $config_host_mak
diff --git a/ui/Makefile.objs b/ui/Makefile.objs
index 146a8ce062..b3e29e21f0 100644
--- a/ui/Makefile.objs
+++ b/ui/Makefile.objs
@@ -27,6 +27,7 @@ sdl.mo-objs += sdl2-gl.o
endif
endif
sdl.mo-cflags := $(SDL_CFLAGS)
+sdl.mo-libs := $(SDL_LIBS)
ifeq ($(CONFIG_OPENGL),y)
common-obj-y += shader.o
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 30/38] buildsys: Move vnc cflags/libs to per object
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (28 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 29/38] buildsys: Move sdl " Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 31/38] buildsys: Move audio libs " Fam Zheng
` (9 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907082918.7299-4-famz@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
configure | 14 ++++++++------
ui/Makefile.objs | 21 ++++++++++++---------
2 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/configure b/configure
index 90a8851342..2b3db2f5c3 100755
--- a/configure
+++ b/configure
@@ -2840,8 +2840,8 @@ EOF
vnc_sasl_libs="-lsasl2"
if compile_prog "$vnc_sasl_cflags" "$vnc_sasl_libs" ; then
vnc_sasl=yes
- libs_softmmu="$vnc_sasl_libs $libs_softmmu"
- QEMU_CFLAGS="$QEMU_CFLAGS $vnc_sasl_cflags"
+ vnc_libs="$vnc_libs $vnc_sasl_libs"
+ vnc_cflags="$vnc_cflags $vnc_sasl_cflags"
else
if test "$vnc_sasl" = "yes" ; then
feature_not_found "vnc-sasl" "Install Cyrus SASL devel"
@@ -2862,8 +2862,8 @@ EOF
vnc_jpeg_libs="-ljpeg"
if compile_prog "$vnc_jpeg_cflags" "$vnc_jpeg_libs" ; then
vnc_jpeg=yes
- libs_softmmu="$vnc_jpeg_libs $libs_softmmu"
- QEMU_CFLAGS="$QEMU_CFLAGS $vnc_jpeg_cflags"
+ vnc_libs="$vnc_libs $vnc_jpeg_libs"
+ vnc_cflags="$vnc_cflags $vnc_jpeg_cflags"
else
if test "$vnc_jpeg" = "yes" ; then
feature_not_found "vnc-jpeg" "Install libjpeg-turbo devel"
@@ -2894,8 +2894,8 @@ EOF
fi
if compile_prog "$vnc_png_cflags" "$vnc_png_libs" ; then
vnc_png=yes
- libs_softmmu="$vnc_png_libs $libs_softmmu"
- QEMU_CFLAGS="$QEMU_CFLAGS $vnc_png_cflags"
+ vnc_libs="$vnc_libs $vnc_png_libs"
+ vnc_cflags="$vnc_cflags $vnc_png_cflags"
else
if test "$vnc_png" = "yes" ; then
feature_not_found "vnc-png" "Install libpng devel"
@@ -5563,6 +5563,8 @@ echo "CONFIG_BDRV_RW_WHITELIST=$block_drv_rw_whitelist" >> $config_host_mak
echo "CONFIG_BDRV_RO_WHITELIST=$block_drv_ro_whitelist" >> $config_host_mak
if test "$vnc" = "yes" ; then
echo "CONFIG_VNC=y" >> $config_host_mak
+ echo "VNC_CFLAGS=$vnc_cflags" >> $config_host_mak
+ echo "VNC_LIBS=$vnc_libs" >> $config_host_mak
fi
if test "$vnc_sasl" = "yes" ; then
echo "CONFIG_VNC_SASL=y" >> $config_host_mak
diff --git a/ui/Makefile.objs b/ui/Makefile.objs
index b3e29e21f0..a0b3c15a28 100644
--- a/ui/Makefile.objs
+++ b/ui/Makefile.objs
@@ -1,11 +1,14 @@
-vnc-obj-y += vnc.o
-vnc-obj-y += vnc-enc-zlib.o vnc-enc-hextile.o
-vnc-obj-y += vnc-enc-tight.o vnc-palette.o
-vnc-obj-y += vnc-enc-zrle.o
-vnc-obj-y += vnc-auth-vencrypt.o
-vnc-obj-$(CONFIG_VNC_SASL) += vnc-auth-sasl.o
-vnc-obj-y += vnc-ws.o
-vnc-obj-y += vnc-jobs.o
+vnc.mo-objs += vnc.o
+vnc.mo-objs += vnc-enc-zlib.o vnc-enc-hextile.o
+vnc.mo-objs += vnc-enc-tight.o vnc-palette.o
+vnc.mo-objs += vnc-enc-zrle.o
+vnc.mo-objs += vnc-auth-vencrypt.o
+vnc.mo-objs += $(if $(CONFIG_VNC_SASL), vnc-auth-sasl.o)
+vnc.mo-objs += vnc-ws.o
+vnc.mo-objs += vnc-jobs.o
+
+vnc.mo-cflags := $(VNC_CFLAGS)
+vnc.mo-libs := $(VNC_LIBS)
common-obj-y += keymaps.o console.o cursor.o qemu-pixman.o
common-obj-y += input.o input-keymap.o input-legacy.o
@@ -14,7 +17,7 @@ common-obj-$(CONFIG_SPICE) += spice-core.o spice-input.o spice-display.o
common-obj-$(CONFIG_SDL) += sdl.mo x_keymap.o
common-obj-$(CONFIG_COCOA) += cocoa.o
common-obj-$(CONFIG_CURSES) += curses.o
-common-obj-$(CONFIG_VNC) += $(vnc-obj-y)
+common-obj-$(CONFIG_VNC) += vnc.mo
common-obj-$(CONFIG_GTK) += gtk.o x_keymap.o
ifeq ($(CONFIG_SDLABI),1.2)
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 31/38] buildsys: Move audio libs to per object
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (29 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 30/38] buildsys: Move vnc " Fam Zheng
@ 2017-09-08 9:54 ` Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 32/38] buildsys: Move curese cflags/libs " Fam Zheng
` (8 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907082918.7299-5-famz@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
audio/Makefile.objs | 5 +++++
configure | 15 ++++++++++-----
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/audio/Makefile.objs b/audio/Makefile.objs
index c20695668f..8a5ede6e2b 100644
--- a/audio/Makefile.objs
+++ b/audio/Makefile.objs
@@ -12,3 +12,8 @@ common-obj-y += wavcapture.o
sdlaudio.o-cflags := $(SDL_CFLAGS)
sdlaudio.o-libs := $(SDL_LIBS)
+alsaaudio.o-libs := $(ALSA_LIBS)
+paaudio.o-libs := $(PULSE_LIBS)
+coreaudio.o-libs := $(COREAUDIO_LIBS)
+dsoundaudio.o-libs := $(DSOUND_LIBS)
+ossaudio.o-libs := $(OSS_LIBS)
diff --git a/configure b/configure
index 2b3db2f5c3..ddddfde599 100755
--- a/configure
+++ b/configure
@@ -3044,13 +3044,13 @@ for drv in $audio_drv_list; do
alsa)
audio_drv_probe $drv alsa/asoundlib.h -lasound \
"return snd_pcm_close((snd_pcm_t *)0);"
- libs_softmmu="-lasound $libs_softmmu"
+ alsa_libs="-lasound"
;;
pa)
audio_drv_probe $drv pulse/pulseaudio.h "-lpulse" \
"pa_context_set_source_output_volume(NULL, 0, NULL, NULL, NULL); return 0;"
- libs_softmmu="-lpulse $libs_softmmu"
+ pulse_libs="-lpulse"
audio_pt_int="yes"
;;
@@ -3061,16 +3061,16 @@ for drv in $audio_drv_list; do
;;
coreaudio)
- libs_softmmu="-framework CoreAudio $libs_softmmu"
+ coreaudio_libs="-framework CoreAudio"
;;
dsound)
- libs_softmmu="-lole32 -ldxguid $libs_softmmu"
+ dsound_libs="-lole32 -ldxguid"
audio_win_int="yes"
;;
oss)
- libs_softmmu="$oss_lib $libs_softmmu"
+ oss_libs="$oss_lib"
;;
wav)
@@ -5553,6 +5553,11 @@ for drv in $audio_drv_list; do
def=CONFIG_$(echo $drv | LC_ALL=C tr '[a-z]' '[A-Z]')
echo "$def=y" >> $config_host_mak
done
+echo "ALSA_LIBS=$alsa_libs" >> $config_host_mak
+echo "PULSE_LIBS=$pulse_libs" >> $config_host_mak
+echo "COREAUDIO_LIBS=$coreaudio_libs" >> $config_host_mak
+echo "DSOUND_LIBS=$dsound_libs" >> $config_host_mak
+echo "OSS_LIBS=$oss_libs" >> $config_host_mak
if test "$audio_pt_int" = "yes" ; then
echo "CONFIG_AUDIO_PT_INT=y" >> $config_host_mak
fi
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 32/38] buildsys: Move curese cflags/libs to per object
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (30 preceding siblings ...)
2017-09-08 9:54 ` [Qemu-devel] [PULL 31/38] buildsys: Move audio libs " Fam Zheng
@ 2017-09-08 9:55 ` Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 33/38] buildsys: Move opengl cflags " Fam Zheng
` (7 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:55 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907082918.7299-6-famz@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
configure | 6 ++++--
ui/Makefile.objs | 3 +++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index ddddfde599..df22b14259 100755
--- a/configure
+++ b/configure
@@ -3141,8 +3141,8 @@ EOF
unset IFS
if compile_prog "$curses_inc" "$curses_lib" ; then
curses_found=yes
- QEMU_CFLAGS="$curses_inc $QEMU_CFLAGS"
- libs_softmmu="$curses_lib $libs_softmmu"
+ curses_cflags="$curses_inc $curses_cflags"
+ curses_libs="$curses_lib $curses_libs"
break
fi
done
@@ -5611,6 +5611,8 @@ if test "$cocoa" = "yes" ; then
fi
if test "$curses" = "yes" ; then
echo "CONFIG_CURSES=y" >> $config_host_mak
+ echo "CURSES_CFLAGS=$curses_cflags" >> $config_host_mak
+ echo "CURSES_LIBS=$curses_libs" >> $config_host_mak
fi
if test "$pipe2" = "yes" ; then
echo "CONFIG_PIPE2=y" >> $config_host_mak
diff --git a/ui/Makefile.objs b/ui/Makefile.objs
index a0b3c15a28..e3403b698b 100644
--- a/ui/Makefile.objs
+++ b/ui/Makefile.objs
@@ -57,3 +57,6 @@ gtk-egl.o-libs += $(OPENGL_LIBS)
shader.o-libs += $(OPENGL_LIBS)
console-gl.o-libs += $(OPENGL_LIBS)
egl-helpers.o-libs += $(OPENGL_LIBS)
+
+curses.o-cflags := $(CURSES_CFLAGS)
+curses.o-libs := $(CURSES_LIBS)
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 33/38] buildsys: Move opengl cflags to per object
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (31 preceding siblings ...)
2017-09-08 9:55 ` [Qemu-devel] [PULL 32/38] buildsys: Move curese cflags/libs " Fam Zheng
@ 2017-09-08 9:55 ` Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 34/38] buildsys: Move libcacard cflags/libs " Fam Zheng
` (6 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:55 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Opengl libs are already moved to per object, do so for the cflags as
well.
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907082918.7299-7-famz@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
configure | 2 +-
ui/Makefile.objs | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/configure b/configure
index df22b14259..385ed51a18 100755
--- a/configure
+++ b/configure
@@ -3627,7 +3627,6 @@ if test "$opengl" != "no" ; then
if test "$gtk" = "yes" && $pkg_config --exists "$gtkpackage >= 3.16"; then
gtk_gl="yes"
fi
- QEMU_CFLAGS="$QEMU_CFLAGS $opengl_cflags"
else
if test "$opengl" = "yes" ; then
feature_not_found "opengl" "Please install opengl (mesa) devel pkgs: $opengl_pkgs"
@@ -5843,6 +5842,7 @@ fi
if test "$opengl" = "yes" ; then
echo "CONFIG_OPENGL=y" >> $config_host_mak
+ echo "OPENGL_CFLAGS=$opengl_cflags" >> $config_host_mak
echo "OPENGL_LIBS=$opengl_libs" >> $config_host_mak
if test "$opengl_dmabuf" = "yes" ; then
echo "CONFIG_OPENGL_DMABUF=y" >> $config_host_mak
diff --git a/ui/Makefile.objs b/ui/Makefile.objs
index e3403b698b..95943d9c33 100644
--- a/ui/Makefile.objs
+++ b/ui/Makefile.objs
@@ -53,10 +53,10 @@ gtk.o-libs := $(GTK_LIBS) $(VTE_LIBS)
gtk-egl.o-libs := $(GTK_LIBS) $(VTE_LIBS)
gtk-gl-area.o-libs := $(GTK_LIBS) $(VTE_LIBS)
-gtk-egl.o-libs += $(OPENGL_LIBS)
-shader.o-libs += $(OPENGL_LIBS)
-console-gl.o-libs += $(OPENGL_LIBS)
-egl-helpers.o-libs += $(OPENGL_LIBS)
+$(foreach x, gtk-egl shader console egl-helpers, \
+ $(eval $x.o-libs += $(OPENGL_LIBS)) \
+ $(eval $x.o-cflags += $(OPENGL_CFLAGS)) \
+)
curses.o-cflags := $(CURSES_CFLAGS)
curses.o-libs := $(CURSES_LIBS)
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 34/38] buildsys: Move libcacard cflags/libs to per object
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (32 preceding siblings ...)
2017-09-08 9:55 ` [Qemu-devel] [PULL 33/38] buildsys: Move opengl cflags " Fam Zheng
@ 2017-09-08 9:55 ` Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 35/38] buildsys: Move libusb " Fam Zheng
` (5 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:55 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907082918.7299-8-famz@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
configure | 4 ++--
hw/usb/Makefile.objs | 6 ++++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/configure b/configure
index 385ed51a18..e430df0582 100755
--- a/configure
+++ b/configure
@@ -4241,8 +4241,6 @@ if test "$smartcard" != "no"; then
if $pkg_config libcacard; then
libcacard_cflags=$($pkg_config --cflags libcacard)
libcacard_libs=$($pkg_config --libs libcacard)
- QEMU_CFLAGS="$QEMU_CFLAGS $libcacard_cflags"
- libs_softmmu="$libs_softmmu $libcacard_libs"
smartcard="yes"
else
if test "$smartcard" = "yes"; then
@@ -5830,6 +5828,8 @@ fi
if test "$smartcard" = "yes" ; then
echo "CONFIG_SMARTCARD=y" >> $config_host_mak
+ echo "SMARTCARD_CFLAGS=$libcacard_cflags" >> $config_host_mak
+ echo "SMARTCARD_LIBS=$libcacard_libs" >> $config_host_mak
fi
if test "$libusb" = "yes" ; then
diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs
index 97f1c4561a..795ff25a5e 100644
--- a/hw/usb/Makefile.objs
+++ b/hw/usb/Makefile.objs
@@ -26,8 +26,10 @@ common-obj-$(CONFIG_USB_BLUETOOTH) += dev-bluetooth.o
ifeq ($(CONFIG_USB_SMARTCARD),y)
common-obj-y += dev-smartcard-reader.o
-common-obj-$(CONFIG_SMARTCARD) += ccid-card-passthru.o
-common-obj-$(CONFIG_SMARTCARD) += ccid-card-emulated.o
+common-obj-$(CONFIG_SMARTCARD) += smartcard.mo
+smartcard.mo-objs := ccid-card-passthru.o ccid-card-emulated.o
+smartcard.mo-cflags := $(SMARTCARD_CFLAGS)
+smartcard.mo-libs := $(SMARTCARD_LIBS)
endif
ifeq ($(CONFIG_POSIX),y)
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 35/38] buildsys: Move libusb cflags/libs to per object
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (33 preceding siblings ...)
2017-09-08 9:55 ` [Qemu-devel] [PULL 34/38] buildsys: Move libcacard cflags/libs " Fam Zheng
@ 2017-09-08 9:55 ` Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 36/38] buildsys: Move usb redir " Fam Zheng
` (4 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:55 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907082918.7299-9-famz@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
configure | 4 ++--
hw/usb/Makefile.objs | 5 +++++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index e430df0582..18368670b1 100755
--- a/configure
+++ b/configure
@@ -4256,8 +4256,6 @@ if test "$libusb" != "no" ; then
libusb="yes"
libusb_cflags=$($pkg_config --cflags libusb-1.0)
libusb_libs=$($pkg_config --libs libusb-1.0)
- QEMU_CFLAGS="$QEMU_CFLAGS $libusb_cflags"
- libs_softmmu="$libs_softmmu $libusb_libs"
else
if test "$libusb" = "yes"; then
feature_not_found "libusb" "Install libusb devel >= 1.0.13"
@@ -5834,6 +5832,8 @@ fi
if test "$libusb" = "yes" ; then
echo "CONFIG_USB_LIBUSB=y" >> $config_host_mak
+ echo "LIBUSB_CFLAGS=$libusb_cflags" >> $config_host_mak
+ echo "LIBUSB_LIBS=$libusb_libs" >> $config_host_mak
fi
if test "$usb_redir" = "yes" ; then
diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs
index 795ff25a5e..9ce9eadb47 100644
--- a/hw/usb/Makefile.objs
+++ b/hw/usb/Makefile.objs
@@ -42,6 +42,11 @@ common-obj-$(CONFIG_USB_REDIR) += redirect.o quirks.o
# usb pass-through
common-obj-y += $(patsubst %,host-%.o,$(HOST_USB))
+host-libusb.o-cflags := $(LIBUSB_CFLAGS)
+host-libusb.o-libs := $(LIBUSB_LIBS)
+
ifeq ($(CONFIG_USB_LIBUSB),y)
common-obj-$(CONFIG_XEN) += xen-usb.o
+xen-usb.o-cflags := $(LIBUSB_CFLAGS)
+xen-usb.o-libs := $(LIBUSB_LIBS)
endif
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 36/38] buildsys: Move usb redir cflags/libs to per object
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (34 preceding siblings ...)
2017-09-08 9:55 ` [Qemu-devel] [PULL 35/38] buildsys: Move libusb " Fam Zheng
@ 2017-09-08 9:55 ` Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 37/38] buildsys: Move brlapi libs " Fam Zheng
` (3 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:55 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907082918.7299-10-famz@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
configure | 4 ++--
hw/usb/Makefile.objs | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 18368670b1..64a931d1e2 100755
--- a/configure
+++ b/configure
@@ -4270,8 +4270,6 @@ if test "$usb_redir" != "no" ; then
usb_redir="yes"
usb_redir_cflags=$($pkg_config --cflags libusbredirparser-0.5)
usb_redir_libs=$($pkg_config --libs libusbredirparser-0.5)
- QEMU_CFLAGS="$QEMU_CFLAGS $usb_redir_cflags"
- libs_softmmu="$libs_softmmu $usb_redir_libs"
else
if test "$usb_redir" = "yes"; then
feature_not_found "usb-redir" "Install usbredir devel"
@@ -5838,6 +5836,8 @@ fi
if test "$usb_redir" = "yes" ; then
echo "CONFIG_USB_REDIR=y" >> $config_host_mak
+ echo "USB_REDIR_CFLAGS=$usb_redir_cflags" >> $config_host_mak
+ echo "USB_REDIR_LIBS=$usb_redir_libs" >> $config_host_mak
fi
if test "$opengl" = "yes" ; then
diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs
index 9ce9eadb47..92eb199697 100644
--- a/hw/usb/Makefile.objs
+++ b/hw/usb/Makefile.objs
@@ -38,6 +38,8 @@ endif
# usb redirection
common-obj-$(CONFIG_USB_REDIR) += redirect.o quirks.o
+redirect.o-cflags = $(USB_REDIR_CFLAGS)
+redirect.o-libs = $(USB_REDIR_LIBS)
# usb pass-through
common-obj-y += $(patsubst %,host-%.o,$(HOST_USB))
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 37/38] buildsys: Move brlapi libs to per object
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (35 preceding siblings ...)
2017-09-08 9:55 ` [Qemu-devel] [PULL 36/38] buildsys: Move usb redir " Fam Zheng
@ 2017-09-08 9:55 ` Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 38/38] buildsys: Move rdma " Fam Zheng
` (2 subsequent siblings)
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:55 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
baum.o already receives the sdl cflags in its per object variable, do
the same for brlapi libs to avoid cluttering libs_softmmu.
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907084700.952-1-famz@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
chardev/Makefile.objs | 1 +
configure | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/chardev/Makefile.objs b/chardev/Makefile.objs
index 52a8127606..d68e1347f9 100644
--- a/chardev/Makefile.objs
+++ b/chardev/Makefile.objs
@@ -20,5 +20,6 @@ chardev-obj-$(CONFIG_WIN32) += char-win-stdio.o
common-obj-y += msmouse.o wctablet.o testdev.o
common-obj-$(CONFIG_BRLAPI) += baum.o
baum.o-cflags := $(SDL_CFLAGS)
+baum.o-libs := $(BRLAPI_LIBS)
common-obj-$(CONFIG_SPICE) += spice.o
diff --git a/configure b/configure
index 64a931d1e2..e354497eaa 100755
--- a/configure
+++ b/configure
@@ -3098,7 +3098,6 @@ int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
EOF
if compile_prog "" "$brlapi_libs" ; then
brlapi=yes
- libs_softmmu="$brlapi_libs $libs_softmmu"
else
if test "$brlapi" = "yes" ; then
feature_not_found "brlapi" "Install brlapi devel"
@@ -5689,6 +5688,7 @@ if test "$curl" = "yes" ; then
fi
if test "$brlapi" = "yes" ; then
echo "CONFIG_BRLAPI=y" >> $config_host_mak
+ echo "BRLAPI_LIBS=$brlapi_libs" >> $config_host_mak
fi
if test "$bluez" = "yes" ; then
echo "CONFIG_BLUEZ=y" >> $config_host_mak
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Qemu-devel] [PULL 38/38] buildsys: Move rdma libs to per object
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (36 preceding siblings ...)
2017-09-08 9:55 ` [Qemu-devel] [PULL 37/38] buildsys: Move brlapi libs " Fam Zheng
@ 2017-09-08 9:55 ` Fam Zheng
2017-09-08 10:31 ` [Qemu-devel] [PULL 00/38] Test and build system patches no-reply
2017-09-08 13:44 ` Peter Maydell
39 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-08 9:55 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170907084230.26493-1-famz@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
configure | 2 +-
migration/Makefile.objs | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index e354497eaa..5b86653bcd 100755
--- a/configure
+++ b/configure
@@ -2812,7 +2812,6 @@ EOF
rdma_libs="-lrdmacm -libverbs"
if compile_prog "" "$rdma_libs" ; then
rdma="yes"
- libs_softmmu="$libs_softmmu $rdma_libs"
else
if test "$rdma" = "yes" ; then
error_exit \
@@ -6039,6 +6038,7 @@ echo "CONFIG_TRACE_FILE=$trace_file" >> $config_host_mak
if test "$rdma" = "yes" ; then
echo "CONFIG_RDMA=y" >> $config_host_mak
+ echo "RDMA_LIBS=$rdma_libs" >> $config_host_mak
fi
if test "$have_rtnetlink" = "yes" ; then
diff --git a/migration/Makefile.objs b/migration/Makefile.objs
index 1c7770da46..99e038024d 100644
--- a/migration/Makefile.objs
+++ b/migration/Makefile.objs
@@ -11,3 +11,4 @@ common-obj-$(CONFIG_RDMA) += rdma.o
common-obj-$(CONFIG_LIVE_BLOCK_MIGRATION) += block.o
+rdma.o-libs := $(RDMA_LIBS)
--
2.13.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* Re: [Qemu-devel] [PULL 00/38] Test and build system patches
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (37 preceding siblings ...)
2017-09-08 9:55 ` [Qemu-devel] [PULL 38/38] buildsys: Move rdma " Fam Zheng
@ 2017-09-08 10:31 ` no-reply
2017-09-08 13:44 ` Peter Maydell
39 siblings, 0 replies; 42+ messages in thread
From: no-reply @ 2017-09-08 10:31 UTC (permalink / raw)
To: famz; +Cc: qemu-devel, peter.maydell
Hi,
This series seems to have some coding style problems. See output below for
more information:
Subject: [Qemu-devel] [PULL 00/38] Test and build system patches
Message-id: 20170908095506.13594-1-famz@redhat.com
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0
git config --local diff.renamelimit 0
git config --local diff.renames True
commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
failed=1
echo
fi
n=$((n+1))
done
exit $failed
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
* [new tag] patchew/20170908095506.13594-1-famz@redhat.com -> patchew/20170908095506.13594-1-famz@redhat.com
Switched to a new branch 'test'
6bc4b9ae8b buildsys: Move rdma libs to per object
982606e298 buildsys: Move brlapi libs to per object
7742b1818c buildsys: Move usb redir cflags/libs to per object
703c248838 buildsys: Move libusb cflags/libs to per object
effc7372c1 buildsys: Move libcacard cflags/libs to per object
75bfc18a8e buildsys: Move opengl cflags to per object
f0d9b17d0b buildsys: Move curese cflags/libs to per object
328ea5daad buildsys: Move audio libs to per object
51fbfdaf09 buildsys: Move vnc cflags/libs to per object
d6fe0ab043 buildsys: Move sdl cflags/libs to per object
7f78d815a9 buildsys: Move gtk/vte cflags/libs to per object
38645de794 buildsys: Move vde libs to per object
cfc170bc6a vl: Don't include vde header
6520c49a4d docker: Drop 'set -e' from run script
7ad62056c9 docker: Add test-block
58bd56ffd4 docker: Add nettle-devel to fedora image
98539a87de docker: Use unconfined security profile
6c98469e16 docker: Add test_fail and prep_fail
d83f31733c docker: Fix return code of build_qemu()
53a57e1a22 docker: Use archive-source.py
8bc7225c0b tests: Add README for vm tests
db8556b216 MAINTAINERS: Add tests/vm entry
1d10e7bac0 Makefile: Add rules to run vm tests
e0f2ba5c2f tests: Add OpenBSD image
723d783df4 tests: Add NetBSD image
6cffff6f55 tests: Add FreeBSD image
f4c957ccf8 tests: Add ubuntu.i386 image
dd10e527b1 tests: Add vm test lib
50f27fbdfe scripts: Add archive-source.sh
3bbfd00e62 qemu.py: Add "wait()" method
d79f8a4d7e gitignore: Ignore vm test images
91508295e3 tests/docker: Clean up paths
8dddf31753 docker: Enable features explicitly in test-full
531d01d79b docker: Update ubuntu image
e912cd9008 docker: reduce noise when building travis.docker
0a732bcb3e docker: don't install device-tree-compiler build-deps in travis.docker
ccf3ba74d9 docker: docker.py make --no-cache skip checksum test
19d2fb0a9b docker: ensure NOUSER for travis images
=== OUTPUT BEGIN ===
Checking PATCH 1/38: docker: ensure NOUSER for travis images...
Checking PATCH 2/38: docker: docker.py make --no-cache skip checksum test...
Checking PATCH 3/38: docker: don't install device-tree-compiler build-deps in travis.docker...
Checking PATCH 4/38: docker: reduce noise when building travis.docker...
Checking PATCH 5/38: docker: Update ubuntu image...
Checking PATCH 6/38: docker: Enable features explicitly in test-full...
Checking PATCH 7/38: tests/docker: Clean up paths...
Checking PATCH 8/38: gitignore: Ignore vm test images...
Checking PATCH 9/38: qemu.py: Add "wait()" method...
Checking PATCH 10/38: scripts: Add archive-source.sh...
Checking PATCH 11/38: tests: Add vm test lib...
ERROR: line over 90 characters
#86: FILE: tests/vm/basevm.py:60:
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCikC46WYtXotUd0UGPz9547Aj0KqC4gk+nt4BBJm86IHgCD9FygSGX9EFutXlhz9KZIPg9Okk7+IzXRHCWI2MNvhrcjyrezKREm71z08j9iwfxY3340fY2Mo+0khwpO7bzsgzkljHIHqcOg7MgttPInVMNH/EfqpgR8EDKJuWCB2Ny+EBFN/3dAiff0X/EvKle9PUrY70EkSycnyURS8HZReEqj8lN9J5kXzA8F6jBo/0Q42Ttv6e4k5YcaDrwmLrBWLra2PCXZLNyHqXEiFkGmdXtA1Eox9gc/p4jIXim6xrPNmpN6WyrrEjaCF5xYvNv8wXkD6uSWwbHYU24lIAn qemu-vm-key
WARNING: line over 80 characters
#100: FILE: tests/vm/basevm.py:74:
+ self._tmpdir = tempfile.mkdtemp(prefix="vm-test-", suffix=".tmp", dir=".")
WARNING: line over 80 characters
#191: FILE: tests/vm/basevm.py:165:
+ logging.debug("Creating archive %s for src_dir dir: %s", tarfile, src_dir)
WARNING: line over 80 characters
#196: FILE: tests/vm/basevm.py:170:
+ "file=%s,if=none,id=%s,cache=writeback,format=raw" % \
WARNING: line over 80 characters
#199: FILE: tests/vm/basevm.py:173:
+ "virtio-blk,drive=%s,serial=%s,bootindex=1" % (name, name)]
ERROR: line over 90 characters
#246: FILE: tests/vm/basevm.py:220:
+ VM test utility. Exit codes: 0 = success, 1 = command line error, 2 = environment initialization failed, 3 = test command failed""")
WARNING: line over 80 characters
#253: FILE: tests/vm/basevm.py:227:
+ parser.add_option("--jobs", type=int, default=multiprocessing.cpu_count() / 2,
total: 2 errors, 5 warnings, 276 lines checked
Your patch has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 12/38: tests: Add ubuntu.i386 image...
Checking PATCH 13/38: tests: Add FreeBSD image...
Checking PATCH 14/38: tests: Add NetBSD image...
Checking PATCH 15/38: tests: Add OpenBSD image...
Checking PATCH 16/38: Makefile: Add rules to run vm tests...
Checking PATCH 17/38: MAINTAINERS: Add tests/vm entry...
Checking PATCH 18/38: tests: Add README for vm tests...
Checking PATCH 19/38: docker: Use archive-source.py...
Checking PATCH 20/38: docker: Fix return code of build_qemu()...
Checking PATCH 21/38: docker: Add test_fail and prep_fail...
Checking PATCH 22/38: docker: Use unconfined security profile...
Checking PATCH 23/38: docker: Add nettle-devel to fedora image...
Checking PATCH 24/38: docker: Add test-block...
Checking PATCH 25/38: docker: Drop 'set -e' from run script...
Checking PATCH 26/38: vl: Don't include vde header...
Checking PATCH 27/38: buildsys: Move vde libs to per object...
Checking PATCH 28/38: buildsys: Move gtk/vte cflags/libs to per object...
Checking PATCH 29/38: buildsys: Move sdl cflags/libs to per object...
Checking PATCH 30/38: buildsys: Move vnc cflags/libs to per object...
Checking PATCH 31/38: buildsys: Move audio libs to per object...
Checking PATCH 32/38: buildsys: Move curese cflags/libs to per object...
Checking PATCH 33/38: buildsys: Move opengl cflags to per object...
Checking PATCH 34/38: buildsys: Move libcacard cflags/libs to per object...
Checking PATCH 35/38: buildsys: Move libusb cflags/libs to per object...
Checking PATCH 36/38: buildsys: Move usb redir cflags/libs to per object...
Checking PATCH 37/38: buildsys: Move brlapi libs to per object...
Checking PATCH 38/38: buildsys: Move rdma libs to per object...
=== OUTPUT END ===
Test command exited with code: 1
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [Qemu-devel] [PULL 00/38] Test and build system patches
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
` (38 preceding siblings ...)
2017-09-08 10:31 ` [Qemu-devel] [PULL 00/38] Test and build system patches no-reply
@ 2017-09-08 13:44 ` Peter Maydell
2017-09-09 0:07 ` Fam Zheng
39 siblings, 1 reply; 42+ messages in thread
From: Peter Maydell @ 2017-09-08 13:44 UTC (permalink / raw)
To: Fam Zheng; +Cc: QEMU Developers
On 8 September 2017 at 10:54, Fam Zheng <famz@redhat.com> wrote:
> Hi Peter,
>
> The following changes since commit cda4a338c4243fa3bff4498b935340ac7121cc76:
>
> tcg/tci: Add TCG_TARGET_DEFAULT_MO (2017-09-07 18:57:34 +0100)
>
> are available in the git repository at:
>
> git://github.com/famz/qemu.git tags/staging-pull-request
>
> for you to fetch changes up to d0fba2165aa69ee5cb6a368ad611f3d54950fe4e:
>
> buildsys: Move rdma libs to per object (2017-09-08 17:47:11 +0800)
>
> ----------------------------------------------------------------
>
> This includes:
>
> - Alex's improvements of docker tests
> - VM test
> - test-block for docker tests
> - test-full improvements
> - cflags / libs cleanup
>
> ----------------------------------------------------------------
Hi. This failed to build on OpenBSD:
CC qmp.o
In file included from /home/qemu/ui/vnc.h:33:0,
from /home/qemu/qmp.c:26:
/home/qemu/include/ui/console.h:13:23: fatal error: epoxy/gl.h: No
such file or directory
# include <epoxy/gl.h>
^
Looks like the opengl_cflags are not being applied everywhere
they should be. (OpenBSD is a bit odd in that it doesn't put
epoxy/ in /usr/include, so you must get the -I options right
for the gl.h header to be found.)
thanks
-- PMM
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [Qemu-devel] [PULL 00/38] Test and build system patches
2017-09-08 13:44 ` Peter Maydell
@ 2017-09-09 0:07 ` Fam Zheng
0 siblings, 0 replies; 42+ messages in thread
From: Fam Zheng @ 2017-09-09 0:07 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers
On Fri, 09/08 14:44, Peter Maydell wrote:
> On 8 September 2017 at 10:54, Fam Zheng <famz@redhat.com> wrote:
> > Hi Peter,
> >
> > The following changes since commit cda4a338c4243fa3bff4498b935340ac7121cc76:
> >
> > tcg/tci: Add TCG_TARGET_DEFAULT_MO (2017-09-07 18:57:34 +0100)
> >
> > are available in the git repository at:
> >
> > git://github.com/famz/qemu.git tags/staging-pull-request
> >
> > for you to fetch changes up to d0fba2165aa69ee5cb6a368ad611f3d54950fe4e:
> >
> > buildsys: Move rdma libs to per object (2017-09-08 17:47:11 +0800)
> >
> > ----------------------------------------------------------------
> >
> > This includes:
> >
> > - Alex's improvements of docker tests
> > - VM test
> > - test-block for docker tests
> > - test-full improvements
> > - cflags / libs cleanup
> >
> > ----------------------------------------------------------------
>
> Hi. This failed to build on OpenBSD:
> CC qmp.o
> In file included from /home/qemu/ui/vnc.h:33:0,
> from /home/qemu/qmp.c:26:
> /home/qemu/include/ui/console.h:13:23: fatal error: epoxy/gl.h: No
> such file or directory
> # include <epoxy/gl.h>
> ^
>
> Looks like the opengl_cflags are not being applied everywhere
> they should be. (OpenBSD is a bit odd in that it doesn't put
> epoxy/ in /usr/include, so you must get the -I options right
> for the gl.h header to be found.)
Yeah, fixing that is not trivial, I'll drop that patch and rework it. With that,
OpenBSD compiles fine for me (my fault a selftest wasn't done with this series).
Fam
^ permalink raw reply [flat|nested] 42+ messages in thread
end of thread, other threads:[~2017-09-09 0:07 UTC | newest]
Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-08 9:54 [Qemu-devel] [PULL 00/38] Test and build system patches Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 01/38] docker: ensure NOUSER for travis images Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 02/38] docker: docker.py make --no-cache skip checksum test Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 03/38] docker: don't install device-tree-compiler build-deps in travis.docker Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 04/38] docker: reduce noise when building travis.docker Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 05/38] docker: Update ubuntu image Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 06/38] docker: Enable features explicitly in test-full Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 07/38] tests/docker: Clean up paths Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 08/38] gitignore: Ignore vm test images Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 09/38] qemu.py: Add "wait()" method Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 10/38] scripts: Add archive-source.sh Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 11/38] tests: Add vm test lib Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 12/38] tests: Add ubuntu.i386 image Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 13/38] tests: Add FreeBSD image Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 14/38] tests: Add NetBSD image Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 15/38] tests: Add OpenBSD image Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 16/38] Makefile: Add rules to run vm tests Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 17/38] MAINTAINERS: Add tests/vm entry Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 18/38] tests: Add README for vm tests Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 19/38] docker: Use archive-source.py Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 20/38] docker: Fix return code of build_qemu() Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 21/38] docker: Add test_fail and prep_fail Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 22/38] docker: Use unconfined security profile Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 23/38] docker: Add nettle-devel to fedora image Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 24/38] docker: Add test-block Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 25/38] docker: Drop 'set -e' from run script Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 26/38] vl: Don't include vde header Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 27/38] buildsys: Move vde libs to per object Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 28/38] buildsys: Move gtk/vte cflags/libs " Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 29/38] buildsys: Move sdl " Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 30/38] buildsys: Move vnc " Fam Zheng
2017-09-08 9:54 ` [Qemu-devel] [PULL 31/38] buildsys: Move audio libs " Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 32/38] buildsys: Move curese cflags/libs " Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 33/38] buildsys: Move opengl cflags " Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 34/38] buildsys: Move libcacard cflags/libs " Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 35/38] buildsys: Move libusb " Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 36/38] buildsys: Move usb redir " Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 37/38] buildsys: Move brlapi libs " Fam Zheng
2017-09-08 9:55 ` [Qemu-devel] [PULL 38/38] buildsys: Move rdma " Fam Zheng
2017-09-08 10:31 ` [Qemu-devel] [PULL 00/38] Test and build system patches no-reply
2017-09-08 13:44 ` Peter Maydell
2017-09-09 0:07 ` Fam Zheng
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).