Talk to the journal ourselves using sendmsg() instead of linking against libsystemd for sd_journal_sendv(). At the same time, we can also avoid excessive copying.
The motivation for dropping the dependency is that we can then use structured logging e.g. in a flatpak sandbox where libsystemd may not be present in the runtime.
The code here is inspired by similar code in libvirt.
6a07885 Drop libsystemd dependency
configure.ac | 15 -----
glib/gmessages.c | 195 ++++++++++++++++++++++++++++++++++++++++++------------
2 files changed, 154 insertions(+), 56 deletions(-)
Upstream: git.gnome.org