From nobody Sun Feb 8 12:19:32 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594894684; cv=none; d=zohomail.com; s=zohoarc; b=U72Zw3u19c9MsA7nAPXe1WUSsKBdaWYEtrrTP2CkLqnUKF61ErJOj1/Lf/6I0p1NnrUaY6OYFQKaEagVx0n/OJn7ZR048or1acUtnAXwfb5CBTqt73o8l9lIenR3J8qXCWrPYNBQY2bwBoN0qIfrVgyB/EZPZoAWVzA+BnbsPtk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594894684; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ligvcP2AJWw9XlvP9ACwUk2nCoPLPgQpuuxIbytrfTI=; b=hqMc9pU7Q39z9Q3TAkLkls05IZkZx/bKeLajvXj+GeONAG9n8jD7RRQpO3kaK7b3Qyp99BTxrbbOZiJyz29sC+Zgk88cf7WJ/cTzgJ2JU31bmcza60BDJnye006x2BeSAXKNch7S5tnTi4u5PhkEai++379228mHFU0Y9QLmvY4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 159489468423241.189944068792215; Thu, 16 Jul 2020 03:18:04 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-255-p9WHFHRIMYewRKB9XZ0bSQ-1; Thu, 16 Jul 2020 06:13:21 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1CDD5100AA23; Thu, 16 Jul 2020 10:13:16 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F200372ACF; Thu, 16 Jul 2020 10:13:15 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id C30551804773; Thu, 16 Jul 2020 10:13:15 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 06GA5eaG018608 for ; Thu, 16 Jul 2020 06:05:40 -0400 Received: by smtp.corp.redhat.com (Postfix) id D45EB2B6DC; Thu, 16 Jul 2020 10:05:40 +0000 (UTC) Received: from antique-work.redhat.com (unknown [10.40.194.85]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4F3B62B6E6 for ; Thu, 16 Jul 2020 10:05:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594894683; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=ligvcP2AJWw9XlvP9ACwUk2nCoPLPgQpuuxIbytrfTI=; b=MOSYd3YvwRI+M3GB2elh15URFwA0fqtvDiw58ypxjUJmjAil+ia6bb3xm84qtvbe6O4L0Y FxOxYCwxW1mpedFIwMo+YvbNJeEfCpQ80xHH1rbqwuD+6oP4iLd87BgIpyxdFT5qPgJEbA cNlDOhbaLaxQyh/eMrfRtRBy72U0fe4= X-MC-Unique: p9WHFHRIMYewRKB9XZ0bSQ-1 From: Pavel Hrdina To: libvir-list@redhat.com Subject: [libvirt PATCH 222/351] meson: src: add support for installing libvirt conf and augeas files Date: Thu, 16 Jul 2020 11:57:38 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Pavel Hrdina --- src/Makefile.am | 5 -- src/meson.build | 103 +++++++++++++++++++++++++++++++++++++++++ src/remote/meson.build | 26 +++++++++++ 3 files changed, 129 insertions(+), 5 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 99bb71e6a03..471ebae2b79 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -69,13 +69,8 @@ include storage/Makefile.inc.am include remote/Makefile.inc.am =20 =20 -confdir =3D $(sysconfdir)/libvirt conf_DATA +=3D libvirt.conf =20 -augeasdir =3D $(datadir)/augeas/lenses - -augeastestdir =3D $(datadir)/augeas/lenses/tests - # .libs/libvirt.so is built by libtool as a side-effect of the Makefile # rule for libvirt.la. However, checking symbols relies on Linux ELF layo= ut if WITH_LINUX diff --git a/src/meson.build b/src/meson.build index bb970f10c61..3a44cd9d663 100644 --- a/src/meson.build +++ b/src/meson.build @@ -149,6 +149,32 @@ virt_daemons =3D [] # * install_dir - installation directory (optional, libexecdir) virt_helpers =3D [] =20 +# virt_conf_files: +# libvirt conf files +virt_conf_files =3D [] + +# virt_aug_files: +# libvirt aug files +virt_aug_files =3D [] + +# virt_test_aug_files: +# generate libvirt augeas test files +# * name - augeas test file name (required) +# * aug - augeas test file source (required) +# * conf - conf file (required) +virt_test_aug_files =3D [] + +# virt_daemon_confs: +# generation libvirt daemon conf files +# each entry is a dictionary with following items: +# * name - daemon name (required) +# * name_uc - daemon name with first letter uppercase (required) +# * with_ip - only for libvirtd and virtproxyd (optional, default false) +virt_daemon_confs =3D [] + +virt_aug_dir =3D datadir / 'augeas' / 'lenses' +virt_test_aug_dir =3D datadir / 'augeas' / 'lenses' / 'tests' + =20 # list subdirectories =20 @@ -547,3 +573,80 @@ foreach helper : virt_helpers install_rpath: libdir, ) endforeach + + +# Generate daemon config, augeas and augeas test files + +install_data(virt_conf_files, install_dir: confdir) +install_data(virt_aug_files, install_dir: virt_aug_dir) + +foreach data : virt_test_aug_files + custom_target( + data['name'], + input: [ data['conf'], data['aug'] ], + output: data['name'], + command: [ meson_python_prog, augeas_gentest_prog, '@INPUT@' ], + capture: true, + install: true, + install_dir: virt_test_aug_dir, + ) +endforeach + +foreach data : virt_daemon_confs + daemon_conf =3D configuration_data() + daemon_conf.set('runstatedir', runstatedir) + daemon_conf.set('sbindir', sbindir) + daemon_conf.set('sysconfdir', sysconfdir) + daemon_conf.set('DAEMON_NAME', data['name']) + daemon_conf.set('DAEMON_NAME_UC', data['name_uc']) + # to silence meson warning about missing 'CONFIG' in the configuration_d= ata + daemon_conf.set('CONFIG', '@CONFIG@') + + if data.get('with_ip', false) + conf_in =3D libvirtd_conf_tmp + else + conf_in =3D virtd_conf_tmp + endif + conf_out =3D configure_file( + input: conf_in, + output: '@0@.conf'.format(data['name']), + configuration: daemon_conf, + install: true, + install_dir: confdir, + ) + + if data.get('with_ip', false) + aug_in =3D libvirtd_aug_tmp + else + aug_in =3D virtd_aug_tmp + endif + configure_file( + input: aug_in, + output: '@0@.aug'.format(data['name']), + configuration: daemon_conf, + install: true, + install_dir: virt_aug_dir, + ) + + if data.get('with_ip', false) + test_aug_in =3D test_libvirtd_aug_tmp + else + test_aug_in =3D test_virtd_aug_tmp + endif + test_aug_tmp =3D configure_file( + input: test_aug_in, + output: 'test_@0@.aug.tmp'.format(data['name']), + configuration: daemon_conf, + ) + + test_aug_out =3D 'test_@0@.aug'.format(data['name']) + custom_target( + test_aug_out, + input: [ conf_out, test_aug_tmp ], + output: test_aug_out, + command: [ meson_python_prog, augeas_gentest_prog, '@INPUT@' ], + capture: true, + install: true, + install_dir: virt_test_aug_dir, + ) +endforeach diff --git a/src/remote/meson.build b/src/remote/meson.build index ee38364868e..6635bcd4cff 100644 --- a/src/remote/meson.build +++ b/src/remote/meson.build @@ -63,6 +63,32 @@ foreach name : [ 'remote', 'qemu', 'lxc' ] ) endforeach =20 +libvirt_conf_files =3D [ + [ 'libvirtd.conf.in', 'libvirtd.conf.tmp', 'virtd.conf.tmp' ], + [ 'libvirtd.aug.in', 'libvirtd.aug.tmp', 'virtd.aug.tmp' ], + [ 'test_libvirtd.aug.in', 'test_libvirtd.aug.tmp', 'test_virtd.aug.tmp' = ], +] + +foreach name : libvirt_conf_files + tmp =3D configure_file( + input: name[0], + output: name[1], + command: [ 'sed', '-e', '/[@]CUT_ENABLE_IP[@]/d', '-e', '/[@]END[@]/d'= , '@INPUT@' ], + capture: true, + ) + set_variable(name[1].underscorify(), tmp) +endforeach + +foreach name : libvirt_conf_files + tmp =3D configure_file( + input: name[0], + output: name[2], + command: [ 'sed', '-e', '/[@]CUT_ENABLE_IP[@]/,/[@]END[@]/d', '@INPUT@= ' ], + capture: true, + ) + set_variable(name[2].underscorify(), tmp) +endforeach + if conf.has('WITH_REMOTE') remote_driver_lib =3D static_library( 'virt_remote_driver', --=20 2.26.2