--- /dev/null
+#!/usr/bin/env python3
+
+import os
+import sys
+
+destdir = os.environ.get('DESTDIR', os.sep)
+dirname = sys.argv[1]
+target = sys.argv[2]
+link = sys.argv[3]
+
+workdir = os.path.join(destdir, dirname.strip(os.sep))
+
+os.makedirs(workdir, exist_ok=True)
+os.chdir(workdir)
+os.symlink(target, link)
'meson-gen-def.py',
'meson-gen-sym.py',
'meson-install-dirs.py',
+ 'meson-install-symlink.py',
'meson-python.sh',
'mock-noinline.py',
'prohibit-duplicate-header.py',
if WITH_NETWORK
INSTALL_DATA_DIRS += network
-UUID=$(shell uuidgen 2>/dev/null)
-
install-data-network:
- $(MKDIR_P) "$(DESTDIR)$(confdir)/qemu/networks/autostart"
- $(INSTALL_DATA) $(srcdir)/network/default.xml \
- $(DESTDIR)$(confdir)/qemu/networks/default.xml
- test -z "$(UUID)" || \
- { sed -e "s,</name>,</name>; <uuid>$(UUID)</uuid>," \
- $(DESTDIR)$(confdir)/qemu/networks/default.xml | \
- tr ";" "\n" > \
- $(DESTDIR)$(confdir)/qemu/networks/default.xml.t && \
- cp $(DESTDIR)$(confdir)/qemu/networks/default.xml.t \
- $(DESTDIR)$(confdir)/qemu/networks/default.xml && \
- rm $(DESTDIR)$(confdir)/qemu/networks/default.xml.t; }
- ( cd $(DESTDIR)$(confdir)/qemu/networks/autostart && \
- rm -f default.xml && \
- $(LN_S) ../default.xml default.xml )
if WITH_FIREWALLD_ZONE
$(MKDIR_P) "$(DESTDIR)$(prefix)/lib/firewalld/zones"
$(INSTALL_DATA) $(srcdir)/network/libvirt.zone \
endif WITH_FIREWALLD_ZONE
uninstall-data-network:
- rm -f $(DESTDIR)$(confdir)/qemu/networks/autostart/default.xml
- rm -f $(DESTDIR)$(confdir)/qemu/networks/default.xml
- rmdir "$(DESTDIR)$(confdir)/qemu/networks/autostart" || :
- rmdir "$(DESTDIR)$(confdir)/qemu/networks" || :
if WITH_FIREWALLD_ZONE
rm -f $(DESTDIR)$(prefix)/lib/firewalld/zones/libvirt.xml
endif WITH_FIREWALLD_ZONE
localstatedir / 'lib' / 'libvirt' / 'dnsmasq',
runstatedir / 'libvirt' / 'network',
]
+
+ uuidgen_prog = find_program('uuidgen', required: false)
+
+ if uuidgen_prog.found()
+ uuid = run_command(uuidgen_prog).stdout().strip()
+
+ configure_file(
+ input: 'default.xml.in',
+ output: 'default.xml',
+ command: [
+ 'sed', '-e', 's|</name>|</name>\\n <uuid>@0@</uuid>|'.format(uuid),
+ '@INPUT@',
+ ],
+ capture: true,
+ install: true,
+ install_dir: confdir / 'qemu' / 'networks',
+ )
+ else
+ configure_file(
+ input: 'default.xml.in',
+ output: 'default.xml',
+ copy: true,
+ install: true,
+ install_dir: confdir / 'qemu' / 'networks',
+ )
+ endif
+
+ meson.add_install_script(
+ meson_python_prog.path(), python3_prog.path(), meson_install_symlink_prog.path(),
+ confdir / 'qemu' / 'networks' / 'autostart',
+ '../default.xml', 'default.xml',
+ )
endif