All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH  v1 0/6] testing/next (without-features, gitlab, python)
@ 2020-12-09 17:00 Alex Bennée
  2020-12-09 17:00 ` [PATCH v1 1/6] configure: include moxie-softmmu in deprecated_targets_list Alex Bennée
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
	f4bug, cota, stefanha, marcandre.lureau, pbonzini, aurelien

Hi,

With another release away time to start the ball rolling with testing
patches again. Not much in the current queue but few little configure
tweaks and a working version of --without-default-features. Currently
combined with --without-default-devices it's not super useful but on
it's own it cuts a fair amount of weight from the build.

Alex Bennée (6):
  configure: include moxie-softmmu in deprecated_targets_list
  gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build
  configure: add --without-default-features
  python: add __repr__ to ConsoleSocket to aid debugging
  gitlab: move --without-default-devices build from Travis
  gitlab: add --without-default-features build

 configure                     | 161 +++++++++++++++++++---------------
 .gitlab-ci.d/crossbuilds.yml  |   4 +-
 .gitlab-ci.yml                |  16 +++-
 .travis.yml                   |   8 --
 python/qemu/console_socket.py |   7 ++
 5 files changed, 113 insertions(+), 83 deletions(-)

-- 
2.20.1



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v1 1/6] configure: include moxie-softmmu in deprecated_targets_list
  2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
@ 2020-12-09 17:00 ` Alex Bennée
  2020-12-09 17:00 ` [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build Alex Bennée
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, stefanb, Alex Bennée,
	richard.henderson, f4bug, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

We still build it but there is no point including it in the normal
builds as it is ushered out of the door.

Fixes: 4258c8e221 ("docs/system/deprecated: Mark the 'moxie' CPU as deprecated")
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 configure      | 2 +-
 .gitlab-ci.yml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 18c26e0389..8f2095a2db 100755
--- a/configure
+++ b/configure
@@ -1610,7 +1610,7 @@ if [ "$ARCH" = "unknown" ]; then
 fi
 
 default_target_list=""
-deprecated_targets_list=ppc64abi32-linux-user,tilegx-linux-user,lm32-softmmu,unicore32-softmmu
+deprecated_targets_list=moxie-softmmu,ppc64abi32-linux-user,tilegx-linux-user,lm32-softmmu,unicore32-softmmu
 deprecated_features=""
 mak_wilds=""
 
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d0173e82b1..21b01c0547 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -291,7 +291,7 @@ build-deprecated:
     IMAGE: debian-all-test-cross
     CONFIGURE_ARGS: --disable-docs --disable-tools
     MAKE_CHECK_ARGS: build-tcg
-    TARGETS: ppc64abi32-linux-user tilegx-linux-user lm32-softmmu
+    TARGETS: moxie-softmmu ppc64abi32-linux-user tilegx-linux-user lm32-softmmu
       unicore32-softmmu
   artifacts:
     expire_in: 2 days
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build
  2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
  2020-12-09 17:00 ` [PATCH v1 1/6] configure: include moxie-softmmu in deprecated_targets_list Alex Bennée
@ 2020-12-09 17:00 ` Alex Bennée
  2020-12-09 17:08   ` Thomas Huth
  2020-12-09 17:00 ` [PATCH v1 3/6] configure: add --without-default-features Alex Bennée
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, stefanb, Alex Bennée,
	richard.henderson, f4bug, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

Otherwise we miss coverage of KVM support in the cross build. To
balance it out add cris-softmmu and ppc-softmmu to the exclude list
which do get coverage elsewhere.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .gitlab-ci.d/crossbuilds.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 03ebfabb3f..308f4cb755 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -8,8 +8,8 @@
     - cd build
     - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
       ../configure --enable-werror $QEMU_CONFIGURE_OPTS --disable-user
-        --target-list-exclude="aarch64-softmmu i386-softmmu microblaze-softmmu
-          mips-softmmu mipsel-softmmu mips64-softmmu ppc64-softmmu sh4-softmmu
+        --target-list-exclude="cris-softmmu i386-softmmu microblaze-softmmu
+          mips-softmmu mipsel-softmmu mips64-softmmu ppc-softmmu sh4-softmmu
           xtensa-softmmu"
     - make -j$(expr $(nproc) + 1) all check-build
 
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH  v1 3/6] configure: add --without-default-features
  2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
  2020-12-09 17:00 ` [PATCH v1 1/6] configure: include moxie-softmmu in deprecated_targets_list Alex Bennée
  2020-12-09 17:00 ` [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build Alex Bennée
@ 2020-12-09 17:00 ` Alex Bennée
  2020-12-10  0:08   ` Paolo Bonzini
  2020-12-09 17:00 ` [PATCH v1 4/6] python: add __repr__ to ConsoleSocket to aid debugging Alex Bennée
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
	f4bug, cota, stefanha, marcandre.lureau, pbonzini, aurelien

By default QEMU enables a lot of features if it can probe and find the
support libraries. It also enables a bunch of features by default.
This patch adds the ability to build --without-default-features which
can be paired with a --without-default-devices for a barely functional
build.

The main use case for this is testing our build assumptions and for
minimising the amount of stuff you build if you just want to test a
particular feature on your relatively slow emulated test system.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 configure | 159 ++++++++++++++++++++++++++++++------------------------
 1 file changed, 88 insertions(+), 71 deletions(-)

diff --git a/configure b/configure
index 8f2095a2db..a08e6c96e0 100755
--- a/configure
+++ b/configure
@@ -291,10 +291,24 @@ unset target_list_exclude
 #
 # Always add --enable-foo and --disable-foo command line args.
 # Distributions want to ensure that several features are compiled in, and it
-# is impossible without a --enable-foo that exits if a feature is not found.
+# is impossible without a --enable-foo that exits if a feature is not
+# found.
 
-brlapi=""
-curl=""
+default_feature=""
+default_yes_feature="yes"
+# parse CC options second
+for opt do
+  optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
+  case "$opt" in
+      --without-default-features)
+          default_feature="no"
+          default_yes_feature="no"
+  ;;
+  esac
+done
+
+brlapi="$default_feature"
+curl="$default_feature"
 iconv="auto"
 curses="auto"
 docs="auto"
@@ -303,52 +317,52 @@ netmap="no"
 sdl="auto"
 sdl_image="auto"
 virtiofsd="auto"
-virtfs=""
+virtfs="$default_feature"
 libudev="auto"
 mpath="auto"
 vnc="enabled"
 sparse="auto"
-vde=""
+vde="$default_feature"
 vnc_sasl="auto"
 vnc_jpeg="auto"
 vnc_png="auto"
 xkbcommon="auto"
-xen=""
-xen_ctrl_version=""
+xen="$default_feature"
+xen_ctrl_version="$default_feature"
 xen_pci_passthrough="auto"
-linux_aio=""
-linux_io_uring=""
-cap_ng=""
-attr=""
-libattr=""
-xfs=""
+linux_aio="$default_feature"
+linux_io_uring="$default_feature"
+cap_ng="$default_feature"
+attr="$default_feature"
+libattr="$default_feature"
+xfs="$default_feature"
 tcg="enabled"
-membarrier=""
-vhost_net=""
-vhost_crypto=""
-vhost_scsi=""
-vhost_vsock=""
+membarrier="$default_feature"
+vhost_net="$default_feature"
+vhost_crypto="$default_feature"
+vhost_scsi="$default_feature"
+vhost_vsock="$default_feature"
 vhost_user="no"
 vhost_user_blk_server="auto"
-vhost_user_fs=""
+vhost_user_fs="$default_feature"
 kvm="auto"
 hax="auto"
 hvf="auto"
 whpx="auto"
-rdma=""
-pvrdma=""
+rdma="$default_feature"
+pvrdma="$default_feature"
 gprof="no"
 debug_tcg="no"
 debug="no"
 sanitizers="no"
 tsan="no"
-fortify_source=""
+fortify_source="$default_feature"
 strip_opt="yes"
 tcg_interpreter="no"
 bigendian="no"
 mingw32="no"
 gcov="no"
-EXESUF=""
+EXESUF="$default_feature"
 HOST_DSOSUF=".so"
 modules="no"
 module_upgrades="no"
@@ -370,81 +384,81 @@ pie=""
 qom_cast_debug="yes"
 trace_backends="log"
 trace_file="trace"
-spice=""
-rbd=""
-smartcard=""
+spice="$default_feature"
+rbd="$default_feature"
+smartcard="$default_feature"
 u2f="auto"
-libusb=""
-usb_redir=""
-opengl=""
+libusb="$default_feature"
+usb_redir="$default_feature"
+opengl="$default_feature"
 opengl_dmabuf="no"
 cpuid_h="no"
-avx2_opt=""
+avx2_opt="$default_feature"
 capstone="auto"
-lzo=""
-snappy=""
-bzip2=""
-lzfse=""
-zstd=""
-guest_agent=""
+lzo="$default_feature"
+snappy="$default_feature"
+bzip2="$default_feature"
+lzfse="$default_feature"
+zstd="$default_feature"
+guest_agent="$default_feature"
 guest_agent_with_vss="no"
 guest_agent_ntddscsi="no"
-guest_agent_msi=""
-vss_win32_sdk=""
+guest_agent_msi="$default_feature"
+vss_win32_sdk="$default_feature"
 win_sdk="no"
-want_tools=""
-libiscsi=""
-libnfs=""
+want_tools="$default_feature"
+libiscsi="$default_feature"
+libnfs="$default_feature"
 coroutine=""
-coroutine_pool=""
+coroutine_pool="$default_feature"
 debug_stack_usage="no"
 crypto_afalg="no"
-seccomp=""
-glusterfs=""
+seccomp="$default_feature"
+glusterfs="$default_feature"
 glusterfs_xlator_opt="no"
 glusterfs_discard="no"
 glusterfs_fallocate="no"
 glusterfs_zerofill="no"
 glusterfs_ftruncate_has_stat="no"
 glusterfs_iocb_has_stat="no"
-gtk=""
+gtk="$default_feature"
 gtk_gl="no"
 tls_priority="NORMAL"
-gnutls=""
-nettle=""
+gnutls="$default_feature"
+nettle="$default_feature"
 nettle_xts="no"
-gcrypt=""
+gcrypt="$default_feature"
 gcrypt_hmac="no"
 gcrypt_xts="no"
 qemu_private_xts="yes"
-auth_pam=""
-vte=""
-virglrenderer=""
-tpm=""
-libssh=""
-live_block_migration="yes"
-numa=""
+auth_pam="$default_feature"
+vte="$default_feature"
+virglrenderer="$default_feature"
+tpm="$default_feature"
+libssh="$default_feature"
+live_block_migration="$default_yes_feature"
+numa="$default_feature"
 tcmalloc="no"
 jemalloc="no"
-replication="yes"
-bochs="yes"
-cloop="yes"
-dmg="yes"
-qcow1="yes"
-vdi="yes"
-vvfat="yes"
-qed="yes"
-parallels="yes"
+replication="$default_yes_feature"
+bochs="$default_yes_feature"
+cloop="$default_yes_feature"
+dmg="$default_yes_feature"
+qcow1="$default_yes_feature"
+vdi="$default_yes_feature"
+vvfat="$default_yes_feature"
+qed="$default_yes_feature"
+parallels="$default_yes_feature"
 sheepdog="no"
-libxml2=""
+libxml2="$default_feature"
 debug_mutex="no"
-libpmem=""
+libpmem="$default_feature"
 default_devices="yes"
 plugins="no"
 fuzzing="no"
 rng_none="no"
-secret_keyring=""
-libdaxctl=""
+secret_keyring="$default_feature"
+libdaxctl="$default_feature"
 meson=""
 ninja=""
 skip_meson=no
@@ -453,7 +467,7 @@ gettext=""
 bogus_os="no"
 malloc_trim="auto"
 
-# parse CC options first
+# parse CC options second
 for opt do
   optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
   case "$opt" in
@@ -796,7 +810,7 @@ Linux)
   audio_possible_drivers="oss alsa sdl pa"
   linux="yes"
   linux_user="yes"
-  vhost_user="yes"
+  vhost_user="$default_yes_feature"
 ;;
 esac
 
@@ -940,6 +954,8 @@ for opt do
   ;;
   --without-default-devices) default_devices="no"
   ;;
+  --without-default-features) # processed above
+  ;;
   --enable-gprof) gprof="yes"
   ;;
   --enable-gcov) gcov="yes"
@@ -1737,7 +1753,8 @@ Advanced options (experts only):
   --gdb=GDB-path           gdb to use for gdbstub tests [$gdb_bin]
 
 Optional features, enabled with --enable-FEATURE and
-disabled with --disable-FEATURE, default is enabled if available:
+disabled with --disable-FEATURE, default is enabled if available
+(unless built with --without-default-features):
 
   system          all system emulation targets
   user            supported user emulation targets
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v1 4/6] python: add __repr__ to ConsoleSocket to aid debugging
  2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
                   ` (2 preceding siblings ...)
  2020-12-09 17:00 ` [PATCH v1 3/6] configure: add --without-default-features Alex Bennée
@ 2020-12-09 17:00 ` Alex Bennée
  2020-12-09 17:00 ` [PATCH v1 5/6] gitlab: move --without-default-devices build from Travis Alex Bennée
  2020-12-09 17:00 ` [PATCH v1 6/6] gitlab: add --without-default-features build Alex Bennée
  5 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Willian Rampazzo, berrange, Eduardo Habkost, stefanb,
	Alex Bennée, Cleber Rosa, richard.henderson, f4bug,
	John Snow, cota, stefanha, marcandre.lureau, pbonzini, aurelien

While attempting to debug some console weirdness I thought it would be
worth making it easier to see what it had inside.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>

---
v2
  - make more pythonic
---
 python/qemu/console_socket.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/python/qemu/console_socket.py b/python/qemu/console_socket.py
index f060d79e06..ac21130e44 100644
--- a/python/qemu/console_socket.py
+++ b/python/qemu/console_socket.py
@@ -45,6 +45,13 @@ class ConsoleSocket(socket.socket):
         if drain:
             self._drain_thread = self._thread_start()
 
+    def __repr__(self) -> str:
+        s = super().__repr__()
+        s = s.rstrip(">")
+        s = "%s,  logfile=%s, drain_thread=%s>" % (s, self._logfile,
+                                                   self._drain_thread)
+        return s
+
     def _drain_fn(self) -> None:
         """Drains the socket and runs while the socket is open."""
         while self._open:
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v1 5/6] gitlab: move --without-default-devices build from Travis
  2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
                   ` (3 preceding siblings ...)
  2020-12-09 17:00 ` [PATCH v1 4/6] python: add __repr__ to ConsoleSocket to aid debugging Alex Bennée
@ 2020-12-09 17:00 ` Alex Bennée
  2020-12-09 17:10   ` Thomas Huth
  2020-12-09 17:00 ` [PATCH v1 6/6] gitlab: add --without-default-features build Alex Bennée
  5 siblings, 1 reply; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, stefanb, Alex Bennée,
	richard.henderson, f4bug, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .gitlab-ci.yml | 7 +++++++
 .travis.yml    | 8 --------
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 21b01c0547..878d114d40 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -434,6 +434,13 @@ build-trace-ust-system:
     IMAGE: ubuntu2004
     CONFIGURE_ARGS: --enable-trace-backends=ust --target-list=x86_64-softmmu
 
+# Check our reduced build configurations
+build-without-default-devices:
+  <<: *native_build_job_definition
+  variables:
+    IMAGE: debian-amd64
+    CONFIGURE_ARGS: --without-default-devices --disable-user
+
 check-patch:
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/centos8:latest
diff --git a/.travis.yml b/.travis.yml
index 1f80bdb624..e89996c111 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -224,14 +224,6 @@ jobs:
         - ${SRC_DIR}/scripts/travis/coverage-summary.sh
 
 
-    # We manually include builds which we disable "make check" for
-    - name: "GCC without-default-devices (softmmu)"
-      env:
-        - CONFIG="--without-default-devices --disable-user"
-        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
-        - TEST_CMD=""
-
-
     # Using newer GCC with sanitizers
     - name: "GCC9 with sanitizers (softmmu)"
       dist: bionic
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH  v1 6/6] gitlab: add --without-default-features build
  2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
                   ` (4 preceding siblings ...)
  2020-12-09 17:00 ` [PATCH v1 5/6] gitlab: move --without-default-devices build from Travis Alex Bennée
@ 2020-12-09 17:00 ` Alex Bennée
  2020-12-09 17:13   ` Thomas Huth
  5 siblings, 1 reply; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 17:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, stefanb, Alex Bennée,
	richard.henderson, f4bug, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .gitlab-ci.yml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 878d114d40..f87584ca8f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -441,6 +441,13 @@ build-without-default-devices:
     IMAGE: debian-amd64
     CONFIGURE_ARGS: --without-default-devices --disable-user
 
+build-without-default-features:
+  <<: *native_build_job_definition
+  variables:
+    IMAGE: centos8
+    CONFIGURE_ARGS: --without-default-devices --without-default-features --disable-user
+    MAKE_CHECK_ARGS: check-unit
+
 check-patch:
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/centos8:latest
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build
  2020-12-09 17:00 ` [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build Alex Bennée
@ 2020-12-09 17:08   ` Thomas Huth
  2020-12-09 18:19     ` Richard Henderson
  0 siblings, 1 reply; 14+ messages in thread
From: Thomas Huth @ 2020-12-09 17:08 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
	richard.henderson, f4bug, Wainer dos Santos Moschetta, cota,
	stefanha, marcandre.lureau, pbonzini, aurelien

On 09/12/2020 18.00, Alex Bennée wrote:
> Otherwise we miss coverage of KVM support in the cross build. To
> balance it out add cris-softmmu and ppc-softmmu to the exclude list
> which do get coverage elsewhere.

Could you maybe add arm-softmmu to the exclude list? It's a subset of
aarch64-softmmu, so we should not lose much if we exclude it here.

 Thomas



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v1 5/6] gitlab: move --without-default-devices build from Travis
  2020-12-09 17:00 ` [PATCH v1 5/6] gitlab: move --without-default-devices build from Travis Alex Bennée
@ 2020-12-09 17:10   ` Thomas Huth
  0 siblings, 0 replies; 14+ messages in thread
From: Thomas Huth @ 2020-12-09 17:10 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
	richard.henderson, f4bug, Wainer dos Santos Moschetta, cota,
	stefanha, marcandre.lureau, pbonzini, aurelien

On 09/12/2020 18.00, Alex Bennée wrote:
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>  .gitlab-ci.yml | 7 +++++++
>  .travis.yml    | 8 --------
>  2 files changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 21b01c0547..878d114d40 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -434,6 +434,13 @@ build-trace-ust-system:
>      IMAGE: ubuntu2004
>      CONFIGURE_ARGS: --enable-trace-backends=ust --target-list=x86_64-softmmu
>  
> +# Check our reduced build configurations
> +build-without-default-devices:
> +  <<: *native_build_job_definition
> +  variables:
> +    IMAGE: debian-amd64
> +    CONFIGURE_ARGS: --without-default-devices --disable-user

We're interested in --without-default-devices in downstream RHEL ... would
it be ok for you to test this with Fedora or CentOS instead?

 Thomas



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v1 6/6] gitlab: add --without-default-features build
  2020-12-09 17:00 ` [PATCH v1 6/6] gitlab: add --without-default-features build Alex Bennée
@ 2020-12-09 17:13   ` Thomas Huth
  2020-12-09 18:32     ` Alex Bennée
  0 siblings, 1 reply; 14+ messages in thread
From: Thomas Huth @ 2020-12-09 17:13 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
	richard.henderson, f4bug, Wainer dos Santos Moschetta, cota,
	stefanha, marcandre.lureau, pbonzini, aurelien

On 09/12/2020 18.00, Alex Bennée wrote:
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>  .gitlab-ci.yml | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 878d114d40..f87584ca8f 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -441,6 +441,13 @@ build-without-default-devices:
>      IMAGE: debian-amd64
>      CONFIGURE_ARGS: --without-default-devices --disable-user
>  
> +build-without-default-features:
> +  <<: *native_build_job_definition
> +  variables:
> +    IMAGE: centos8
> +    CONFIGURE_ARGS: --without-default-devices --without-default-features --disable-user
> +    MAKE_CHECK_ARGS: check-unit

I wonder whether we'd rather want to check without
"--without-default-devices" here to see whether all code compiles fine with
"--without-default-features" ... ?

 Thomas



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build
  2020-12-09 17:08   ` Thomas Huth
@ 2020-12-09 18:19     ` Richard Henderson
  0 siblings, 0 replies; 14+ messages in thread
From: Richard Henderson @ 2020-12-09 18:19 UTC (permalink / raw)
  To: Thomas Huth, Alex Bennée, qemu-devel
  Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
	f4bug, Wainer dos Santos Moschetta, cota, stefanha,
	marcandre.lureau, pbonzini, aurelien

On 12/9/20 11:08 AM, Thomas Huth wrote:
> On 09/12/2020 18.00, Alex Bennée wrote:
>> Otherwise we miss coverage of KVM support in the cross build. To
>> balance it out add cris-softmmu and ppc-softmmu to the exclude list
>> which do get coverage elsewhere.
> 
> Could you maybe add arm-softmmu to the exclude list? It's a subset of
> aarch64-softmmu, so we should not lose much if we exclude it here.

Indeed, arm32 kvm has already been dropped, so arm-softmmu is a strict subset
of aarch64-softmmu.


r~


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v1 6/6] gitlab: add --without-default-features build
  2020-12-09 17:13   ` Thomas Huth
@ 2020-12-09 18:32     ` Alex Bennée
  2020-12-10  5:51       ` Thomas Huth
  0 siblings, 1 reply; 14+ messages in thread
From: Alex Bennée @ 2020-12-09 18:32 UTC (permalink / raw)
  To: Thomas Huth
  Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
	richard.henderson, qemu-devel, Wainer dos Santos Moschetta,
	f4bug, cota, stefanha, marcandre.lureau, pbonzini, aurelien


Thomas Huth <thuth@redhat.com> writes:

> On 09/12/2020 18.00, Alex Bennée wrote:
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>>  .gitlab-ci.yml | 7 +++++++
>>  1 file changed, 7 insertions(+)
>> 
>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>> index 878d114d40..f87584ca8f 100644
>> --- a/.gitlab-ci.yml
>> +++ b/.gitlab-ci.yml
>> @@ -441,6 +441,13 @@ build-without-default-devices:
>>      IMAGE: debian-amd64
>>      CONFIGURE_ARGS: --without-default-devices --disable-user
>>  
>> +build-without-default-features:
>> +  <<: *native_build_job_definition
>> +  variables:
>> +    IMAGE: centos8
>> +    CONFIGURE_ARGS: --without-default-devices --without-default-features --disable-user
>> +    MAKE_CHECK_ARGS: check-unit
>
> I wonder whether we'd rather want to check without
> "--without-default-devices" here to see whether all code compiles fine with
> "--without-default-features" ... ?

Yeah at the moment the full-fat without everything doesn't achieve much.
So how about I swap the IMAGE around with the previous build and drop
the --without-default-devices?

>
>  Thomas


-- 
Alex Bennée


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v1 3/6] configure: add --without-default-features
  2020-12-09 17:00 ` [PATCH v1 3/6] configure: add --without-default-features Alex Bennée
@ 2020-12-10  0:08   ` Paolo Bonzini
  0 siblings, 0 replies; 14+ messages in thread
From: Paolo Bonzini @ 2020-12-10  0:08 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: fam, berrange, stefanb, richard.henderson, f4bug, cota, stefanha,
	marcandre.lureau, aurelien

On 09/12/20 18:00, Alex Bennée wrote:
> By default QEMU enables a lot of features if it can probe and find the
> support libraries. It also enables a bunch of features by default.
> This patch adds the ability to build --without-default-features which
> can be paired with a --without-default-devices for a barely functional
> build.
> 
> The main use case for this is testing our build assumptions and for
> minimising the amount of stuff you build if you just want to test a
> particular feature on your relatively slow emulated test system.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   configure | 159 ++++++++++++++++++++++++++++++------------------------
>   1 file changed, 88 insertions(+), 71 deletions(-)
> 
> diff --git a/configure b/configure
> index 8f2095a2db..a08e6c96e0 100755
> --- a/configure
> +++ b/configure
> @@ -291,10 +291,24 @@ unset target_list_exclude
>   #
>   # Always add --enable-foo and --disable-foo command line args.
>   # Distributions want to ensure that several features are compiled in, and it
> -# is impossible without a --enable-foo that exits if a feature is not found.
> +# is impossible without a --enable-foo that exits if a feature is not
> +# found.
>   
> -brlapi=""
> -curl=""
> +default_feature=""
> +default_yes_feature="yes"
> +# parse CC options second
> +for opt do
> +  optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
> +  case "$opt" in
> +      --without-default-features)
> +          default_feature="no"
> +          default_yes_feature="no"

default_yes_features can be replaced with ${default_feature:-yes} if you 
wish.

> +  ;;
> +  esac
> +done

Since Meson has equivalent functionality to --without-default-features, 
you also want to add -Dauto_features=disabled to the meson command line.

Also, the gettext feature is true/false/empty rather than yes/no, so 
it's not being adjusted.  I suggest you change it (in meson_options.txt) 
from "boolean" to "feature" (auto/enabled/disabled) and move the 
detection code from configure to po/meson.build.  It should be as simple as

-if get_option('gettext')
+if find_program('xgettext', required: get_option('gettext')).found()

and then it will also get the functionality from -Dauto_features.

Paolo

> @@ -453,7 +467,7 @@ gettext=""
>   bogus_os="no"
>   malloc_trim="auto"
>   
> -# parse CC options first
> +# parse CC options second
>   for opt do
>     optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
>     case "$opt" in
> @@ -796,7 +810,7 @@ Linux)
>     audio_possible_drivers="oss alsa sdl pa"
>     linux="yes"
>     linux_user="yes"
> -  vhost_user="yes"
> +  vhost_user="$default_yes_feature"
>   ;;
>   esac
>   
> @@ -940,6 +954,8 @@ for opt do
>     ;;
>     --without-default-devices) default_devices="no"
>     ;;
> +  --without-default-features) # processed above
> +  ;;
>     --enable-gprof) gprof="yes"
>     ;;
>     --enable-gcov) gcov="yes"
> @@ -1737,7 +1753,8 @@ Advanced options (experts only):
>     --gdb=GDB-path           gdb to use for gdbstub tests [$gdb_bin]
>   
>   Optional features, enabled with --enable-FEATURE and
> -disabled with --disable-FEATURE, default is enabled if available:
> +disabled with --disable-FEATURE, default is enabled if available
> +(unless built with --without-default-features):
>   
>     system          all system emulation targets
>     user            supported user emulation targets
> 



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v1 6/6] gitlab: add --without-default-features build
  2020-12-09 18:32     ` Alex Bennée
@ 2020-12-10  5:51       ` Thomas Huth
  0 siblings, 0 replies; 14+ messages in thread
From: Thomas Huth @ 2020-12-10  5:51 UTC (permalink / raw)
  To: Alex Bennée
  Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
	richard.henderson, qemu-devel, Wainer dos Santos Moschetta,
	f4bug, cota, stefanha, marcandre.lureau, pbonzini, aurelien

On 09/12/2020 19.32, Alex Bennée wrote:
> 
> Thomas Huth <thuth@redhat.com> writes:
> 
>> On 09/12/2020 18.00, Alex Bennée wrote:
>>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>>> ---
>>>  .gitlab-ci.yml | 7 +++++++
>>>  1 file changed, 7 insertions(+)
>>>
>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>> index 878d114d40..f87584ca8f 100644
>>> --- a/.gitlab-ci.yml
>>> +++ b/.gitlab-ci.yml
>>> @@ -441,6 +441,13 @@ build-without-default-devices:
>>>      IMAGE: debian-amd64
>>>      CONFIGURE_ARGS: --without-default-devices --disable-user
>>>  
>>> +build-without-default-features:
>>> +  <<: *native_build_job_definition
>>> +  variables:
>>> +    IMAGE: centos8
>>> +    CONFIGURE_ARGS: --without-default-devices --without-default-features --disable-user
>>> +    MAKE_CHECK_ARGS: check-unit
>>
>> I wonder whether we'd rather want to check without
>> "--without-default-devices" here to see whether all code compiles fine with
>> "--without-default-features" ... ?
> 
> Yeah at the moment the full-fat without everything doesn't achieve much.
> So how about I swap the IMAGE around with the previous build and drop
> the --without-default-devices?

Sounds like a plan, thanks!

 Thomas



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2020-12-10  5:53 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-09 17:00 [PATCH v1 0/6] testing/next (without-features, gitlab, python) Alex Bennée
2020-12-09 17:00 ` [PATCH v1 1/6] configure: include moxie-softmmu in deprecated_targets_list Alex Bennée
2020-12-09 17:00 ` [PATCH v1 2/6] gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build Alex Bennée
2020-12-09 17:08   ` Thomas Huth
2020-12-09 18:19     ` Richard Henderson
2020-12-09 17:00 ` [PATCH v1 3/6] configure: add --without-default-features Alex Bennée
2020-12-10  0:08   ` Paolo Bonzini
2020-12-09 17:00 ` [PATCH v1 4/6] python: add __repr__ to ConsoleSocket to aid debugging Alex Bennée
2020-12-09 17:00 ` [PATCH v1 5/6] gitlab: move --without-default-devices build from Travis Alex Bennée
2020-12-09 17:10   ` Thomas Huth
2020-12-09 17:00 ` [PATCH v1 6/6] gitlab: add --without-default-features build Alex Bennée
2020-12-09 17:13   ` Thomas Huth
2020-12-09 18:32     ` Alex Bennée
2020-12-10  5:51       ` Thomas Huth

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.