This is a followup to a previous patch series: https://www.redhat.com/archives/libvir-list/2019-August/msg01374.html The first abort-on-oom parts of that series merged already. As well as fixing the issues mentioned last time, the glib parts now do a little more: - Demonstrate conversion of virObject to GObject - Convert to gbase64 APIs - Start to convert getopt to GOptionContext I have explicitly now confirmed we can freely mix g_malloc/malloc and g_free/free, given our min glib version. my intention with the glib code will be to focus on converting bits of code that allow us to eliminate gnulib modules. About 50% of the gnulib stuff is related to the Windows portability for sockets() and poll(). We can address this by integrate the event loop with GMainLoop, and using GIO for its GSocket APIs. The other gnulib stuff is a random bag of APIs. Some may be replaced by glib APIs, for others we can pull the gnulib fix straight into libvirt, for others the portability problems might be obsolete. Daniel P. Berrangé (11): build: probe for glib-2 library in configure build: link to glib, gobject, gio libraries remote: don't pull anonymous enums into rpc protocol structs util: use glib memory allocation functions util: use glib string allocation/formatting functions util: use glib base64 encoding/decoding APIs util: convert virIdentity class to use GObject src: convert over to use GRegex for regular exprssions virsh: convert command line parsing to use GOptionContext virt-admin: convert command line parsing to use GOptionContext virt-login-shell: convert command line parsing to use GOptionContext bootstrap.conf | 5 - configure.ac | 2 + libvirt.spec.in | 1 + m4/virt-glib.m4 | 36 ++++ mingw-libvirt.spec.in | 2 + src/Makefile.am | 5 +- src/access/viraccessdriverpolkit.c | 21 +- src/admin/admin_server.c | 3 +- src/admin_protocol-structs | 9 - src/conf/domain_event.c | 25 +-- src/conf/virsecretobj.c | 38 +--- src/internal.h | 1 + src/libvirt_private.syms | 1 - src/libxl/libxl_capabilities.c | 44 ++-- src/libxl/libxl_conf.c | 3 +- src/lxc/Makefile.inc.am | 2 + src/qemu/qemu_agent.c | 9 +- src/qemu/qemu_command.c | 5 +- src/qemu/qemu_domain.c | 8 +- src/qemu/qemu_process.c | 4 +- src/remote/Makefile.inc.am | 1 + src/remote/remote_daemon.c | 3 +- src/remote/remote_daemon_dispatch.c | 35 ++-- src/remote_protocol-structs | 9 - src/rpc/virnetserverclient.c | 57 +++--- src/rpc/virnetserverprogram.c | 13 +- src/secret/secret_driver.c | 1 - src/storage/storage_backend_rbd.c | 4 +- src/util/Makefile.inc.am | 1 + src/util/viralloc.c | 29 +-- src/util/viridentity.c | 87 ++++---- src/util/viridentity.h | 7 +- src/util/virstring.c | 40 +--- src/util/virstring.h | 2 - tests/Makefile.am | 3 +- tests/viridentitytest.c | 45 ++--- tests/virnetserverclienttest.c | 3 +- tools/Makefile.am | 1 + tools/virsh-secret.c | 17 +- tools/virsh.c | 303 +++++++++++++--------------- tools/virt-admin.c | 207 +++++++++---------- tools/virt-login-shell-helper.c | 66 ++---- 42 files changed, 495 insertions(+), 663 deletions(-) create mode 100644 m4/virt-glib.m4 -- 2.21.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list