* [PATCH 0/6] Update Travis from Xenial to Bionic and Focal
@ 2020-09-18 10:34 Thomas Huth
2020-09-18 10:34 ` [PATCH 1/6] meson: move libudev test Thomas Huth
` (8 more replies)
0 siblings, 9 replies; 17+ messages in thread
From: Thomas Huth @ 2020-09-18 10:34 UTC (permalink / raw)
To: Alex Bennée, Philippe Mathieu-Daudé, qemu-devel
Cc: Paolo Bonzini, Markus Armbruster
According to our support policy, we do not support Xenial anymore.
Time to switch the Travis jobs to Focal or Bionic instead now.
Paolo Bonzini (2):
meson: move libudev test
meson: move libmpathpersist test
Thomas Huth (4):
migration: Silence compiler warning in global_state_store_running()
travis.yml: Drop the default softmmu builds
travis.yml: Update Travis to use Bionic and Focal instead of Xenial
travis.yml: Drop the superfluous Python 3.6 build
.travis.yml | 46 ++++++--------------
configure | 91 ++--------------------------------------
meson.build | 85 +++++++++++++++++++++++++++++++++----
meson_options.txt | 2 +
migration/global_state.c | 4 +-
5 files changed, 97 insertions(+), 131 deletions(-)
--
2.18.2
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 1/6] meson: move libudev test
2020-09-18 10:34 [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Thomas Huth
@ 2020-09-18 10:34 ` Thomas Huth
2020-09-18 10:34 ` [PATCH 2/6] meson: move libmpathpersist test Thomas Huth
` (7 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2020-09-18 10:34 UTC (permalink / raw)
To: Alex Bennée, Philippe Mathieu-Daudé, qemu-devel
Cc: Paolo Bonzini, Markus Armbruster
From: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200916162621.100141-2-pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
configure | 14 --------------
meson.build | 7 ++++---
2 files changed, 4 insertions(+), 17 deletions(-)
diff --git a/configure b/configure
index 7564479008..d8bd6829b3 100755
--- a/configure
+++ b/configure
@@ -908,7 +908,6 @@ Linux)
linux_user="yes"
kvm="yes"
QEMU_INCLUDES="-isystem ${source_path}/linux-headers -Ilinux-headers $QEMU_INCLUDES"
- libudev="yes"
;;
esac
@@ -6283,15 +6282,6 @@ if test "$libnfs" != "no" ; then
fi
##########################################
-# Do we have libudev
-if test "$libudev" != "no" ; then
- if $pkg_config libudev && test "$static" != "yes"; then
- libudev="yes"
- libudev_libs=$($pkg_config --libs libudev)
- else
- libudev="no"
- fi
-fi
# Exclude --warn-common with TSan to suppress warnings from the TSan libraries.
if test "$solaris" = "no" && test "$tsan" = "no"; then
@@ -7460,10 +7450,6 @@ if test "$gcov" = "yes" ; then
echo "CONFIG_GCOV=y" >> $config_host_mak
fi
-if test "$libudev" != "no"; then
- echo "CONFIG_LIBUDEV=y" >> $config_host_mak
- echo "LIBUDEV_LIBS=$libudev_libs" >> $config_host_mak
-fi
if test "$fuzzing" != "no"; then
echo "CONFIG_FUZZ=y" >> $config_host_mak
fi
diff --git a/meson.build b/meson.build
index f4d1ab1096..4872498897 100644
--- a/meson.build
+++ b/meson.build
@@ -252,8 +252,8 @@ if 'CONFIG_CURL' in config_host
link_args: config_host['CURL_LIBS'].split())
endif
libudev = not_found
-if 'CONFIG_LIBUDEV' in config_host
- libudev = declare_dependency(link_args: config_host['LIBUDEV_LIBS'].split())
+if target_os == 'linux'
+ libudev = dependency('libudev', static: enable_static)
endif
brlapi = not_found
if 'CONFIG_BRLAPI' in config_host
@@ -435,6 +435,7 @@ has_gettid = cc.has_function('gettid')
# Create config-host.h
+config_host_data.set('CONFIG_LIBUDEV', libudev.found())
config_host_data.set('CONFIG_SDL', sdl.found())
config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found())
config_host_data.set('CONFIG_VNC', vnc.found())
@@ -1515,7 +1516,7 @@ summary_info += {'sheepdog support': config_host.has_key('CONFIG_SHEEPDOG')}
summary_info += {'capstone': config_host.has_key('CONFIG_CAPSTONE')}
summary_info += {'libpmem support': config_host.has_key('CONFIG_LIBPMEM')}
summary_info += {'libdaxctl support': config_host.has_key('CONFIG_LIBDAXCTL')}
-summary_info += {'libudev': config_host.has_key('CONFIG_LIBUDEV')}
+summary_info += {'libudev': libudev.found()}
summary_info += {'default devices': config_host['CONFIG_MINIKCONF_MODE'] == '--defconfig'}
summary_info += {'plugin support': config_host.has_key('CONFIG_PLUGIN')}
summary_info += {'fuzzing support': config_host.has_key('CONFIG_FUZZ')}
--
2.18.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 2/6] meson: move libmpathpersist test
2020-09-18 10:34 [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Thomas Huth
2020-09-18 10:34 ` [PATCH 1/6] meson: move libudev test Thomas Huth
@ 2020-09-18 10:34 ` Thomas Huth
2020-09-18 10:34 ` [PATCH 3/6] migration: Silence compiler warning in global_state_store_running() Thomas Huth
` (6 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2020-09-18 10:34 UTC (permalink / raw)
To: Alex Bennée, Philippe Mathieu-Daudé, qemu-devel
Cc: Paolo Bonzini, Markus Armbruster
From: Paolo Bonzini <pbonzini@redhat.com>
This is the first compiler/linker test that has been moved to Meson.
Add more section headings to keep things clearer.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
[thuth: Add check for mpathpersist.found() before showing mpathpersist_new_api]
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
configure | 77 +++-----------------------------------------
meson.build | 82 ++++++++++++++++++++++++++++++++++++++++++-----
meson_options.txt | 2 ++
3 files changed, 80 insertions(+), 81 deletions(-)
diff --git a/configure b/configure
index d8bd6829b3..df36ce6ab8 100755
--- a/configure
+++ b/configure
@@ -403,7 +403,7 @@ netmap="no"
sdl="auto"
sdl_image="auto"
virtfs=""
-mpath=""
+mpath="auto"
vnc="enabled"
sparse="no"
vde=""
@@ -1116,9 +1116,9 @@ for opt do
;;
--enable-virtfs) virtfs="yes"
;;
- --disable-mpath) mpath="no"
+ --disable-mpath) mpath="disabled"
;;
- --enable-mpath) mpath="yes"
+ --enable-mpath) mpath="enabled"
;;
--disable-vnc) vnc="disabled"
;;
@@ -3848,57 +3848,6 @@ if test "$modules" = yes; then
fi
fi
-##########################################
-# libmpathpersist probe
-
-if test "$mpath" != "no" ; then
- # probe for the new API
- cat > $TMPC <<EOF
-#include <libudev.h>
-#include <mpath_persist.h>
-unsigned mpath_mx_alloc_len = 1024;
-int logsink;
-static struct config *multipath_conf;
-extern struct udev *udev;
-extern struct config *get_multipath_config(void);
-extern void put_multipath_config(struct config *conf);
-struct udev *udev;
-struct config *get_multipath_config(void) { return multipath_conf; }
-void put_multipath_config(struct config *conf) { }
-
-int main(void) {
- udev = udev_new();
- multipath_conf = mpath_lib_init();
- return 0;
-}
-EOF
- if compile_prog "" "-ludev -lmultipath -lmpathpersist" ; then
- mpathpersist=yes
- mpathpersist_new_api=yes
- else
- # probe for the old API
- cat > $TMPC <<EOF
-#include <libudev.h>
-#include <mpath_persist.h>
-unsigned mpath_mx_alloc_len = 1024;
-int logsink;
-int main(void) {
- struct udev *udev = udev_new();
- mpath_lib_init(udev);
- return 0;
-}
-EOF
- if compile_prog "" "-ludev -lmultipath -lmpathpersist" ; then
- mpathpersist=yes
- mpathpersist_new_api=no
- else
- mpathpersist=no
- fi
- fi
-else
- mpathpersist=no
-fi
-
##########################################
# pthread probe
PTHREADLIBS_LIST="-pthread -lpthread -lpthreadGC2"
@@ -6340,23 +6289,11 @@ if test "$softmmu" = yes ; then
fi
virtfs=no
fi
- if test "$mpath" != no && test "$mpathpersist" = yes ; then
- mpath=yes
- else
- if test "$mpath" = yes; then
- error_exit "Multipath requires libmpathpersist devel"
- fi
- mpath=no
- fi
else
if test "$virtfs" = yes; then
error_exit "VirtFS is supported only on Linux"
fi
virtfs=no
- if test "$mpath" = yes; then
- error_exit "Multipath is supported only on Linux"
- fi
- mpath=no
fi
fi
@@ -6897,12 +6834,6 @@ fi
if test "$virtfs" = "yes" ; then
echo "CONFIG_VIRTFS=y" >> $config_host_mak
fi
-if test "$mpath" = "yes" ; then
- echo "CONFIG_MPATH=y" >> $config_host_mak
- if test "$mpathpersist_new_api" = "yes"; then
- echo "CONFIG_MPATH_NEW_API=y" >> $config_host_mak
- fi
-fi
if test "$vhost_scsi" = "yes" ; then
echo "CONFIG_VHOST_SCSI=y" >> $config_host_mak
fi
@@ -7992,7 +7923,7 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
-Dstrip=$(if test "$strip_opt" = yes; then echo true; else echo false; fi) \
-Db_pie=$(if test "$pie" = yes; then echo true; else echo false; fi) \
-Db_coverage=$(if test "$gcov" = yes; then echo true; else echo false; fi) \
- -Dsdl=$sdl -Dsdl_image=$sdl_image \
+ -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \
-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f\
$cross_arg \
diff --git a/meson.build b/meson.build
index 4872498897..c09d869f9b 100644
--- a/meson.build
+++ b/meson.build
@@ -81,6 +81,14 @@ if 'SPARSE_CFLAGS' in config_host
'compile_commands.json'])
endif
+###########################################
+# Target-specific checks and dependencies #
+###########################################
+
+if targetos != 'linux' and get_option('mpath').enabled()
+ error('Multipath is supported only on Linux')
+endif
+
m = cc.find_library('m', required: false)
util = cc.find_library('util', required: false)
winmm = []
@@ -112,6 +120,11 @@ elif targetos == 'haiku'
cc.find_library('network'),
cc.find_library('bsd')]
endif
+
+################
+# Dependencies #
+################
+
# The path to glib.h is added to all compilation commands. This was
# grandfathered in from the QEMU Makefiles.
add_project_arguments(config_host['GLIB_CFLAGS'].split(),
@@ -218,10 +231,6 @@ if 'CONFIG_SPICE' in config_host
link_args: config_host['SPICE_LIBS'].split())
endif
rt = cc.find_library('rt', required: false)
-libmpathpersist = not_found
-if config_host.has_key('CONFIG_MPATH')
- libmpathpersist = cc.find_library('mpathpersist')
-endif
libdl = not_found
if 'CONFIG_PLUGIN' in config_host
libdl = cc.find_library('dl', required: true)
@@ -252,9 +261,62 @@ if 'CONFIG_CURL' in config_host
link_args: config_host['CURL_LIBS'].split())
endif
libudev = not_found
-if target_os == 'linux'
- libudev = dependency('libudev', static: enable_static)
+if targetos == 'linux'
+ libudev = dependency('libudev',
+ required: get_option('mpath'),
+ static: enable_static)
+endif
+
+mpathpersist = not_found
+if targetos == 'linux' and not get_option('mpath').disabled()
+ libmultipath = cc.find_library('multipath',
+ required: get_option('mpath'),
+ static: enable_static)
+ libmpathpersist = cc.find_library('mpathpersist',
+ required: get_option('mpath'),
+ static: enable_static)
+ if libmultipath.found() and libmpathpersist.found() and libudev.found()
+ if cc.links('''
+ #include <libudev.h>
+ #include <mpath_persist.h>
+ unsigned mpath_mx_alloc_len = 1024;
+ int logsink;
+ static struct config *multipath_conf;
+ extern struct udev *udev;
+ extern struct config *get_multipath_config(void);
+ extern void put_multipath_config(struct config *conf);
+ struct udev *udev;
+ struct config *get_multipath_config(void) { return multipath_conf; }
+ void put_multipath_config(struct config *conf) { }
+ int main(void) {
+ udev = udev_new();
+ multipath_conf = mpath_lib_init();
+ return 0;
+ }''', dependencies: [libmultipath, libmpathpersist, libudev])
+ mpathpersist = declare_dependency(dependencies: [libmultipath, libmpathpersist, libudev])
+ mpathpersist_new_api = true
+ elif cc.links('''
+ #include <libudev.h>
+ #include <mpath_persist.h>
+ unsigned mpath_mx_alloc_len = 1024;
+ int logsink;
+ int main(void) {
+ struct udev *udev = udev_new();
+ mpath_lib_init(udev);
+ return 0;
+ }''', dependencies: [libmultipath, libmpathpersist, libudev])
+ mpathpersist = declare_dependency(dependencies: [libmultipath, libmpathpersist, libudev])
+ mpathpersist_new_api = false
+ else
+ if get_option('mpath').enabled()
+ error('Cannot detect libmpathpersist API')
+ else
+ warning('Cannot detect libmpathpersist API, disabling')
+ endif
+ endif
+ endif
endif
+
brlapi = not_found
if 'CONFIG_BRLAPI' in config_host
brlapi = declare_dependency(link_args: config_host['BRLAPI_LIBS'].split())
@@ -436,6 +498,10 @@ has_gettid = cc.has_function('gettid')
# Create config-host.h
config_host_data.set('CONFIG_LIBUDEV', libudev.found())
+config_host_data.set('CONFIG_MPATH', mpathpersist.found())
+if mpathpersist.found()
+ config_host_data.set('CONFIG_MPATH_NEW_API', mpathpersist_new_api)
+endif
config_host_data.set('CONFIG_SDL', sdl.found())
config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found())
config_host_data.set('CONFIG_VNC', vnc.found())
@@ -1185,7 +1251,7 @@ if have_tools
executable('qemu-pr-helper', files('scsi/qemu-pr-helper.c', 'scsi/utils.c'),
dependencies: [authz, crypto, io, qom, qemuutil,
- libcap_ng, libudev, libmpathpersist],
+ libcap_ng, mpathpersist],
install: true)
endif
@@ -1407,7 +1473,7 @@ summary_info += {'Audio drivers': config_host['CONFIG_AUDIO_DRIVERS']}
summary_info += {'Block whitelist (rw)': config_host['CONFIG_BDRV_RW_WHITELIST']}
summary_info += {'Block whitelist (ro)': config_host['CONFIG_BDRV_RO_WHITELIST']}
summary_info += {'VirtFS support': config_host.has_key('CONFIG_VIRTFS')}
-summary_info += {'Multipath support': config_host.has_key('CONFIG_MPATH')}
+summary_info += {'Multipath support': mpathpersist.found()}
summary_info += {'VNC support': vnc.found()}
if vnc.found()
summary_info += {'VNC SASL support': sasl.found()}
diff --git a/meson_options.txt b/meson_options.txt
index 543cf70043..b38a6ae92a 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -6,6 +6,8 @@ option('docdir', type : 'string', value : 'doc',
option('gettext', type : 'boolean', value : true,
description: 'Localization of the GTK+ user interface')
+option('mpath', type : 'feature', value : 'auto',
+ description: 'Multipath persistent reservation passthrough')
option('sdl', type : 'feature', value : 'auto',
description: 'SDL user interface')
option('sdl_image', type : 'feature', value : 'auto',
--
2.18.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 3/6] migration: Silence compiler warning in global_state_store_running()
2020-09-18 10:34 [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Thomas Huth
2020-09-18 10:34 ` [PATCH 1/6] meson: move libudev test Thomas Huth
2020-09-18 10:34 ` [PATCH 2/6] meson: move libmpathpersist test Thomas Huth
@ 2020-09-18 10:34 ` Thomas Huth
2020-09-21 20:39 ` Cleber Rosa
2020-09-18 10:34 ` [PATCH 4/6] travis.yml: Drop the default softmmu builds Thomas Huth
` (5 subsequent siblings)
8 siblings, 1 reply; 17+ messages in thread
From: Thomas Huth @ 2020-09-18 10:34 UTC (permalink / raw)
To: Alex Bennée, Philippe Mathieu-Daudé, qemu-devel
Cc: Paolo Bonzini, Markus Armbruster
GCC 9.3.0 on Ubuntu complains:
In file included from /usr/include/string.h:495,
from /home/travis/build/huth/qemu/include/qemu/osdep.h:87,
from ../migration/global_state.c:13:
In function ‘strncpy’,
inlined from ‘global_state_store_running’ at ../migration/global_state.c:47:5:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error:
‘__builtin_strncpy’ specified bound 100 equals destination size [-Werror=stringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
... but we apparently really want to do a strncpy here - the size is already
checked with the assert() statement right in front of it. To silence the
warning, simply replace it with our strpadcpy() function.
Suggested-by: Philippe Mathieu-Daudé <philmd@redhat.com> (two years ago)
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
migration/global_state.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/migration/global_state.c b/migration/global_state.c
index 25311479a4..a33947ca32 100644
--- a/migration/global_state.c
+++ b/migration/global_state.c
@@ -44,8 +44,8 @@ void global_state_store_running(void)
{
const char *state = RunState_str(RUN_STATE_RUNNING);
assert(strlen(state) < sizeof(global_state.runstate));
- strncpy((char *)global_state.runstate,
- state, sizeof(global_state.runstate));
+ strpadcpy((char *)global_state.runstate, sizeof(global_state.runstate),
+ state, '\0');
}
bool global_state_received(void)
--
2.18.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 4/6] travis.yml: Drop the default softmmu builds
2020-09-18 10:34 [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Thomas Huth
` (2 preceding siblings ...)
2020-09-18 10:34 ` [PATCH 3/6] migration: Silence compiler warning in global_state_store_running() Thomas Huth
@ 2020-09-18 10:34 ` Thomas Huth
2020-09-21 20:40 ` Cleber Rosa
2020-09-18 10:34 ` [PATCH 5/6] travis.yml: Update Travis to use Bionic and Focal instead of Xenial Thomas Huth
` (4 subsequent siblings)
8 siblings, 1 reply; 17+ messages in thread
From: Thomas Huth @ 2020-09-18 10:34 UTC (permalink / raw)
To: Alex Bennée, Philippe Mathieu-Daudé, qemu-devel
Cc: Paolo Bonzini, Markus Armbruster
The total runtime of all Travis jobs is very long and we are testing
all softmmu targets in the gitlab-CI already - so we can speed up the
Travis testing a little bit by not testing the softmmu targets here
anymore.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Acked-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.travis.yml | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index c75221dca3..1fc49b0746 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -123,20 +123,6 @@ jobs:
- CONFIG="--disable-system --static"
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
-
- # we split the system builds as it takes a while to build them all
- - name: "GCC (main-softmmu)"
- env:
- - CONFIG="--disable-user --target-list=${MAIN_SOFTMMU_TARGETS}"
- - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
-
-
- - name: "GCC (other-softmmu)"
- env:
- - CONFIG="--disable-user --target-list-exclude=${MAIN_SOFTMMU_TARGETS}"
- - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
-
-
# Just build tools and run minimal unit and softfloat checks
- name: "GCC check-unit and check-softfloat"
env:
--
2.18.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 5/6] travis.yml: Update Travis to use Bionic and Focal instead of Xenial
2020-09-18 10:34 [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Thomas Huth
` (3 preceding siblings ...)
2020-09-18 10:34 ` [PATCH 4/6] travis.yml: Drop the default softmmu builds Thomas Huth
@ 2020-09-18 10:34 ` Thomas Huth
2020-09-21 23:39 ` Cleber Rosa
2020-09-18 10:34 ` [PATCH 6/6] travis.yml: Drop the superfluous Python 3.6 build Thomas Huth
` (3 subsequent siblings)
8 siblings, 1 reply; 17+ messages in thread
From: Thomas Huth @ 2020-09-18 10:34 UTC (permalink / raw)
To: Alex Bennée, Philippe Mathieu-Daudé, qemu-devel
Cc: Paolo Bonzini, Markus Armbruster
According to our support policy, we do not support Xenial anymore.
Time to switch the bigger parts of the builds to Focal instead.
Some few jobs have to be updated to Bionic instead, since they are
currently still failing on Focal otherwise. Also "--disable-pie" is
causing linker problems with newer versions of Ubuntu ... so remove
that switch from the jobs now (we still test it in a gitlab CI job,
so we don't lose much test coverage here).
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.travis.yml | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 1fc49b0746..80da4ebc8e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,7 +2,7 @@
# Additional builds with specific requirements for a full VM need to
# be added as additional matrix: entries later on
os: linux
-dist: xenial
+dist: focal
language: c
compiler:
- gcc
@@ -10,7 +10,7 @@ cache:
# There is one cache per branch and compiler version.
# characteristics of each job are used to identify the cache:
# - OS name (currently only linux)
- # - OS distribution (for Linux, xenial, trusty, or precise)
+ # - OS distribution (for Linux, bionic or focal)
# - Names and values of visible environment variables set in .travis.yml or Settings panel
timeout: 1200
ccache: true
@@ -27,7 +27,7 @@ addons:
- libattr1-dev
- libbrlapi-dev
- libcap-ng-dev
- - libgcc-4.8-dev
+ - libgcc-7-dev
- libgnutls28-dev
- libgtk-3-dev
- libiscsi-dev
@@ -211,8 +211,10 @@ jobs:
# gprof/gcov are GCC features
- name: "GCC gprof/gcov"
+ dist: bionic
env:
- - CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=${MAIN_SOFTMMU_TARGETS}"
+ - CONFIG="--enable-gprof --enable-gcov --disable-libssh
+ --target-list=${MAIN_SOFTMMU_TARGETS}"
after_success:
- ${SRC_DIR}/scripts/travis/coverage-summary.sh
@@ -271,6 +273,7 @@ jobs:
# Using newer GCC with sanitizers
- name: "GCC9 with sanitizers (softmmu)"
+ dist: bionic
addons:
apt:
update: true
@@ -286,7 +289,7 @@ jobs:
- libattr1-dev
- libbrlapi-dev
- libcap-ng-dev
- - libgnutls-dev
+ - libgnutls28-dev
- libgtk-3-dev
- libiscsi-dev
- liblttng-ust-dev
@@ -294,14 +297,13 @@ jobs:
- libncurses5-dev
- libnss3-dev
- libpixman-1-dev
- - libpng12-dev
+ - libpng-dev
- librados-dev
- libsdl2-dev
- libsdl2-image-dev
- libseccomp-dev
- libspice-protocol-dev
- libspice-server-dev
- - libssh-dev
- liburcu-dev
- libusb-1.0-0-dev
- libvte-2.91-dev
@@ -311,11 +313,11 @@ jobs:
compiler: none
env:
- COMPILER_NAME=gcc CXX=g++-9 CC=gcc-9
- - CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-pie --disable-linux-user"
+ - CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-linux-user"
- TEST_CMD=""
before_script:
- mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
- - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-g3 -O0 -Wno-error=stringop-truncation -fsanitize=thread" --extra-ldflags="-fuse-ld=gold" || { cat config.log && exit 1; }
+ - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread" || { cat config.log && exit 1; }
# Run check-tcg against linux-user
@@ -357,7 +359,7 @@ jobs:
- name: "[aarch64] GCC check-tcg"
arch: arm64
- dist: xenial
+ dist: focal
addons:
apt_packages:
- libaio-dev
@@ -390,7 +392,7 @@ jobs:
- name: "[ppc64] GCC check-tcg"
arch: ppc64le
- dist: xenial
+ dist: focal
addons:
apt_packages:
- libaio-dev
--
2.18.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 6/6] travis.yml: Drop the superfluous Python 3.6 build
2020-09-18 10:34 [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Thomas Huth
` (4 preceding siblings ...)
2020-09-18 10:34 ` [PATCH 5/6] travis.yml: Update Travis to use Bionic and Focal instead of Xenial Thomas Huth
@ 2020-09-18 10:34 ` Thomas Huth
2020-09-21 23:40 ` Cleber Rosa
2020-09-18 12:51 ` [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Paolo Bonzini
` (2 subsequent siblings)
8 siblings, 1 reply; 17+ messages in thread
From: Thomas Huth @ 2020-09-18 10:34 UTC (permalink / raw)
To: Alex Bennée, Philippe Mathieu-Daudé, qemu-devel
Cc: Paolo Bonzini, Markus Armbruster
Python 3.6 is already the default Python in the jobs that are based
on Ubuntu Bionic, so it does not make much sense to test this again
separately.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.travis.yml | 8 --------
1 file changed, 8 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 80da4ebc8e..023fcf7119 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -263,14 +263,6 @@ jobs:
python: 3.5
- - name: "GCC Python 3.6 (x86_64-softmmu)"
- env:
- - CONFIG="--target-list=x86_64-softmmu"
- - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
- language: python
- python: 3.6
-
-
# Using newer GCC with sanitizers
- name: "GCC9 with sanitizers (softmmu)"
dist: bionic
--
2.18.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 0/6] Update Travis from Xenial to Bionic and Focal
2020-09-18 10:34 [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Thomas Huth
` (5 preceding siblings ...)
2020-09-18 10:34 ` [PATCH 6/6] travis.yml: Drop the superfluous Python 3.6 build Thomas Huth
@ 2020-09-18 12:51 ` Paolo Bonzini
2020-09-18 12:54 ` Thomas Huth
2020-09-21 18:46 ` Alex Bennée
2020-09-22 7:04 ` [PATCH 7/6] travis.yml: Drop the Python 3.5 build Thomas Huth
8 siblings, 1 reply; 17+ messages in thread
From: Paolo Bonzini @ 2020-09-18 12:51 UTC (permalink / raw)
To: Thomas Huth, Alex Bennée, Philippe Mathieu-Daudé,
qemu-devel
Cc: Markus Armbruster
On 18/09/20 12:34, Thomas Huth wrote:
> According to our support policy, we do not support Xenial anymore.
> Time to switch the Travis jobs to Focal or Bionic instead now.
>
> Paolo Bonzini (2):
> meson: move libudev test
> meson: move libmpathpersist test
Can you skip these since I'm going to send a pull request today?
Paolo
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 0/6] Update Travis from Xenial to Bionic and Focal
2020-09-18 12:51 ` [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Paolo Bonzini
@ 2020-09-18 12:54 ` Thomas Huth
0 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2020-09-18 12:54 UTC (permalink / raw)
To: Paolo Bonzini, Alex Bennée, Philippe Mathieu-Daudé,
qemu-devel
Cc: Markus Armbruster
On 18/09/2020 14.51, Paolo Bonzini wrote:
> On 18/09/20 12:34, Thomas Huth wrote:
>> According to our support policy, we do not support Xenial anymore.
>> Time to switch the Travis jobs to Focal or Bionic instead now.
>>
>> Paolo Bonzini (2):
>> meson: move libudev test
>> meson: move libmpathpersist test
>
> Can you skip these since I'm going to send a pull request today?
Sure, I don't expect my patches to be part of a pull-request very soon
anyway (they need some reviews first).
Thomas
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 0/6] Update Travis from Xenial to Bionic and Focal
2020-09-18 10:34 [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Thomas Huth
` (6 preceding siblings ...)
2020-09-18 12:51 ` [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Paolo Bonzini
@ 2020-09-21 18:46 ` Alex Bennée
2020-09-22 7:04 ` [PATCH 7/6] travis.yml: Drop the Python 3.5 build Thomas Huth
8 siblings, 0 replies; 17+ messages in thread
From: Alex Bennée @ 2020-09-21 18:46 UTC (permalink / raw)
To: Thomas Huth
Cc: Paolo Bonzini, Philippe Mathieu-Daudé, qemu-devel,
Markus Armbruster
Thomas Huth <thuth@redhat.com> writes:
> According to our support policy, we do not support Xenial anymore.
> Time to switch the Travis jobs to Focal or Bionic instead now.
Queued to testing/next, thanks.
>
> Paolo Bonzini (2):
> meson: move libudev test
> meson: move libmpathpersist test
>
> Thomas Huth (4):
> migration: Silence compiler warning in global_state_store_running()
> travis.yml: Drop the default softmmu builds
> travis.yml: Update Travis to use Bionic and Focal instead of Xenial
> travis.yml: Drop the superfluous Python 3.6 build
>
> .travis.yml | 46 ++++++--------------
> configure | 91 ++--------------------------------------
> meson.build | 85 +++++++++++++++++++++++++++++++++----
> meson_options.txt | 2 +
> migration/global_state.c | 4 +-
> 5 files changed, 97 insertions(+), 131 deletions(-)
--
Alex Bennée
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 3/6] migration: Silence compiler warning in global_state_store_running()
2020-09-18 10:34 ` [PATCH 3/6] migration: Silence compiler warning in global_state_store_running() Thomas Huth
@ 2020-09-21 20:39 ` Cleber Rosa
2020-09-22 6:48 ` Thomas Huth
0 siblings, 1 reply; 17+ messages in thread
From: Cleber Rosa @ 2020-09-21 20:39 UTC (permalink / raw)
To: Thomas Huth
Cc: Philippe Mathieu-Daudé, Alex Bennée, qemu-devel,
Markus Armbruster, Paolo Bonzini
[-- Attachment #1: Type: text/plain, Size: 4341 bytes --]
On Fri, Sep 18, 2020 at 12:34:27PM +0200, Thomas Huth wrote:
> GCC 9.3.0 on Ubuntu complains:
>
> In file included from /usr/include/string.h:495,
> from /home/travis/build/huth/qemu/include/qemu/osdep.h:87,
> from ../migration/global_state.c:13:
> In function ‘strncpy’,
> inlined from ‘global_state_store_running’ at ../migration/global_state.c:47:5:
> /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error:
> ‘__builtin_strncpy’ specified bound 100 equals destination size [-Werror=stringop-truncation]
> 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> ... but we apparently really want to do a strncpy here - the size is already
> checked with the assert() statement right in front of it. To silence the
> warning, simply replace it with our strpadcpy() function.
>
> Suggested-by: Philippe Mathieu-Daudé <philmd@redhat.com> (two years ago)
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> migration/global_state.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/migration/global_state.c b/migration/global_state.c
> index 25311479a4..a33947ca32 100644
> --- a/migration/global_state.c
> +++ b/migration/global_state.c
> @@ -44,8 +44,8 @@ void global_state_store_running(void)
> {
> const char *state = RunState_str(RUN_STATE_RUNNING);
> assert(strlen(state) < sizeof(global_state.runstate));
> - strncpy((char *)global_state.runstate,
> - state, sizeof(global_state.runstate));
> + strpadcpy((char *)global_state.runstate, sizeof(global_state.runstate),
> + state, '\0');
> }
>
> bool global_state_received(void)
> --
> 2.18.2
>
>
Hi Thomas,
FIY, I couldn't reproduce the complaint from GCC. I've tested it on focal,
"gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0", with QEMU 5df6c87e8.
After a succesfull "configure --target-list=x86_64-softmmu && meson
compile" build, I tried to manually enable meson's "werror" option,
and found no difference.
Then, I manually ran gcc, with a couple of "-Werror" variations, such
as:
cc -Ilibcommon.fa.p -I. -I../../src/qemu -Iqapi -Itrace -Iui \
-Iui/shader -I/usr/include/libpng16 -I/usr/include/libmount \
-I/usr/include/blkid -I/usr/include/glib-2.0 \
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include \
-I/usr/include/gio-unix-2.0 -I/root/src/qemu/slirp/src -Islirp/src \
-I/usr/include/pixman-1 -I/usr/include/gtk-3.0 \
-I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 \
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include \
-I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi \
-I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/uuid \
-I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -Ilinux-headers \
-fdiagnostics-color=auto -pipe -Wall -Winvalid-pch -Werror \
-Werror=stringop-truncation -std=gnu99 -O2 -g -U_FORTIFY_SOURCE \
-D_FORTIFY_SOURCE=2 -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 \
-D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef \
-Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common \
-fwrapv -Wold-style-declaration -Wold-style-definition -Wtype-limits \
-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers \
-Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined \
-Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi \
-fstack-protector-strong -iquote /root/src/qemu/tcg/i386 -isystem \
/root/src/qemu/linux-headers -iquote . -iquote /root/src/qemu -iquote \
/root/src/qemu/accel/tcg -iquote /root/src/qemu/include -iquote \
/root/src/qemu/disas/libvixl -pthread -fPIC -MD -MQ \
libcommon.fa.p/migration_global_state.c.o -MF \
libcommon.fa.p/migration_global_state.c.o.d -o \
libcommon.fa.p/migration_global_state.c.o -c \
../../src/qemu/migration/global_state.c
But I could not trigger the warning (and thus error). The change here
looks good, but I thought I should let you know, and maybe I'm missing
something obvious.
Thanks,
- Cleber.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 4/6] travis.yml: Drop the default softmmu builds
2020-09-18 10:34 ` [PATCH 4/6] travis.yml: Drop the default softmmu builds Thomas Huth
@ 2020-09-21 20:40 ` Cleber Rosa
0 siblings, 0 replies; 17+ messages in thread
From: Cleber Rosa @ 2020-09-21 20:40 UTC (permalink / raw)
To: Thomas Huth
Cc: Philippe Mathieu-Daudé, Alex Bennée, qemu-devel,
Markus Armbruster, Paolo Bonzini
[-- Attachment #1: Type: text/plain, Size: 633 bytes --]
On Fri, Sep 18, 2020 at 12:34:28PM +0200, Thomas Huth wrote:
> The total runtime of all Travis jobs is very long and we are testing
> all softmmu targets in the gitlab-CI already - so we can speed up the
> Travis testing a little bit by not testing the softmmu targets here
> anymore.
>
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Acked-by: Alex Bennée <alex.bennee@linaro.org>
> Acked-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> .travis.yml | 14 --------------
> 1 file changed, 14 deletions(-)
>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 5/6] travis.yml: Update Travis to use Bionic and Focal instead of Xenial
2020-09-18 10:34 ` [PATCH 5/6] travis.yml: Update Travis to use Bionic and Focal instead of Xenial Thomas Huth
@ 2020-09-21 23:39 ` Cleber Rosa
2020-09-22 6:55 ` Thomas Huth
0 siblings, 1 reply; 17+ messages in thread
From: Cleber Rosa @ 2020-09-21 23:39 UTC (permalink / raw)
To: Thomas Huth
Cc: Philippe Mathieu-Daudé, Alex Bennée, qemu-devel,
Markus Armbruster, Paolo Bonzini
[-- Attachment #1: Type: text/plain, Size: 2458 bytes --]
On Fri, Sep 18, 2020 at 12:34:29PM +0200, Thomas Huth wrote:
> According to our support policy, we do not support Xenial anymore.
> Time to switch the bigger parts of the builds to Focal instead.
> Some few jobs have to be updated to Bionic instead, since they are
> currently still failing on Focal otherwise. Also "--disable-pie" is
> causing linker problems with newer versions of Ubuntu ... so remove
> that switch from the jobs now (we still test it in a gitlab CI job,
> so we don't lose much test coverage here).
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> .travis.yml | 24 +++++++++++++-----------
> 1 file changed, 13 insertions(+), 11 deletions(-)
>
> diff --git a/.travis.yml b/.travis.yml
> index 1fc49b0746..80da4ebc8e 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -2,7 +2,7 @@
> # Additional builds with specific requirements for a full VM need to
> # be added as additional matrix: entries later on
> os: linux
> -dist: xenial
> +dist: focal
> language: c
> compiler:
> - gcc
> @@ -10,7 +10,7 @@ cache:
> # There is one cache per branch and compiler version.
> # characteristics of each job are used to identify the cache:
> # - OS name (currently only linux)
> - # - OS distribution (for Linux, xenial, trusty, or precise)
> + # - OS distribution (for Linux, bionic or focal)
> # - Names and values of visible environment variables set in .travis.yml or Settings panel
> timeout: 1200
> ccache: true
> @@ -27,7 +27,7 @@ addons:
> - libattr1-dev
> - libbrlapi-dev
> - libcap-ng-dev
> - - libgcc-4.8-dev
> + - libgcc-7-dev
> - libgnutls28-dev
> - libgtk-3-dev
> - libiscsi-dev
> @@ -211,8 +211,10 @@ jobs:
>
> # gprof/gcov are GCC features
> - name: "GCC gprof/gcov"
> + dist: bionic
> env:
> - - CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=${MAIN_SOFTMMU_TARGETS}"
> + - CONFIG="--enable-gprof --enable-gcov --disable-libssh
> + --target-list=${MAIN_SOFTMMU_TARGETS}"
While the commit message describes the reason for dropping
'--disable-pie', it doesn't talk about why it adds '--disable-libssh'.
Other than that, it's working fine, according to:
https://travis-ci.org/github/clebergnu/qemu/builds/729121964
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Tested-by: Cleber Rosa <crosa@redhat.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 6/6] travis.yml: Drop the superfluous Python 3.6 build
2020-09-18 10:34 ` [PATCH 6/6] travis.yml: Drop the superfluous Python 3.6 build Thomas Huth
@ 2020-09-21 23:40 ` Cleber Rosa
0 siblings, 0 replies; 17+ messages in thread
From: Cleber Rosa @ 2020-09-21 23:40 UTC (permalink / raw)
To: Thomas Huth
Cc: Philippe Mathieu-Daudé, Alex Bennée, qemu-devel,
Markus Armbruster, Paolo Bonzini
[-- Attachment #1: Type: text/plain, Size: 393 bytes --]
On Fri, Sep 18, 2020 at 12:34:30PM +0200, Thomas Huth wrote:
> Python 3.6 is already the default Python in the jobs that are based
> on Ubuntu Bionic, so it does not make much sense to test this again
> separately.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> .travis.yml | 8 --------
> 1 file changed, 8 deletions(-)
>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 3/6] migration: Silence compiler warning in global_state_store_running()
2020-09-21 20:39 ` Cleber Rosa
@ 2020-09-22 6:48 ` Thomas Huth
0 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2020-09-22 6:48 UTC (permalink / raw)
To: Cleber Rosa
Cc: Philippe Mathieu-Daudé, Alex Bennée, qemu-devel,
Markus Armbruster, Paolo Bonzini
[-- Attachment #1.1: Type: text/plain, Size: 2468 bytes --]
On 21/09/2020 22.39, Cleber Rosa wrote:
> On Fri, Sep 18, 2020 at 12:34:27PM +0200, Thomas Huth wrote:
>> GCC 9.3.0 on Ubuntu complains:
>>
>> In file included from /usr/include/string.h:495,
>> from /home/travis/build/huth/qemu/include/qemu/osdep.h:87,
>> from ../migration/global_state.c:13:
>> In function ‘strncpy’,
>> inlined from ‘global_state_store_running’ at ../migration/global_state.c:47:5:
>> /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error:
>> ‘__builtin_strncpy’ specified bound 100 equals destination size [-Werror=stringop-truncation]
>> 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> ... but we apparently really want to do a strncpy here - the size is already
>> checked with the assert() statement right in front of it. To silence the
>> warning, simply replace it with our strpadcpy() function.
>>
>> Suggested-by: Philippe Mathieu-Daudé <philmd@redhat.com> (two years ago)
>> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>> migration/global_state.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/migration/global_state.c b/migration/global_state.c
>> index 25311479a4..a33947ca32 100644
>> --- a/migration/global_state.c
>> +++ b/migration/global_state.c
>> @@ -44,8 +44,8 @@ void global_state_store_running(void)
>> {
>> const char *state = RunState_str(RUN_STATE_RUNNING);
>> assert(strlen(state) < sizeof(global_state.runstate));
>> - strncpy((char *)global_state.runstate,
>> - state, sizeof(global_state.runstate));
>> + strpadcpy((char *)global_state.runstate, sizeof(global_state.runstate),
>> + state, '\0');
>> }
>>
>> bool global_state_received(void)
>> --
>> 2.18.2
>>
>>
>
> Hi Thomas,
>
> FIY, I couldn't reproduce the complaint from GCC. I've tested it on focal,
> "gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0", with QEMU 5df6c87e8.
Hi Cleber,
I've hit the error here:
https://travis-ci.com/github/huth/qemu/jobs/385871010#L2930
It seems to use the very same compiler version as you did, so that's
kind of weird... Maybe it's related to the other compiler flags, either
--enable-gprof, --enable-gcov or --disable-pie ?
Thomas
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 5/6] travis.yml: Update Travis to use Bionic and Focal instead of Xenial
2020-09-21 23:39 ` Cleber Rosa
@ 2020-09-22 6:55 ` Thomas Huth
0 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2020-09-22 6:55 UTC (permalink / raw)
To: Cleber Rosa
Cc: Philippe Mathieu-Daudé, Alex Bennée, qemu-devel,
Markus Armbruster, Paolo Bonzini
On 22/09/2020 01.39, Cleber Rosa wrote:
> On Fri, Sep 18, 2020 at 12:34:29PM +0200, Thomas Huth wrote:
>> According to our support policy, we do not support Xenial anymore.
>> Time to switch the bigger parts of the builds to Focal instead.
>> Some few jobs have to be updated to Bionic instead, since they are
>> currently still failing on Focal otherwise. Also "--disable-pie" is
>> causing linker problems with newer versions of Ubuntu ... so remove
>> that switch from the jobs now (we still test it in a gitlab CI job,
>> so we don't lose much test coverage here).
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>> .travis.yml | 24 +++++++++++++-----------
>> 1 file changed, 13 insertions(+), 11 deletions(-)
>>
>> diff --git a/.travis.yml b/.travis.yml
>> index 1fc49b0746..80da4ebc8e 100644
>> --- a/.travis.yml
>> +++ b/.travis.yml
>> @@ -2,7 +2,7 @@
>> # Additional builds with specific requirements for a full VM need to
>> # be added as additional matrix: entries later on
>> os: linux
>> -dist: xenial
>> +dist: focal
>> language: c
>> compiler:
>> - gcc
>> @@ -10,7 +10,7 @@ cache:
>> # There is one cache per branch and compiler version.
>> # characteristics of each job are used to identify the cache:
>> # - OS name (currently only linux)
>> - # - OS distribution (for Linux, xenial, trusty, or precise)
>> + # - OS distribution (for Linux, bionic or focal)
>> # - Names and values of visible environment variables set in .travis.yml or Settings panel
>> timeout: 1200
>> ccache: true
>> @@ -27,7 +27,7 @@ addons:
>> - libattr1-dev
>> - libbrlapi-dev
>> - libcap-ng-dev
>> - - libgcc-4.8-dev
>> + - libgcc-7-dev
>> - libgnutls28-dev
>> - libgtk-3-dev
>> - libiscsi-dev
>> @@ -211,8 +211,10 @@ jobs:
>>
>> # gprof/gcov are GCC features
>> - name: "GCC gprof/gcov"
>> + dist: bionic
>> env:
>> - - CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=${MAIN_SOFTMMU_TARGETS}"
>> + - CONFIG="--enable-gprof --enable-gcov --disable-libssh
>> + --target-list=${MAIN_SOFTMMU_TARGETS}"
>
> While the commit message describes the reason for dropping
> '--disable-pie', it doesn't talk about why it adds '--disable-libssh'.
Ah, well, right. I should have mentioned that... but we've hit that
problem in the past so often that my mind apparently sorted it into the
well-known category and did not came up with the idea that it would be
good to mention it ;-)
The problem is that libssh is very much broken in Bionic. Ubuntu
backported some patches into that version so that QEMU's configure
script thinks that it is a newer version, but they did not backport some
other important patches so that compilation later fails. Since it's
rather a bug in the distro and not in QEMU, we never "fixed" this issue,
so libssh can not be used in Bionic. See also:
https://bugs.launchpad.net/qemu/+bug/1838763
> Reviewed-by: Cleber Rosa <crosa@redhat.com>
> Tested-by: Cleber Rosa <crosa@redhat.com>
Thanks!
Thomas
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 7/6] travis.yml: Drop the Python 3.5 build
2020-09-18 10:34 [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Thomas Huth
` (7 preceding siblings ...)
2020-09-21 18:46 ` Alex Bennée
@ 2020-09-22 7:04 ` Thomas Huth
8 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2020-09-22 7:04 UTC (permalink / raw)
To: qemu-devel, Alex Bennée
Cc: John Snow, Philippe Mathieu-Daudé, Markus Armbruster,
Eduardo Habkost, Cleber Rosa
We are soon going to remove the support for Python 3.5. So remove
the CI job now.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
Sorry, I forgot to send this patch together with the others...
Since we're going to remove support for Python 3.5, we have to
remove the CI job for this of course, too.
.travis.yml | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 023fcf7119..b6fee288be 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -254,15 +254,6 @@ jobs:
- TEST_CMD=""
- # Python builds
- - name: "GCC Python 3.5 (x86_64-softmmu)"
- env:
- - CONFIG="--target-list=x86_64-softmmu"
- - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
- language: python
- python: 3.5
-
-
# Using newer GCC with sanitizers
- name: "GCC9 with sanitizers (softmmu)"
dist: bionic
--
2.18.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
end of thread, other threads:[~2020-09-22 7:08 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-18 10:34 [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Thomas Huth
2020-09-18 10:34 ` [PATCH 1/6] meson: move libudev test Thomas Huth
2020-09-18 10:34 ` [PATCH 2/6] meson: move libmpathpersist test Thomas Huth
2020-09-18 10:34 ` [PATCH 3/6] migration: Silence compiler warning in global_state_store_running() Thomas Huth
2020-09-21 20:39 ` Cleber Rosa
2020-09-22 6:48 ` Thomas Huth
2020-09-18 10:34 ` [PATCH 4/6] travis.yml: Drop the default softmmu builds Thomas Huth
2020-09-21 20:40 ` Cleber Rosa
2020-09-18 10:34 ` [PATCH 5/6] travis.yml: Update Travis to use Bionic and Focal instead of Xenial Thomas Huth
2020-09-21 23:39 ` Cleber Rosa
2020-09-22 6:55 ` Thomas Huth
2020-09-18 10:34 ` [PATCH 6/6] travis.yml: Drop the superfluous Python 3.6 build Thomas Huth
2020-09-21 23:40 ` Cleber Rosa
2020-09-18 12:51 ` [PATCH 0/6] Update Travis from Xenial to Bionic and Focal Paolo Bonzini
2020-09-18 12:54 ` Thomas Huth
2020-09-21 18:46 ` Alex Bennée
2020-09-22 7:04 ` [PATCH 7/6] travis.yml: Drop the Python 3.5 build Thomas Huth
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).