[1/1] libvert: modify dependencies on lxc_protocol.h

Message ID 20220310005048.37403-1-joe.slater@windriver.com
State New
Headers show
Series [1/1] libvert: modify dependencies on lxc_protocol.h | expand

Commit Message

Slater, Joseph March 10, 2022, 12:50 a.m. UTC
src/remote/meson.build does not create a dependency on
the generated lxc_protocol.h for remote_daemon.c.  Restructure
how this file is generated to allow the dependency.

Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
 .../libvirt/libvirt/lxc_protocol.patch        | 104 ++++++++++++++++++
 recipes-extended/libvirt/libvirt_7.2.0.bb     |   1 +
 2 files changed, 105 insertions(+)
 create mode 100644 recipes-extended/libvirt/libvirt/lxc_protocol.patch

Comments

Slater, Joseph March 10, 2022, 12:54 a.m. UTC | #1
Oops, wrong list.   Joe

> -----Original Message-----
> From: Slater, Joseph <joe.slater@windriver.com>
> Sent: Wednesday, March 9, 2022 4:51 PM
> To: openembedded-core@lists.openembedded.org
> Cc: Slater, Joseph <joe.slater@windriver.com>; MacLeod, Randy
> <Randy.MacLeod@windriver.com>
> Subject: [oe-core][PATCH 1/1] libvert: modify dependencies on lxc_protocol.h
> 
> src/remote/meson.build does not create a dependency on the generated
> lxc_protocol.h for remote_daemon.c.  Restructure how this file is generated to
> allow the dependency.
> 
> Signed-off-by: Joe Slater <joe.slater@windriver.com>
> ---
>  .../libvirt/libvirt/lxc_protocol.patch        | 104 ++++++++++++++++++
>  recipes-extended/libvirt/libvirt_7.2.0.bb     |   1 +
>  2 files changed, 105 insertions(+)
>  create mode 100644 recipes-extended/libvirt/libvirt/lxc_protocol.patch
> 
> diff --git a/recipes-extended/libvirt/libvirt/lxc_protocol.patch b/recipes-
> extended/libvirt/libvirt/lxc_protocol.patch
> new file mode 100644
> index 00000000..595c3fe4
> --- /dev/null
> +++ b/recipes-extended/libvirt/libvirt/lxc_protocol.patch
> @@ -0,0 +1,104 @@
> +From 38af66c1a9c4cdeb256eeaf563c6807757c370ce Mon Sep 17 00:00:00
> 2001
> +From: Joe Slater <joe.slater@windriver.com>
> +Date: Wed, 9 Mar 2022 23:17:33 +0000
> +Subject: [PATCH] working commit
> +
> +remote_daemon.c and others need the generated header lxc_protocol.h,
> +but do not have it as a dependency in meson.build.  This means that
> +builds will randomly (ok, very occasionally) fail.  Restructure how the
> +header is built so that remote_daemon can have it as a dependency.
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Joe Slater <joe.slater@windriver.com>
> +
> +---
> + src/remote/meson.build | 48 ++++++++++++++++++++++++------------------
> + 1 file changed, 28 insertions(+), 20 deletions(-)
> +
> +diff --git a/src/remote/meson.build b/src/remote/meson.build index
> +0a18826..31a30ee 100644
> +--- a/src/remote/meson.build
> ++++ b/src/remote/meson.build
> +@@ -1,27 +1,11 @@
> +-remote_driver_sources = [
> +-  'remote_driver.c',
> +-  'remote_sockets.c',
> +-]
> +-
> +-remote_driver_generated = []
> ++remote_xxx_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(
> +-    client_bodies_h,
> +-    input: protocol_x,
> +-    output: client_bodies_h,
> +-    command: [
> +-      gendispatch_prog, '--mode=client', name, name.to_upper(), '@INPUT@',
> +-    ],
> +-    capture: true,
> +-  )
> +-
> +-  remote_driver_generated += custom_target(
> ++  remote_xxx_generated += custom_target(
> +     protocol_h,
> +     input: protocol_x,
> +     output: protocol_h,
> +@@ -30,7 +14,7 @@ foreach name : [ 'remote', 'qemu', 'lxc' ]
> +     ],
> +   )
> +
> +-  remote_driver_generated += custom_target(
> ++  remote_xxx_generated += custom_target(
> +     protocol_c,
> +     input: protocol_x,
> +     output: protocol_c,
> +@@ -42,6 +26,30 @@ foreach name : [ 'remote', 'qemu', 'lxc' ]
> +   rpc_probe_files += files(protocol_x)  endforeach
> +
> ++
> ++remote_driver_sources = [
> ++  'remote_driver.c',
> ++  'remote_sockets.c',
> ++]
> ++
> ++remote_driver_generated =remote_xxx_generated
> ++
> ++foreach name : [ 'remote', 'qemu', 'lxc' ]
> ++  client_bodies_h = '@0@_client_bodies.h'.format(name)
> ++  protocol_x = '@0@_protocol.x'.format(name)
> ++
> ++  remote_driver_generated += custom_target(
> ++    client_bodies_h,
> ++    input: protocol_x,
> ++    output: client_bodies_h,
> ++    command: [
> ++      gendispatch_prog, '--mode=client', name, name.to_upper(), '@INPUT@',
> ++    ],
> ++    capture: true,
> ++  )
> ++
> ++endforeach
> ++
> + remote_daemon_sources = files(
> +   'remote_daemon.c',
> +   'remote_daemon_config.c',
> +@@ -49,7 +57,7 @@ remote_daemon_sources = files(
> +   'remote_daemon_stream.c',
> + )
> +
> +-remote_daemon_generated = []
> ++remote_daemon_generated = remote_xxx_generated
> +
> + virt_ssh_helper_sources = files(
> +   'remote_sockets.c',
> +--
> +2.32.0
> +
> diff --git a/recipes-extended/libvirt/libvirt_7.2.0.bb b/recipes-
> extended/libvirt/libvirt_7.2.0.bb
> index 5ad7d59e..04c66eb5 100644
> --- a/recipes-extended/libvirt/libvirt_7.2.0.bb
> +++ b/recipes-extended/libvirt/libvirt_7.2.0.bb
> @@ -31,6 +31,7 @@ SRC_URI = "http://libvirt.org/sources/libvirt-
> ${PV}.tar.xz;name=libvirt \
>             file://0002-meson-Fix-compatibility-with-Meson-0.58.patch \
>             file://0001-security-fix-SELinux-label-generation-logic.patch \
>             file://0001-storage_driver-Unlock-object-on-ACL-fail-in-storageP.patch \
> +           file://lxc_protocol.patch \
>            "
> 
>  SRC_URI[libvirt.md5sum] = "92044b629216e44adce63224970a54a3"
> --
> 2.35.1

Patch

diff --git a/recipes-extended/libvirt/libvirt/lxc_protocol.patch b/recipes-extended/libvirt/libvirt/lxc_protocol.patch
new file mode 100644
index 00000000..595c3fe4
--- /dev/null
+++ b/recipes-extended/libvirt/libvirt/lxc_protocol.patch
@@ -0,0 +1,104 @@ 
+From 38af66c1a9c4cdeb256eeaf563c6807757c370ce Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Wed, 9 Mar 2022 23:17:33 +0000
+Subject: [PATCH] working commit
+
+remote_daemon.c and others need the generated header lxc_protocol.h,
+but do not have it as a dependency in meson.build.  This means that
+builds will randomly (ok, very occasionally) fail.  Restructure how the
+header is built so that remote_daemon can have it as a dependency.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+---
+ src/remote/meson.build | 48 ++++++++++++++++++++++++------------------
+ 1 file changed, 28 insertions(+), 20 deletions(-)
+
+diff --git a/src/remote/meson.build b/src/remote/meson.build
+index 0a18826..31a30ee 100644
+--- a/src/remote/meson.build
++++ b/src/remote/meson.build
+@@ -1,27 +1,11 @@
+-remote_driver_sources = [
+-  'remote_driver.c',
+-  'remote_sockets.c',
+-]
+-
+-remote_driver_generated = []
++remote_xxx_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(
+-    client_bodies_h,
+-    input: protocol_x,
+-    output: client_bodies_h,
+-    command: [
+-      gendispatch_prog, '--mode=client', name, name.to_upper(), '@INPUT@',
+-    ],
+-    capture: true,
+-  )
+-
+-  remote_driver_generated += custom_target(
++  remote_xxx_generated += custom_target(
+     protocol_h,
+     input: protocol_x,
+     output: protocol_h,
+@@ -30,7 +14,7 @@ foreach name : [ 'remote', 'qemu', 'lxc' ]
+     ],
+   )
+ 
+-  remote_driver_generated += custom_target(
++  remote_xxx_generated += custom_target(
+     protocol_c,
+     input: protocol_x,
+     output: protocol_c,
+@@ -42,6 +26,30 @@ foreach name : [ 'remote', 'qemu', 'lxc' ]
+   rpc_probe_files += files(protocol_x)
+ endforeach
+ 
++
++remote_driver_sources = [
++  'remote_driver.c',
++  'remote_sockets.c',
++]
++
++remote_driver_generated =remote_xxx_generated
++
++foreach name : [ 'remote', 'qemu', 'lxc' ]
++  client_bodies_h = '@0@_client_bodies.h'.format(name)
++  protocol_x = '@0@_protocol.x'.format(name)
++
++  remote_driver_generated += custom_target(
++    client_bodies_h,
++    input: protocol_x,
++    output: client_bodies_h,
++    command: [
++      gendispatch_prog, '--mode=client', name, name.to_upper(), '@INPUT@',
++    ],
++    capture: true,
++  )
++
++endforeach
++
+ remote_daemon_sources = files(
+   'remote_daemon.c',
+   'remote_daemon_config.c',
+@@ -49,7 +57,7 @@ remote_daemon_sources = files(
+   'remote_daemon_stream.c',
+ )
+ 
+-remote_daemon_generated = []
++remote_daemon_generated = remote_xxx_generated
+ 
+ virt_ssh_helper_sources = files(
+   'remote_sockets.c',
+-- 
+2.32.0
+
diff --git a/recipes-extended/libvirt/libvirt_7.2.0.bb b/recipes-extended/libvirt/libvirt_7.2.0.bb
index 5ad7d59e..04c66eb5 100644
--- a/recipes-extended/libvirt/libvirt_7.2.0.bb
+++ b/recipes-extended/libvirt/libvirt_7.2.0.bb
@@ -31,6 +31,7 @@  SRC_URI = "http://libvirt.org/sources/libvirt-${PV}.tar.xz;name=libvirt \
            file://0002-meson-Fix-compatibility-with-Meson-0.58.patch \
            file://0001-security-fix-SELinux-label-generation-logic.patch \
            file://0001-storage_driver-Unlock-object-on-ACL-fail-in-storageP.patch \
+           file://lxc_protocol.patch \
           "
 
 SRC_URI[libvirt.md5sum] = "92044b629216e44adce63224970a54a3"