145 lines
5.1 KiB
Diff
145 lines
5.1 KiB
Diff
From 5359921ef11b68dab549b6b28ba11a784e6946a5 Mon Sep 17 00:00:00 2001
|
||
Message-ID: <5359921ef11b68dab549b6b28ba11a784e6946a5.1706524416.git.jdenemar@redhat.com>
|
||
From: Jiri Denemark <jdenemar@redhat.com>
|
||
Date: Wed, 24 Jan 2024 19:23:54 +0100
|
||
Subject: [PATCH] build: Make daemons depend on generated *_protocol.[ch]
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
This should fix build failures when a daemon code is compiled before the
|
||
included *_protocol.h headers are ready, such as:
|
||
|
||
FAILED: src/virtqemud.p/remote_remote_daemon_config.c.o
|
||
../src/remote/remote_daemon_config.c: In function ‘daemonConfigNew’:
|
||
../src/remote/remote_daemon_config.c:111:30: error:
|
||
‘REMOTE_AUTH_POLKIT’ undeclared (first use in this function)
|
||
111 | data->auth_unix_rw = REMOTE_AUTH_POLKIT;
|
||
| ^~~~~~~~~~~~~~~~~~
|
||
../src/remote/remote_daemon_config.c:111:30: note: each undeclared
|
||
identifier is reported only once for each function it appears in
|
||
../src/remote/remote_daemon_config.c:115:30: error:
|
||
‘REMOTE_AUTH_NONE’ undeclared (first use in this function)
|
||
115 | data->auth_unix_rw = REMOTE_AUTH_NONE;
|
||
| ^~~~~~~~~~~~~~~~
|
||
../src/remote/remote_daemon_config.c: In function
|
||
‘daemonConfigLoadOptions’:
|
||
../src/remote/remote_daemon_config.c:252:31: error:
|
||
‘REMOTE_AUTH_POLKIT’ undeclared (first use in this function)
|
||
252 | if (data->auth_unix_rw == REMOTE_AUTH_POLKIT) {
|
||
| ^~~~~~~~~~~~~~~~~~
|
||
|
||
or
|
||
|
||
FAILED: src/virtqemud.p/remote_remote_daemon_dispatch.c.o
|
||
In file included from ../src/remote/remote_daemon.h:28,
|
||
from ../src/remote/remote_daemon_dispatch.c:26:
|
||
src/remote/lxc_protocol.h:13:5: error:
|
||
unknown type name ‘remote_nonnull_domain’
|
||
13 | remote_nonnull_domain dom;
|
||
| ^~~~~~~~~~~~~~~~~~~~~
|
||
In file included from ../src/remote/remote_daemon.h:29,
|
||
from ../src/remote/remote_daemon_dispatch.c:26:
|
||
src/remote/qemu_protocol.h:13:5: error:
|
||
unknown type name ‘remote_nonnull_domain’
|
||
13 | remote_nonnull_domain dom;
|
||
| ^~~~~~~~~~~~~~~~~~~~~
|
||
src/remote/qemu_protocol.h:14:5: error:
|
||
unknown type name ‘remote_nonnull_string’
|
||
14 | remote_nonnull_string cmd;
|
||
| ^~~~~~~~~~~~~~~~~~~~~
|
||
...
|
||
|
||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
||
(cherry picked from commit dcfe548cb01d64e2bdeac456c428e578158232b9)
|
||
|
||
https://issues.redhat.com/browse/RHEL-15267
|
||
|
||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||
---
|
||
po/meson.build | 1 +
|
||
src/meson.build | 6 +++++-
|
||
src/remote/meson.build | 15 +++++++++++----
|
||
3 files changed, 17 insertions(+), 5 deletions(-)
|
||
|
||
diff --git a/po/meson.build b/po/meson.build
|
||
index a20877ad34..592b254447 100644
|
||
--- a/po/meson.build
|
||
+++ b/po/meson.build
|
||
@@ -20,6 +20,7 @@ potfiles_dep = [
|
||
access_gen_sources,
|
||
admin_client_generated,
|
||
admin_driver_generated,
|
||
+ remote_protocol_generated,
|
||
remote_driver_generated,
|
||
remote_daemon_generated,
|
||
]
|
||
diff --git a/src/meson.build b/src/meson.build
|
||
index 6538c43628..f52d2d5994 100644
|
||
--- a/src/meson.build
|
||
+++ b/src/meson.build
|
||
@@ -616,7 +616,11 @@ foreach daemon : virt_daemons
|
||
bin = executable(
|
||
daemon['name'],
|
||
[
|
||
- daemon.get('sources', [ remote_daemon_sources, remote_daemon_generated ]),
|
||
+ daemon.get('sources', [
|
||
+ remote_protocol_generated,
|
||
+ remote_daemon_sources,
|
||
+ remote_daemon_generated
|
||
+ ]),
|
||
dtrace_gen_objects,
|
||
],
|
||
c_args: [
|
||
diff --git a/src/remote/meson.build b/src/remote/meson.build
|
||
index 16b903fcaf..43bf2d0083 100644
|
||
--- a/src/remote/meson.build
|
||
+++ b/src/remote/meson.build
|
||
@@ -7,8 +7,6 @@ remote_driver_generated = []
|
||
|
||
foreach name : [ 'remote', 'qemu', 'lxc' ]
|
||
client_bodies_h = '@0@_client_bodies.h'.format(name)
|
||
- protocol_c = '@0@_protocol.c'.format(name)
|
||
- protocol_h = '@0@_protocol.h'.format(name)
|
||
protocol_x = '@0@_protocol.x'.format(name)
|
||
|
||
remote_driver_generated += custom_target(
|
||
@@ -20,8 +18,16 @@ foreach name : [ 'remote', 'qemu', 'lxc' ]
|
||
],
|
||
capture: true,
|
||
)
|
||
+endforeach
|
||
|
||
- remote_driver_generated += custom_target(
|
||
+remote_protocol_generated = []
|
||
+
|
||
+foreach name : [ 'remote', 'qemu', 'lxc' ]
|
||
+ protocol_c = '@0@_protocol.c'.format(name)
|
||
+ protocol_h = '@0@_protocol.h'.format(name)
|
||
+ protocol_x = '@0@_protocol.x'.format(name)
|
||
+
|
||
+ remote_protocol_generated += custom_target(
|
||
protocol_h,
|
||
input: protocol_x,
|
||
output: protocol_h,
|
||
@@ -32,7 +38,7 @@ foreach name : [ 'remote', 'qemu', 'lxc' ]
|
||
],
|
||
)
|
||
|
||
- remote_driver_generated += custom_target(
|
||
+ remote_protocol_generated += custom_target(
|
||
protocol_c,
|
||
input: protocol_x,
|
||
output: protocol_c,
|
||
@@ -143,6 +149,7 @@ if conf.has('WITH_REMOTE')
|
||
remote_driver_lib = static_library(
|
||
'virt_remote_driver',
|
||
[
|
||
+ remote_protocol_generated,
|
||
remote_driver_sources,
|
||
remote_driver_generated,
|
||
],
|
||
--
|
||
2.43.0
|