meson: src: generate systemd unit files for libvirt daemons

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
This commit is contained in:
Pavel Hrdina 2020-07-27 09:03:25 +02:00
parent 5740e1789e
commit dd4f2c73ad
31 changed files with 216 additions and 402 deletions

View File

@ -35,8 +35,6 @@ tapset_DATA =
endif WITH_DTRACE_PROBES
RPC_PROBE_FILES =
LOGROTATE_FILES_IN =
SYSTEMD_UNIT_FILES =
SYSTEMD_UNIT_FILES_IN =
OPENRC_INIT_FILES =
OPENRC_INIT_FILES_IN =
OPENRC_CONF_FILES =
@ -282,27 +280,6 @@ endif WITH_LIBVIRTD
if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_SYSTEMD
SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
BUILT_SOURCES += $(SYSTEMD_UNIT_FILES)
install-systemd: $(SYSTEMD_UNIT_FILES) install-sysconfig
$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
for f in $(SYSTEMD_UNIT_FILES); \
do \
$(INSTALL_DATA) $$f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ ; \
done
uninstall-systemd: uninstall-sysconfig
rm -f $(SYSTEMD_UNIT_FILES:%=$(DESTDIR)$(SYSTEMD_UNIT_DIR)/%)
rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
INSTALL_DATA_LOCAL += install-systemd
UNINSTALL_LOCAL += uninstall-systemd
endif LIBVIRT_INIT_SCRIPT_SYSTEMD
if LIBVIRT_INIT_SCRIPT_OPENRC
OPENRC_INIT_DIR = $(sysconfdir)/init.d

View File

@ -8,16 +8,6 @@ if WITH_INTERFACE
SYSCONF_FILES += interface/virtinterfaced.sysconf
SYSTEMD_UNIT_FILES += \
virtinterfaced.service \
virtinterfaced.socket \
virtinterfaced-ro.socket \
virtinterfaced-admin.socket \
$(NULL)
SYSTEMD_UNIT_FILES_IN += \
interface/virtinterfaced.service.in \
$(NULL)
OPENRC_INIT_FILES += \
virtinterfaced.init \
$(NULL)
@ -25,23 +15,7 @@ OPENRC_INIT_FILES_IN += \
interface/virtinterfaced.init.in \
$(NULL)
VIRTINTERFACED_UNIT_VARS = \
$(VIRTD_UNIT_VARS) \
-e 's|[@]name[@]|Libvirt interface|g' \
-e 's|[@]service[@]|virtinterfaced|g' \
-e 's|[@]sockprefix[@]|virtinterfaced|g' \
$(NULL)
virtinterfaced.init: interface/virtinterfaced.init.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
virtinterfaced.service: interface/virtinterfaced.service.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTINTERFACED_UNIT_VARS) $< > $@-t && mv $@-t $@
virtinterface%.socket: remote/libvirt%.socket.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTINTERFACED_UNIT_VARS) $< > $@-t && mv $@-t $@
endif WITH_INTERFACE

View File

@ -38,4 +38,13 @@ if conf.has('WITH_INTERFACE')
virt_daemon_confs += {
'name': 'virtinterfaced',
}
virt_daemon_units += {
'service': 'virtinterfaced',
'service_in': files('virtinterfaced.service.in'),
'name': 'Libvirt interface',
'sockprefix': 'virtinterfaced',
'sockets': [ 'main', 'ro', 'admin' ],
'conflicts': true,
}
endif

View File

@ -7,16 +7,6 @@ if WITH_LIBXL
SYSCONF_FILES += libxl/virtxend.sysconf
SYSTEMD_UNIT_FILES += \
virtxend.service \
virtxend.socket \
virtxend-ro.socket \
virtxend-admin.socket \
$(NULL)
SYSTEMD_UNIT_FILES_IN += \
libxl/virtxend.service.in \
$(NULL)
OPENRC_INIT_FILES += \
virtxend.init \
$(NULL)
@ -24,26 +14,9 @@ OPENRC_INIT_FILES_IN += \
libxl/virtxend.init.in \
$(NULL)
LIBXL_UNIT_COND = ConditionPathExists=/proc/xen/capabilities
LIBXL_UNIT_CONFLICT = Conflicts=$(LIBVIRTD_SOCKET_UNIT_FILES)
VIRTXEND_UNIT_VARS = \
$(COMMON_UNIT_VARS) \
-e 's|[@]deps[@]|$(LIBXL_UNIT_CONFLICT)\n$(LIBXL_UNIT_COND)|g' \
-e 's|[@]name[@]|Libvirt libxl|g' \
-e 's|[@]service[@]|virtxend|g' \
-e 's|[@]sockprefix[@]|virtxend|g' \
$(NULL)
virtxend.init: libxl/virtxend.init.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
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 $@
INSTALL_DATA_DIRS += libxl
install-data-libxl:

View File

@ -56,4 +56,14 @@ if conf.has('WITH_LIBXL')
virt_daemon_confs += {
'name': 'virtxend',
}
virt_daemon_units += {
'service': 'virtxend',
'service_in': files('virtxend.service.in'),
'name': 'Libvirt libxl',
'sockprefix': 'virtxend',
'sockets': [ 'main', 'ro', 'admin' ],
'deps': 'ConditionPathExists=/proc/xen/capabilities',
'conflicts': true,
}
endif

View File

@ -3,15 +3,6 @@
RPC_PROBE_FILES += $(srcdir)/locking/lock_protocol.x
SYSCONF_FILES += locking/virtlockd.sysconf
VIRTLOCKD_UNIT_FILES_IN = \
locking/virtlockd.service.in \
locking/virtlockd.socket.in \
locking/virtlockd-admin.socket.in \
$(NULL)
SYSTEMD_UNIT_FILES += $(notdir $(VIRTLOCKD_UNIT_FILES_IN:%.in=%))
SYSTEMD_UNIT_FILES_IN += $(VIRTLOCKD_UNIT_FILES_IN)
OPENRC_INIT_FILES += \
virtlockd.init \
$(NULL)
@ -46,13 +37,3 @@ endif WITH_LIBVIRTD
virtlockd.init: locking/virtlockd.init.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(COMMON_UNIT_VARS) $< > $@-t && mv $@-t $@
virtlockd.service: locking/virtlockd.service.in $(top_builddir)/config.status
$(AM_V_GEN)sed $(COMMON_UNIT_VARS) $< > $@-t && mv $@-t $@
virtlockd.socket: locking/virtlockd.socket.in $(top_builddir)/config.status
$(AM_V_GEN)sed $(COMMON_UNIT_VARS) $< > $@-t && mv $@-t $@
virtlockd-admin.socket: locking/virtlockd-admin.socket.in \
$(top_builddir)/config.status
$(AM_V_GEN)sed $(COMMON_UNIT_VARS) $< > $@-t && mv $@-t $@

View File

@ -134,6 +134,16 @@ if conf.has('WITH_LIBVIRTD')
],
}
virt_daemon_units += {
'service': 'virtlockd',
'service_in': files('virtlockd.service.in'),
'name': '',
'sockprefix': '',
'sockets': [ 'main', 'admin' ],
'socket_in': files('virtlockd.socket.in'),
'socket_admin_in': files('virtlockd-admin.socket.in'),
}
if conf.has('WITH_SANLOCK')
virt_helpers += {
'name': 'libvirt_sanlock_helper',

View File

@ -2,15 +2,6 @@
SYSCONF_FILES += logging/virtlogd.sysconf
VIRTLOGD_UNIT_FILES_IN = \
logging/virtlogd.service.in \
logging/virtlogd.socket.in \
logging/virtlogd-admin.socket.in \
$(NULL)
SYSTEMD_UNIT_FILES += $(notdir $(VIRTLOGD_UNIT_FILES_IN:%.in=%))
SYSTEMD_UNIT_FILES_IN += $(VIRTLOGD_UNIT_FILES_IN)
OPENRC_INIT_FILES += \
virtlogd.init \
$(NULL)
@ -20,13 +11,3 @@ OPENRC_INIT_FILES_IN += \
virtlogd.init: logging/virtlogd.init.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(COMMON_UNIT_VARS) $< > $@-t && mv $@-t $@
virtlogd.service: logging/virtlogd.service.in $(top_builddir)/config.status
$(AM_V_GEN)sed $(COMMON_UNIT_VARS) $< > $@-t && mv $@-t $@
virtlogd.socket: logging/virtlogd.socket.in $(top_builddir)/config.status
$(AM_V_GEN)sed $(COMMON_UNIT_VARS) $< > $@-t && mv $@-t $@
virtlogd-admin.socket: logging/virtlogd-admin.socket.in \
$(top_builddir)/config.status
$(AM_V_GEN)sed $(COMMON_UNIT_VARS) $< > $@-t && mv $@-t $@

View File

@ -78,6 +78,16 @@ if conf.has('WITH_LIBVIRTD')
'aug': files('test_virtlogd.aug.in'),
'conf': files('virtlogd.conf'),
}
virt_daemon_units += {
'service': 'virtlogd',
'service_in': files('virtlogd.service.in'),
'name': '',
'sockprefix': '',
'sockets': [ 'main', 'admin' ],
'socket_in': files('virtlogd.socket.in'),
'socket_admin_in': files('virtlogd-admin.socket.in'),
}
endif
log_inc_dir = include_directories('.')

View File

@ -13,16 +13,6 @@ if WITH_LXC
SYSCONF_FILES += lxc/virtlxcd.sysconf
SYSTEMD_UNIT_FILES += \
virtlxcd.service \
virtlxcd.socket \
virtlxcd-ro.socket \
virtlxcd-admin.socket \
$(NULL)
SYSTEMD_UNIT_FILES_IN += \
lxc/virtlxcd.service.in \
$(NULL)
OPENRC_INIT_FILES += \
virtlxcd.init \
$(NULL)
@ -30,22 +20,9 @@ OPENRC_INIT_FILES_IN += \
lxc/virtlxcd.init.in \
$(NULL)
VIRTLXCD_UNIT_VARS = \
$(VIRTD_UNIT_VARS) \
-e 's|[@]name[@]|Libvirt lxc|g' \
-e 's|[@]service[@]|virtlxcd|g' \
-e 's|[@]sockprefix[@]|virtlxcd|g' \
$(NULL)
virtlxcd.init: lxc/virtlxcd.init.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
virtlxcd.service: lxc/virtlxcd.service.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTLXCD_UNIT_VARS) $< > $@-t && mv $@-t $@
virtlxc%.socket: remote/libvirt%.socket.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTLXCD_UNIT_VARS) $< > $@-t && mv $@-t $@
if WITH_DTRACE_PROBES
RPC_PROBE_FILES += $(srcdir)/lxc/lxc_monitor_protocol.x
endif

View File

@ -140,4 +140,13 @@ if conf.has('WITH_LXC')
virt_daemon_confs += {
'name': 'virtlxcd',
}
virt_daemon_units += {
'service': 'virtlxcd',
'service_in': files('virtlxcd.service.in'),
'name': 'Libvirt lxc',
'sockprefix': 'virtlxcd',
'sockets': [ 'main', 'ro', 'admin' ],
'conflicts': true,
}
endif

View File

@ -183,6 +183,22 @@ virt_daemon_confs = []
virt_aug_dir = datadir / 'augeas' / 'lenses'
virt_test_aug_dir = datadir / 'augeas' / 'lenses' / 'tests'
# guest_unit_files:
# guest unit files to install
guest_unit_files = []
# virt_daemon_units:
# generate libvirt daemon systemd unit files
# * service - name of the service (required)
# * service_in - service source file (required)
# * name - socket description (required)
# * sockprefix - socket prefix name (required)
# * sockets - array of additional sockets (optional, default [ 'main', 'ro', 'admin' ])
# * socket_$name_in - additional socket source files (optional, default remote/libvirtd.socket.in )
# * deps - socket dependencies (optional, default '')
# * conflicts - if the service conflicts with libvirtd (optional, true)
virt_daemon_units = []
# list subdirectories
@ -678,3 +694,54 @@ foreach data : virt_daemon_confs
install_dir: virt_test_aug_dir,
)
endforeach
if conf.has('WITH_LIBVIRTD')
# Generate systemd service and socket unit files
if init_script == 'systemd'
systemd_unit_dir = prefix / 'lib' / 'systemd' / 'system'
install_data(
guest_unit_files,
install_dir: systemd_unit_dir,
)
foreach unit : virt_daemon_units
unit_conf = configuration_data()
unit_conf.set('runstatedir', runstatedir)
unit_conf.set('sbindir', sbindir)
unit_conf.set('sysconfdir', sysconfdir)
unit_conf.set('name', unit['name'])
unit_conf.set('service', unit['service'])
unit_conf.set('sockprefix', unit['sockprefix'])
unit_conf.set('deps', unit.get('deps', ''))
configure_file(
input: unit['service_in'],
output: '@0@.service'.format(unit['service']),
configuration: unit_conf,
install: true,
install_dir: systemd_unit_dir,
)
foreach socket : unit.get('sockets', [ 'main', 'ro', 'admin' ])
if socket == 'main'
socket_in_def = 'remote' / 'libvirtd.socket.in'
socket_in = unit.get('socket_in', socket_in_def)
socket_out = '@0@.socket'.format(unit['service'])
else
socket_in_def = 'remote' / 'libvirtd-@0@.socket.in'.format(socket)
socket_in = unit.get('socket_@0@_in'.format(socket), socket_in_def)
socket_out = '@0@-@1@.socket'.format(unit['service'], socket)
endif
configure_file(
input: socket_in,
output: socket_out,
configuration: unit_conf,
install: true,
install_dir: systemd_unit_dir,
)
endforeach
endforeach
endif
endif

View File

@ -7,16 +7,6 @@ STATEFUL_DRIVER_SOURCE_FILES += \
if WITH_NETWORK
SYSCONF_FILES += network/virtnetworkd.sysconf
SYSTEMD_UNIT_FILES += \
virtnetworkd.service \
virtnetworkd.socket \
virtnetworkd-ro.socket \
virtnetworkd-admin.socket \
$(NULL)
SYSTEMD_UNIT_FILES_IN += \
network/virtnetworkd.service.in \
$(NULL)
OPENRC_INIT_FILES += \
virtnetworkd.init \
$(NULL)
@ -24,24 +14,9 @@ OPENRC_INIT_FILES_IN += \
network/virtnetworkd.init.in \
$(NULL)
VIRTNETWORKD_UNIT_VARS = \
$(VIRTD_UNIT_VARS) \
-e 's|[@]name[@]|Libvirt network|g' \
-e 's|[@]service[@]|virtnetworkd|g' \
-e 's|[@]sockprefix[@]|virtnetworkd|g' \
$(NULL)
virtnetworkd.init: network/virtnetworkd.init.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
virtnetworkd.service: network/virtnetworkd.service.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTNETWORKD_UNIT_VARS) $< > $@-t && mv $@-t $@
virtnetwork%.socket: remote/libvirt%.socket.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTNETWORKD_UNIT_VARS) $< > $@-t && mv $@-t $@
INSTALL_DATA_DIRS += network
UUID=$(shell uuidgen 2>/dev/null)

View File

@ -57,4 +57,13 @@ if conf.has('WITH_NETWORK')
dtrace_gen_objects,
],
}
virt_daemon_units += {
'service': 'virtnetworkd',
'service_in': files('virtnetworkd.service.in'),
'name': 'Libvirt network',
'sockprefix': 'virtnetworkd',
'sockets': [ 'main', 'ro', 'admin' ],
'conflicts': true,
}
endif

View File

@ -14,16 +14,6 @@ STATEFUL_DRIVER_SOURCE_FILES += \
if WITH_NODE_DEVICES
SYSCONF_FILES += node_device/virtnodedevd.sysconf
SYSTEMD_UNIT_FILES += \
virtnodedevd.service \
virtnodedevd.socket \
virtnodedevd-ro.socket \
virtnodedevd-admin.socket \
$(NULL)
SYSTEMD_UNIT_FILES_IN += \
node_device/virtnodedevd.service.in \
$(NULL)
OPENRC_INIT_FILES += \
virtnodedevd.init \
$(NULL)
@ -31,22 +21,7 @@ OPENRC_INIT_FILES_IN += \
node_device/virtnodedevd.init.in \
$(NULL)
VIRTNODEDEVD_UNIT_VARS = \
$(VIRTD_UNIT_VARS) \
-e 's|[@]name[@]|Libvirt nodedev|g' \
-e 's|[@]service[@]|virtnodedevd|g' \
-e 's|[@]sockprefix[@]|virtnodedevd|g' \
$(NULL)
virtnodedevd.init: node_device/virtnodedevd.init.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
virtnodedevd.service: node_device/virtnodedevd.service.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTNODEDEVD_UNIT_VARS) $< > $@-t && mv $@-t $@
virtnodedev%.socket: remote/libvirt%.socket.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTNODEDEVD_UNIT_VARS) $< > $@-t && mv $@-t $@
endif WITH_NODE_DEVICES

View File

@ -50,4 +50,13 @@ if conf.has('WITH_NODE_DEVICES')
virt_daemon_confs += {
'name': 'virtnodedevd',
}
virt_daemon_units += {
'service': 'virtnodedevd',
'service_in': files('virtnodedevd.service.in'),
'name': 'Libvirt nodedev',
'sockprefix': 'virtnodedevd',
'sockets': [ 'main', 'ro', 'admin' ],
'conflicts': true,
}
endif

View File

@ -13,16 +13,6 @@ nwfilterxml_DATA = $(NWFILTER_XML_FILES)
SYSCONF_FILES += nwfilter/virtnwfilterd.sysconf
SYSTEMD_UNIT_FILES += \
virtnwfilterd.service \
virtnwfilterd.socket \
virtnwfilterd-ro.socket \
virtnwfilterd-admin.socket \
$(NULL)
SYSTEMD_UNIT_FILES_IN += \
nwfilter/virtnwfilterd.service.in \
$(NULL)
OPENRC_INIT_FILES += \
virtnwfilterd.init \
$(NULL)
@ -30,22 +20,7 @@ OPENRC_INIT_FILES_IN += \
nwfilter/virtnwfilterd.init.in \
$(NULL)
VIRTNWFILTERD_UNIT_VARS = \
$(VIRTD_UNIT_VARS) \
-e 's|[@]name[@]|Libvirt nwfilter|g' \
-e 's|[@]service[@]|virtnwfilterd|g' \
-e 's|[@]sockprefix[@]|virtnwfilterd|g' \
$(NULL)
virtnwfilterd.init: nwfilter/virtnwfilterd.init.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
virtnwfilterd.service: nwfilter/virtnwfilterd.service.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTNWFILTERD_UNIT_VARS) $< > $@-t && mv $@-t $@
virtnwfilter%.socket: remote/libvirt%.socket.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTNWFILTERD_UNIT_VARS) $< > $@-t && mv $@-t $@
endif WITH_NWFILTER

View File

@ -45,4 +45,13 @@ if conf.has('WITH_NWFILTER')
virt_daemon_confs += {
'name': 'virtnwfilterd',
}
virt_daemon_units += {
'service': 'virtnwfilterd',
'service_in': files('virtnwfilterd.service.in'),
'name': 'Libvirt nwfilter',
'sockprefix': 'virtnwfilterd',
'sockets': [ 'main', 'ro', 'admin' ],
'conflicts': true,
}
endif

View File

@ -6,16 +6,6 @@ STATEFUL_DRIVER_SOURCE_FILES += $(addprefix $(srcdir)/,$(QEMU_DRIVER_SOURCES))
if WITH_QEMU
SYSCONF_FILES += qemu/virtqemud.sysconf
SYSTEMD_UNIT_FILES += \
virtqemud.service \
virtqemud.socket \
virtqemud-ro.socket \
virtqemud-admin.socket \
$(NULL)
SYSTEMD_UNIT_FILES_IN += \
qemu/virtqemud.service.in \
$(NULL)
OPENRC_INIT_FILES += \
virtqemud.init \
$(NULL)
@ -23,22 +13,9 @@ OPENRC_INIT_FILES_IN += \
qemu/virtqemud.init.in \
$(NULL)
VIRTQEMUD_UNIT_VARS = \
$(VIRTD_UNIT_VARS) \
-e 's|[@]name[@]|Libvirt qemu|g' \
-e 's|[@]service[@]|virtqemud|g' \
-e 's|[@]sockprefix[@]|virtqemud|g' \
$(NULL)
virtqemud.init: qemu/virtqemud.init.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
virtqemud.service: qemu/virtqemud.service.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTQEMUD_UNIT_VARS) $< > $@-t && mv $@-t $@
virtqemu%.socket: remote/libvirt%.socket.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTQEMUD_UNIT_VARS) $< > $@-t && mv $@-t $@
INSTALL_DATA_DIRS += qemu
install-data-qemu:

View File

@ -141,4 +141,13 @@ if conf.has('WITH_QEMU')
virt_daemon_confs += {
'name': 'virtqemud',
}
virt_daemon_units += {
'service': 'virtqemud',
'service_in': files('virtqemud.service.in'),
'name': 'Libvirt qemu',
'sockprefix': 'virtqemud',
'sockets': [ 'main', 'ro', 'admin' ],
'conflicts': true,
}
endif

View File

@ -12,41 +12,6 @@ SYSCONF_FILES += \
remote/virtproxyd.sysconf \
$(NULL)
LIBVIRTD_SOCKET_UNIT_FILES_IN = \
remote/libvirtd.socket.in \
remote/libvirtd-ro.socket.in \
remote/libvirtd-admin.socket.in \
remote/libvirtd-tcp.socket.in \
remote/libvirtd-tls.socket.in \
$(NULL)
LIBVIRTD_SOCKET_UNIT_FILES = $(notdir $(LIBVIRTD_SOCKET_UNIT_FILES_IN:%.in=%))
LIBVIRTD_UNIT_FILES_IN = \
remote/libvirtd.service.in \
$(LIBVIRTD_SOCKET_UNIT_FILES_IN) \
$(NULL)
VIRTPROXYD_UNIT_FILES_IN = \
remote/virtproxyd.service.in \
$(NULL)
GUEST_UNIT_FILES_IN = \
remote/virt-guest-shutdown.target.in \
$(NULL)
SYSTEMD_UNIT_FILES += \
$(notdir $(LIBVIRTD_UNIT_FILES_IN:%.in=%)) \
$(notdir $(LIBVIRTD_UNIT_FILES_IN:remote/libvirtd%.in=remote/virtproxyd%)) \
$(notdir $(GUEST_UNIT_FILES_IN:%.in=%)) \
$(NULL)
SYSTEMD_UNIT_FILES_IN += \
$(LIBVIRTD_UNIT_FILES_IN) \
$(VIRTPROXYD_UNIT_FILES_IN) \
$(GUEST_UNIT_FILES_IN) \
$(NULL)
OPENRC_INIT_FILES += \
libvirtd.init \
virtproxyd.init \
@ -136,14 +101,6 @@ INSTALL_DATA_LOCAL += install-sasl
UNINSTALL_LOCAL += uninstall-sasl
endif WITH_SASL
LIBVIRTD_UNIT_VARS = \
$(COMMON_UNIT_VARS) \
-e 's|[@]name[@]|Libvirt|g' \
-e 's|[@]service[@]|libvirtd|g' \
-e 's|[@]sockprefix[@]|libvirt|g' \
-e 's|[@]deps[@]||g' \
$(NULL)
LIBVIRTD_INIT_VARS = \
$(COMMON_UNIT_VARS)
@ -155,36 +112,8 @@ LIBVIRTD_INIT_VARS += \
-e 's|[@]NEED_FIREWALLD[@]||g'
endif ! WITH_FIREWALLD
VIRTD_UNIT_VARS = \
$(COMMON_UNIT_VARS) \
-e 's|[@]deps[@]|Conflicts=$(LIBVIRTD_SOCKET_UNIT_FILES)|g' \
$(NULL)
VIRTPROXYD_UNIT_VARS = \
$(VIRTD_UNIT_VARS) \
-e 's|[@]name[@]|Libvirt proxy|g' \
-e 's|[@]service[@]|virtproxyd|g' \
-e 's|[@]sockprefix[@]|libvirt|g' \
$(NULL)
libvirtd.init: remote/libvirtd.init.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
virtproxyd.init: remote/virtproxyd.init.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
libvirtd.service: remote/libvirtd.service.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_UNIT_VARS) $< > $@-t && mv $@-t $@
libvirt%.socket: remote/libvirt%.socket.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_UNIT_VARS) $< > $@-t && mv $@-t $@
virtproxyd.service: remote/virtproxyd.service.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTPROXYD_UNIT_VARS) $< > $@-t && mv $@-t $@
virtproxy%.socket: remote/libvirt%.socket.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTPROXYD_UNIT_VARS) $< > $@-t && mv $@-t $@
virt-guest-shutdown.target: remote/virt-guest-shutdown.target.in \
$(top_builddir)/config.status
$(AM_V_GEN)cp $< $@

View File

@ -108,6 +108,16 @@ foreach name : libvirt_conf_files
set_variable(name['virtd'].underscorify(), tmp)
endforeach
libvirtd_socket_unit_files = [
'libvirtd.socket',
'libvirtd-ro.socket',
'libvirtd-admin.socket',
'libvirtd-tcp.socket',
'libvirtd-tls.socket',
]
libvirtd_socket_conflicts = ' '.join(libvirtd_socket_unit_files)
if conf.has('WITH_REMOTE')
remote_driver_lib = static_library(
'virt_remote_driver',
@ -129,6 +139,8 @@ if conf.has('WITH_REMOTE')
libvirt_libs += remote_driver_lib
if conf.has('WITH_LIBVIRTD')
guest_unit_files += files('virt-guest-shutdown.target')
virt_daemons += {
'name': 'libvirtd',
'c_args': [
@ -144,6 +156,14 @@ if conf.has('WITH_REMOTE')
'with_ip': true,
}
virt_daemon_units += {
'service': 'libvirtd',
'service_in': files('libvirtd.service.in'),
'name': 'Libvirt',
'sockprefix': 'libvirtd',
'sockets': [ 'main', 'ro', 'admin', 'tcp', 'tls' ],
}
virt_daemons += {
'name': 'virtproxyd',
'c_args': [
@ -158,6 +178,15 @@ if conf.has('WITH_REMOTE')
'name': 'virtproxyd',
'with_ip': true,
}
virt_daemon_units += {
'service': 'virtproxyd',
'service_in': files('virtproxyd.service.in'),
'name': 'Libvirt proxy',
'sockprefix': 'libvirtd',
'sockets': [ 'main', 'ro', 'admin', 'tcp', 'tls' ],
'deps': libvirtd_socket_conflicts,
}
endif
endif

View File

@ -7,16 +7,6 @@ STATEFUL_DRIVER_SOURCE_FILES += \
if WITH_SECRETS
SYSCONF_FILES += secret/virtsecretd.sysconf
SYSTEMD_UNIT_FILES += \
virtsecretd.service \
virtsecretd.socket \
virtsecretd-ro.socket \
virtsecretd-admin.socket \
$(NULL)
SYSTEMD_UNIT_FILES_IN += \
secret/virtsecretd.service.in \
$(NULL)
OPENRC_INIT_FILES += \
virtsecretd.init \
$(NULL)
@ -24,22 +14,7 @@ OPENRC_INIT_FILES_IN += \
secret/virtsecretd.init.in \
$(NULL)
VIRTSECRETD_UNIT_VARS = \
$(VIRTD_UNIT_VARS) \
-e 's|[@]name[@]|Libvirt secret|g' \
-e 's|[@]service[@]|virtsecretd|g' \
-e 's|[@]sockprefix[@]|virtsecretd|g' \
$(NULL)
virtsecretd.init: secret/virtsecretd.init.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
virtsecretd.service: secret/virtsecretd.service.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTSECRETD_UNIT_VARS) $< > $@-t && mv $@-t $@
virtsecret%.socket: remote/libvirt%.socket.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTSECRETD_UNIT_VARS) $< > $@-t && mv $@-t $@
endif WITH_SECRETS

View File

@ -27,4 +27,13 @@ if conf.has('WITH_SECRETS')
virt_daemon_confs += {
'name': 'virtsecretd',
}
virt_daemon_units += {
'service': 'virtsecretd',
'service_in': files('virtsecretd.service.in'),
'name': 'Libvirt secret',
'sockprefix': 'virtsecretd',
'sockets': [ 'main', 'ro', 'admin' ],
'conflicts': true,
}
endif

View File

@ -7,16 +7,6 @@ STATEFUL_DRIVER_SOURCE_FILES += \
if WITH_STORAGE
SYSCONF_FILES += storage/virtstoraged.sysconf
SYSTEMD_UNIT_FILES += \
virtstoraged.service \
virtstoraged.socket \
virtstoraged-ro.socket \
virtstoraged-admin.socket \
$(NULL)
SYSTEMD_UNIT_FILES_IN += \
storage/virtstoraged.service.in \
$(NULL)
OPENRC_INIT_FILES += \
virtstoraged.init \
$(NULL)
@ -24,22 +14,7 @@ OPENRC_INIT_FILES_IN += \
storage/virtstoraged.init.in \
$(NULL)
VIRTSTORAGED_UNIT_VARS = \
$(VIRTD_UNIT_VARS) \
-e 's|[@]name[@]|Libvirt storage|g' \
-e 's|[@]service[@]|virtstoraged|g' \
-e 's|[@]sockprefix[@]|virtstoraged|g' \
$(NULL)
virtstoraged.init: storage/virtstoraged.init.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
virtstoraged.service: storage/virtstoraged.service.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTSTORAGED_UNIT_VARS) $< > $@-t && mv $@-t $@
virtstorage%.socket: remote/libvirt%.socket.in \
$(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTSTORAGED_UNIT_VARS) $< > $@-t && mv $@-t $@
endif WITH_STORAGE

View File

@ -125,6 +125,15 @@ if conf.has('WITH_STORAGE')
virt_daemon_confs += {
'name': 'virtstoraged',
}
virt_daemon_units += {
'service': 'virtstoraged',
'service_in': files('virtstoraged.service.in'),
'name': 'Libvirt storage',
'sockprefix': 'virtstoraged',
'sockets': [ 'main', 'ro', 'admin' ],
'conflicts': true,
}
endif
if conf.has('WITH_STORAGE_DISK')

View File

@ -8,16 +8,6 @@ DRIVER_SOURCE_FILES += \
if WITH_VBOX
SYSCONF_FILES += vbox/virtvboxd.sysconf
SYSTEMD_UNIT_FILES += \
virtvboxd.service \
virtvboxd.socket \
virtvboxd-ro.socket \
virtvboxd-admin.socket \
$(NULL)
SYSTEMD_UNIT_FILES_IN += \
vbox/virtvboxd.service.in \
$(NULL)
OPENRC_INIT_FILES += \
virtvboxd.init \
$(NULL)
@ -25,20 +15,7 @@ OPENRC_INIT_FILES_IN += \
vbox/virtvboxd.init.in \
$(NULL)
VIRTVBOXD_UNIT_VARS = \
$(VIRTD_UNIT_VARS) \
-e 's|[@]name[@]|Libvirt vbox|g' \
-e 's|[@]service[@]|virtvboxd|g' \
-e 's|[@]sockprefix[@]|virtvboxd|g' \
$(NULL)
virtvboxd.init: vbox/virtvboxd.init.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
virtvboxd.service: vbox/virtvboxd.service.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTVBOXD_UNIT_VARS) $< > $@-t && mv $@-t $@
virtvbox%.socket: remote/libvirt%.socket.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTVBOXD_UNIT_VARS) $< > $@-t && mv $@-t $@
endif WITH_VBOX

View File

@ -50,4 +50,13 @@ if conf.has('WITH_VBOX')
virt_daemon_confs += {
'name': 'virtvboxd',
}
virt_daemon_units += {
'service': 'virtvboxd',
'service_in': files('virtvboxd.service.in'),
'name': 'Libvirt vbox',
'sockprefix': 'virtvboxd',
'sockets': [ 'main', 'ro', 'admin' ],
'conflicts': true,
}
endif

View File

@ -7,16 +7,6 @@ STATEFUL_DRIVER_SOURCE_FILES += $(addprefix $(srcdir)/,$(VZ_DRIVER_SOURCES))
if WITH_VZ
SYSCONF_FILES += vz/virtvzd.sysconf
SYSTEMD_UNIT_FILES += \
virtvzd.service \
virtvzd.socket \
virtvzd-ro.socket \
virtvzd-admin.socket \
$(NULL)
SYSTEMD_UNIT_FILES_IN += \
vz/virtvzd.service.in \
$(NULL)
OPENRC_INIT_FILES += \
virtvzd.init \
$(NULL)
@ -24,20 +14,7 @@ OPENRC_INIT_FILES_IN += \
vz/virtvzd.init.in \
$(NULL)
VIRTVZD_UNIT_VARS = \
$(VIRTD_UNIT_VARS) \
-e 's|[@]name[@]|Libvirt vz|g' \
-e 's|[@]service[@]|virtvzd|g' \
-e 's|[@]sockprefix[@]|virtvzd|g' \
$(NULL)
virtvzd.init: vz/virtvzd.init.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(LIBVIRTD_INIT_VARS) $< > $@-t && mv $@-t $@
virtvzd.service: vz/virtvzd.service.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTVZD_UNIT_VARS) $< > $@-t && mv $@-t $@
virtvz%.socket: remote/libvirt%.socket.in $(top_builddir)/config.status
$(AM_V_GEN)$(SED) $(VIRTVZD_UNIT_VARS) $< > $@-t && mv $@-t $@
endif WITH_VZ

View File

@ -42,4 +42,13 @@ if conf.has('WITH_VZ')
virt_daemon_confs += {
'name': 'virtvzd',
}
virt_daemon_units += {
'service': 'virtvzd',
'service_in': files('virtvzd.service.in'),
'name': 'Libvirt vz',
'sockprefix': 'virtvzd',
'sockets': [ 'main', 'ro', 'admin' ],
'conflicts': true,
}
endif