%if %{with_libxl}
%files daemon-driver-libxl
+%config(noreplace) %{_sysconfdir}/libvirt/virtxend.conf
+%{_datadir}/augeas/lenses/virtxend.aug
+%{_datadir}/augeas/lenses/tests/test_virtxend.aug
+%{_unitdir}/virtxend.service
+%{_unitdir}/virtxend.socket
+%{_unitdir}/virtxend-ro.socket
+%{_unitdir}/virtxend-admin.socket
+%attr(0755, root, root) %{_sbindir}/virtxend
%config(noreplace) %{_sysconfdir}/libvirt/libxl.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.libxl
%config(noreplace) %{_sysconfdir}/libvirt/libxl-lockd.conf
$(NULL)
libvirt_driver_libxl_impl_la_SOURCES = $(LIBXL_DRIVER_SOURCES)
+sbin_PROGRAMS += virtxend
+
+nodist_conf_DATA += libxl/virtxend.conf
+augeas_DATA += libxl/virtxend.aug
+augeastest_DATA += libxl/test_virtxend.aug
+CLEANFILES += libxl/virtxend.aug
+
+virtxend_SOURCES = $(REMOTE_DAEMON_SOURCES)
+virtxend_CFLAGS = \
+ $(REMOTE_DAEMON_CFLAGS) \
+ -DDAEMON_NAME="\"virtxend\"" \
+ -DMODULE_NAME="\"libxl\"" \
+ $(NULL)
+virtxend_LDFLAGS = $(REMOTE_DAEMON_LD_FLAGS)
+virtxend_LDADD = $(REMOTE_DAEMON_LD_ADD)
+
+SYSTEMD_UNIT_FILES += \
+ virtxend.service \
+ virtxend.socket \
+ virtxend-ro.socket \
+ virtxend-admin.socket \
+ $(NULL)
+SYSTEMD_UNIT_FILES_IN += \
+ libxl/virtxend.service.in \
+ $(NULL)
+
+VIRTXEND_UNIT_VARS = \
+ $(COMMON_UNIT_VARS) \
+ -e 's|[@]deps[@]|Conflicts=$(LIBVIRTD_SOCKET_UNIT_FILES)\nConditionPathExists=/proc/xen/capabilities|g' \
+ -e 's|[@]name[@]|Libvirt libxl|g' \
+ -e 's|[@]service[@]|virtxend|g' \
+ -e 's|[@]sockprefix[@]|virtxend|g' \
+ $(NULL)
+
+virtxend.service: libxl/virtxend.service.in $(top_builddir)/config.status
+ $(AM_V_GEN)$(SED) $(VIRTXEND_UNIT_VARS) $< > $@-t && mv $@-t $@
+
+virtxen%.socket: remote/libvirt%.socket.in $(top_builddir)/config.status
+ $(AM_V_GEN)$(SED) $(VIRTXEND_UNIT_VARS) $< > $@-t && mv $@-t $@
+
+libxl/virtxend.conf: remote/libvirtd.conf.in
+ $(AM_V_GEN)$(SED) \
+ -e '/[@]CUT_ENABLE_IP[@]/,/[@]END[@]/d' \
+ -e 's/[@]DAEMON_NAME[@]/virtxend/' \
+ $< > $@
+
+libxl/virtxend.aug: remote/libvirtd.aug.in
+ $(AM_V_GEN)$(SED) \
+ -e '/[@]CUT_ENABLE_IP[@]/,/[@]END[@]/d' \
+ -e 's/[@]DAEMON_NAME[@]/virtxend/' \
+ -e 's/[@]DAEMON_NAME_UC[@]/Virtxend/' \
+ $< > $@
+
+libxl/test_virtxend.aug: remote/test_libvirtd.aug.in \
+ libxl/virtxend.conf $(AUG_GENTEST)
+ $(AM_V_GEN)$(AUG_GENTEST) libxl/virtxend.conf \
+ $(srcdir)/remote/test_libvirtd.aug.in | \
+ $(SED) \
+ -e '/[@]CUT_ENABLE_IP[@]/,/[@]END[@]/d' \
+ -e 's/[@]DAEMON_NAME[@]/virtxend/' \
+ -e 's/[@]DAEMON_NAME_UC[@]/Virtxend/' \
+ > $@ || rm -f $@
+
conf_DATA += libxl/libxl.conf
augeas_DATA += libxl/libvirtd_libxl.aug
augeastest_DATA += libxl/test_libvirtd_libxl.aug
--- /dev/null
+[Unit]
+Description=Virtualization xen daemon
+Conflicts=libvirtd.service
+Requires=virtxend.socket
+Requires=virtxend-ro.socket
+Requires=virtxend-admin.socket
+After=network.target
+After=dbus.service
+After=apparmor.service
+After=local-fs.target
+After=remote-fs.target
+After=xencommons.service
+Conflicts=xendomains.service
+Documentation=man:libvirtd(8)
+Documentation=https://libvirt.org
+ConditionPathExists=/proc/xen/capabilities
+
+[Service]
+Type=notify
+ExecStart=@sbindir@/virtxend --timeout 120
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-failure
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target
+Also=virtxend.socket
+Also=virtxend-ro.socket
+Also=virtxend-admin.socket