This is a followup to a previous patch series:
v0:
https://www.redhat.com/archives/libvir-list/2019-August/msg01374.html
v1:
https://www.redhat.com/archives/libvir-list/2019-September/msg01331.html
The focus in this glib series is
- Wire up pieces to facilitate interoperability around
memory allocation/cleanup.
- Deprecate & document existing libvirt APIs that are
targetted for removal/conversion.
- Illustrate some conversions and/or usage of new APIs.
- Convert code that allows us to eliminate more gnulib
modules
There's obviously alot of conversion work that could be done, especially
around memory allocation, auto cleanup and virObject stuff. I'm not
intending to do that myself in the short term, as my immediate focus is
on eliminating gnulib modules. Once this series is merged though, anyone
is able to take on conversion jobs, so this allows the work to be spread
out across the contributors.
Daniel P. Berrangé (23):
build: probe for glib-2 library in configure
build: link to glib library
util: use glib memory allocation functions
util: use glib string allocation/formatting functions
util: convert virSystemdActivation to use VIR_DEFINE_AUTOPTR_FUNC
util: rewrite auto cleanup macros to use glib's equivalent
src: add support for g_autoptr with virObject instances
conf: convert virSecretObj APIs to use autofree
util: use glib base64 encoding/decoding APIs
util: convert virIdentity implementation and test suite to g_autoptr
access: convert polkit driver to auto free memory
admin: convert admin server code to use auto free macros
rpc: convert methods using virIdentityPtr to auto free macros
remote: convert methods using virIdentityPtr to auto free macros
util: convert virIdentity class to use GObject
libxl: convert over to use GRegex for regular expressions
conf: convert over to use GRegex for regular expressions
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
virt-host-validate: convert command line parsing to use GOptionContext
util: replace strerror/strerror_r with g_strerror
build: remove use of usleep gnulib module in favour of g_usleep
bootstrap.conf | 8 -
cfg.mk | 2 +-
configure.ac | 7 +-
docs/hacking.html.in | 144 ++++++-------
libvirt.spec.in | 1 +
m4/virt-glib.m4 | 36 ++++
mingw-libvirt.spec.in | 2 +
src/Makefile.am | 2 +
src/access/viraccessdriverpolkit.c | 38 ++--
src/admin/admin_server.c | 204 ++++++++-----------
src/conf/capabilities.h | 3 +
src/conf/domain_capabilities.h | 3 +
src/conf/domain_conf.h | 3 +
src/conf/domain_event.c | 25 +--
src/conf/snapshot_conf.h | 3 +
src/conf/storage_capabilities.h | 3 +
src/conf/virsecretobj.c | 68 ++-----
src/datatypes.h | 15 ++
src/hyperv/hyperv_driver.c | 2 +-
src/hyperv/hyperv_wmi.c | 4 +-
src/internal.h | 1 +
src/libvirt_private.syms | 1 -
src/libxl/libxl_capabilities.c | 42 ++--
src/libxl/libxl_conf.c | 3 +-
src/libxl/libxl_conf.h | 2 +
src/locking/lock_daemon.c | 2 +-
src/locking/lock_driver_sanlock.c | 2 +-
src/lxc/Makefile.inc.am | 2 +
src/lxc/lxc_controller.c | 2 +-
src/lxc/lxc_driver.c | 2 +-
src/lxc/lxc_process.c | 2 +-
src/network/bridge_driver.c | 2 +-
src/nwfilter/nwfilter_dhcpsnoop.c | 4 +-
src/nwfilter/nwfilter_learnipaddr.c | 2 +-
src/qemu/qemu_agent.c | 6 +-
src/qemu/qemu_blockjob.h | 1 +
src/qemu/qemu_capabilities.h | 2 +
src/qemu/qemu_command.c | 5 +-
src/qemu/qemu_conf.h | 3 +
src/qemu/qemu_domain.c | 8 +-
src/qemu/qemu_monitor_json.c | 2 +-
src/qemu/qemu_process.c | 6 +-
src/qemu/qemu_tpm.c | 2 +-
src/remote/Makefile.inc.am | 1 +
src/remote/remote_daemon.c | 3 +-
src/remote/remote_daemon_dispatch.c | 35 ++--
src/rpc/virnetserverclient.c | 57 +++---
src/rpc/virnetserverprogram.c | 13 +-
src/rpc/virnetsocket.c | 2 +-
src/secret/secret_driver.c | 1 -
src/security/security_manager.c | 2 +-
src/storage/storage_backend_rbd.c | 4 +-
src/storage/storage_util.c | 4 +-
src/util/Makefile.inc.am | 1 +
src/util/viralloc.c | 29 +--
src/util/viralloc.h | 14 +-
src/util/virautoclean.h | 38 ++--
src/util/vircgroup.c | 2 +-
src/util/virerror.c | 9 +-
src/util/virerror.h | 1 +
src/util/virfile.c | 2 +-
src/util/virhostdev.h | 3 +
src/util/viridentity.c | 97 ++++-----
src/util/viridentity.h | 7 +-
src/util/virmdev.h | 3 +
src/util/virnetdev.c | 2 +-
src/util/virnetdevip.c | 2 +-
src/util/virnetdevmacvlan.c | 2 +-
src/util/virnetdevvportprofile.c | 2 +-
src/util/virobject.h | 4 +
src/util/virpci.c | 8 +-
src/util/virpci.h | 3 +
src/util/virprocess.c | 4 +-
src/util/virresctrl.h | 4 +
src/util/virscsi.h | 3 +
src/util/virscsivhost.h | 3 +
src/util/virstoragefile.h | 2 +
src/util/virstring.c | 49 ++---
src/util/virstring.h | 10 +-
src/util/virsystemd.c | 10 +-
src/util/virsystemd.h | 5 +-
src/util/virtime.c | 2 +-
src/util/virusb.h | 3 +
src/vbox/vbox_common.c | 2 +-
tests/Makefile.am | 3 +-
tests/commandtest.c | 16 +-
tests/eventtest.c | 4 +-
tests/fdstreamtest.c | 4 +-
tests/qemumonitortestutils.c | 2 +-
tests/seclabeltest.c | 4 +-
tests/testutils.c | 6 +-
tests/virhostcputest.c | 4 +-
tests/viridentitytest.c | 45 ++--
tests/virnetserverclienttest.c | 3 +-
tests/virsystemdtest.c | 2 +-
tests/virtestmock.c | 4 +-
tools/Makefile.am | 1 +
tools/virsh-domain.c | 2 +-
tools/virsh-secret.c | 17 +-
tools/virsh.c | 304 +++++++++++++---------------
tools/virt-admin.c | 210 +++++++++----------
tools/virt-host-validate.c | 86 ++++----
tools/virt-login-shell-helper.c | 76 +++----
103 files changed, 891 insertions(+), 1027 deletions(-)
create mode 100644 m4/virt-glib.m4
--
2.21.0