The virtlibxld daemon will be responsible for providing the libxl API
driver functionality. The libxl driver is still loaded by the main
libvirtd daemon at this stage, so virtlibxld must not be running at
the same time.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
.gitignore | 1 +
libvirt.spec.in | 1 +
src/libxl/Makefile.inc.am | 14 ++++++++++++++
3 files changed, 16 insertions(+)
diff --git a/.gitignore b/.gitignore
index 6c46e8ae19..0821363e94 100644
--- a/.gitignore
+++ b/.gitignore
@@ -163,6 +163,7 @@
/src/util/virkeynametable*.h
/src/virt-aa-helper
/src/virtinterfaced
+/src/virtlibxld
/src/virtlockd
/src/virtlogd
/src/virtnetworkd
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 8e31588001..8dc11393b3 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1691,6 +1691,7 @@ exit 0
%if %{with_libxl}
%files daemon-driver-libxl
+%attr(0755, root, root) %{_sbindir}/virtlibxld
%config(noreplace) %{_sysconfdir}/libvirt/libxl.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.libxl
%config(noreplace) %{_sysconfdir}/libvirt/libxl-lockd.conf
diff --git a/src/libxl/Makefile.inc.am b/src/libxl/Makefile.inc.am
index 7f60b449d8..0ad22a0e80 100644
--- a/src/libxl/Makefile.inc.am
+++ b/src/libxl/Makefile.inc.am
@@ -65,6 +65,20 @@ libvirt_driver_libxl_impl_la_LIBADD = \
$(NULL)
libvirt_driver_libxl_impl_la_SOURCES = $(LIBXL_DRIVER_SOURCES)
+sbin_PROGRAMS += virtlibxld
+
+virtlibxld_SOURCES = $(REMOTE_DAEMON_SOURCES)
+virtlibxld_CFLAGS = \
+ $(REMOTE_DAEMON_CFLAGS) \
+ -DSOCK_NAME="\"virtlibxld-sock\"" \
+ -DSOCK_NAME_RO="\"virtlibxld-sock-ro\"" \
+ -DSOCK_NAME_ADMIN="\"virtlibxld-admin-sock\"" \
+ -DDAEMON_NAME="\"virtlibxld\"" \
+ -DMODULE_NAME="\"libxl\"" \
+ $(NULL)
+virtlibxld_LDFLAGS = $(REMOTE_DAEMON_LDFLAGS)
+virtlibxld_LDADD = $(REMOTE_DAEMON_LDADD)
+
conf_DATA += libxl/libxl.conf
augeas_DATA += libxl/libvirtd_libxl.aug
augeastest_DATA += test_libvirtd_libxl.aug
--
2.21.0