From nobody Tue Sep 9 23:43:08 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1737468666975970.5702285203153; Tue, 21 Jan 2025 06:11:06 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 5DE5719A8; Tue, 21 Jan 2025 09:11:06 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id E1D1217F4; Tue, 21 Jan 2025 09:10:21 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 576A5171E; Tue, 21 Jan 2025 09:10:19 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 57527171B for ; Tue, 21 Jan 2025 09:10:18 -0500 (EST) Received: from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-171-Kpg0fnkbNOaFT4qs4r7wAA-1; Tue, 21 Jan 2025 09:10:16 -0500 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 002A81977030 for ; Tue, 21 Jan 2025 14:10:16 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.224.121]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 3C32819560A7 for ; Tue, 21 Jan 2025 14:10:14 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1737468618; h=from:from: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; bh=pCMuDBZt+CbQDqgI96t/SKSMB88KXM4MgyKMS5S48Xs=; b=DqyucROyBijcntWGIRaaqcVFxc3jpGlYQstyNIDIqFLkscyXJXfIbiC+6pH7J0r9vzG2ED eQw2ycLNDH0JMdd580qB4hb3/dIhgnyQHnhynND1+2dedgknqlUQew0IzDqltZ5jpZaCnt WYCiWC/zS8YZDvrMx++bztG6xbg1/io= X-MC-Unique: Kpg0fnkbNOaFT4qs4r7wAA-1 X-Mimecast-MFC-AGG-ID: Kpg0fnkbNOaFT4qs4r7wAA From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [PATCH 1/3] meson: Unify handling of directories used for loadable modules Date: Tue, 21 Jan 2025 15:10:09 +0100 Message-ID: <20250121141011.265289-2-abologna@redhat.com> In-Reply-To: <20250121141011.265289-1-abologna@redhat.com> References: <20250121141011.265289-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: F0aY-u649uGFt7ldG9r61U7my5cGU5sZAL_5mxW7ZgA_1737468616 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: FCHYFFB3YIYK54PCI6RDU3VV4WGOYTMQ X-Message-ID-Hash: FCHYFFB3YIYK54PCI6RDU3VV4WGOYTMQ X-MailFrom: abologna@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1737468669021019000 Content-Type: text/plain; charset="utf-8"; x-default="true" Currently the directories that are searched for each possible kind of loadable module are created as a side effect of installing the corresponding module, which means that their availability depends on the exact list of features that have been enabled. Create them explicitly ahead of time instead, ensuring consistency. Signed-off-by: Andrea Bolognani --- meson.build | 5 +++++ src/locking/meson.build | 6 ++---- src/meson.build | 13 +++++++++++-- src/storage/meson.build | 2 -- src/storage_file/meson.build | 2 -- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/meson.build b/meson.build index 1b0b717901..0bcab73ed8 100644 --- a/meson.build +++ b/meson.build @@ -134,6 +134,11 @@ if sshconfdir =3D=3D '' sshconfdir =3D sysconfdir / 'ssh' / 'ssh_config.d' endif =20 +connection_driver_install_dir =3D libdir / 'libvirt' / 'connection-driver' +storage_backend_install_dir =3D libdir / 'libvirt' / 'storage-backend' +storage_file_install_dir =3D libdir / 'libvirt' / 'storage-file' +lock_driver_install_dir =3D libdir / 'libvirt' / 'lock-driver' + =20 # generate configmake.h header =20 diff --git a/src/locking/meson.build b/src/locking/meson.build index c3dfcf2961..934e47593b 100644 --- a/src/locking/meson.build +++ b/src/locking/meson.build @@ -99,8 +99,6 @@ if conf.has('WITH_LIBVIRTD') 'lib': lockd_lib_impl, } =20 - lockdriver_dir =3D libdir / 'libvirt' / 'lock-driver' - virt_modules +=3D { 'name': 'lockd', 'name_prefix': '', @@ -113,7 +111,7 @@ if conf.has('WITH_LIBVIRTD') 'link_args': [ libvirt_no_undefined, ], - 'install_dir': lockdriver_dir, + 'install_dir': lock_driver_install_dir, } =20 if conf.has('WITH_SANLOCK') @@ -129,7 +127,7 @@ if conf.has('WITH_LIBVIRTD') 'link_args': [ libvirt_no_undefined, ], - 'install_dir': lockdriver_dir, + 'install_dir': lock_driver_install_dir, } endif =20 diff --git a/src/meson.build b/src/meson.build index cce89fac27..9413192a55 100644 --- a/src/meson.build +++ b/src/meson.build @@ -145,7 +145,7 @@ libvirt_libs =3D [] # * link_with - static libraries to link with (optional, default []) # * link_whole - static libraries to include (optional, default []) # * link_args - arguments for linker (optional, default []) -# * install_dir - installation directory (optional, default libdir / 'li= bvirt' / 'connection-driver' +# * install_dir - installation directory (optional, default connection_d= river_install_dir) virt_modules =3D [] =20 # virt_daemons: @@ -611,7 +611,7 @@ foreach module : virt_modules module.get('link_args', []), ], install: true, - install_dir: module.get('install_dir', libdir / 'libvirt' / 'connectio= n-driver'), + install_dir: module.get('install_dir', connection_driver_install_dir), install_rpath: libvirt_rpath, ) set_variable('@0@_module'.format(module['name'].underscorify()), mod) @@ -955,6 +955,15 @@ virt_install_dirs +=3D [ localstatedir / 'lib' / 'libvirt' / 'boot', ] =20 +if conf.has('WITH_LIBVIRTD') + virt_install_dirs +=3D [ + connection_driver_install_dir, + storage_backend_install_dir, + storage_file_install_dir, + lock_driver_install_dir, + ] +endif + meson.add_install_script( meson_python_prog.full_path(), python3_prog.full_path(), meson_install_d= irs_prog.full_path(), virt_install_dirs, diff --git a/src/storage/meson.build b/src/storage/meson.build index 404d6a6941..f6f28757ef 100644 --- a/src/storage/meson.build +++ b/src/storage/meson.build @@ -59,8 +59,6 @@ storage_backend_zfs_sources =3D [ 'storage_backend_zfs.c', ] =20 -storage_backend_install_dir =3D libdir / 'libvirt' / 'storage-backend' - if conf.has('WITH_STORAGE') storage_driver_impl_lib =3D static_library( 'virt_storage_driver_impl', diff --git a/src/storage_file/meson.build b/src/storage_file/meson.build index 27c4e5a432..501ac99d75 100644 --- a/src/storage_file/meson.build +++ b/src/storage_file/meson.build @@ -10,8 +10,6 @@ storage_file_gluster_sources =3D [ 'storage_file_backend_gluster.c', ] =20 -storage_file_install_dir =3D libdir / 'libvirt' / 'storage-file' - virt_storage_file_lib =3D static_library( 'virt_storage_file', [ --=20 2.48.1