From a378178cdd93a7b8d2c83d091b61478440f331a0 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Fri, 11 Nov 2022 23:42:18 +0100 Subject: [PATCH] package/lxc: fix systemd build Fix the following systemd build failure raised since bump to version 5.0.1 in commit db19998035701d08bf1b5fd366e0b5aa9adb8e57: ../src/lxc/cgroups/cgfsng.c: In function 'unpriv_systemd_create_scope': ../src/lxc/cgroups/cgfsng.c:1234:104: error: incompatible type for argument 10 of 'sd_bus_call_method_asyncv' r = sd_bus_call_method_asyncv(bus, NULL, DESTINATION, PATH, INTERFACE, "Subscribe", NULL, NULL, NULL, NULL); ^~~~ Fixes: - https://gitlab.com/buildroot.org/buildroot/-/jobs/3282261449 Signed-off-by: Fabrice Fontaine Signed-off-by: Thomas Petazzoni --- ...thod_async-to-replace-the-asyncv-one.patch | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 package/lxc/0002-use-sd_bus_call_method_async-to-replace-the-asyncv-one.patch diff --git a/package/lxc/0002-use-sd_bus_call_method_async-to-replace-the-asyncv-one.patch b/package/lxc/0002-use-sd_bus_call_method_async-to-replace-the-asyncv-one.patch new file mode 100644 index 0000000000..22013cb363 --- /dev/null +++ b/package/lxc/0002-use-sd_bus_call_method_async-to-replace-the-asyncv-one.patch @@ -0,0 +1,47 @@ +From b0abedf60b40adf0f2fb3cf9dfee4bc601f7b39f Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Thu, 25 Aug 2022 05:45:53 -0700 +Subject: [PATCH] use sd_bus_call_method_async to replace the asyncv one + +The sd_bus_call_method_asyncv's 10th parameter is of type +va_list and supplying NULL when invoking it causes compilation +error. Just replace it with the async one. + +Signed-off-by: Chen Qi +[Retrieved from: +https://github.com/lxc/lxc/commit/b0abedf60b40adf0f2fb3cf9dfee4bc601f7b39f] +Signed-off-by: Fabrice Fontaine +--- + meson.build | 4 ++-- + src/lxc/cgroups/cgfsng.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index 21955a0504..f8bdcf4e83 100644 +--- a/meson.build ++++ b/meson.build +@@ -295,9 +295,9 @@ if not want_sd_bus.disabled() + has_sd_bus = false + endif + +- if not cc.has_function('sd_bus_call_method_asyncv', prefix: '#include ', dependencies: libsystemd) ++ if not cc.has_function('sd_bus_call_method_async', prefix: '#include ', dependencies: libsystemd) + if not sd_bus_optional +- error('libsystemd misses required sd_bus_call_method_asyncv function') ++ error('libsystemd misses required sd_bus_call_method_async function') + endif + + has_sd_bus = false +diff --git a/src/lxc/cgroups/cgfsng.c b/src/lxc/cgroups/cgfsng.c +index 8a3615893f..d90e5385e1 100644 +--- a/src/lxc/cgroups/cgfsng.c ++++ b/src/lxc/cgroups/cgfsng.c +@@ -1232,7 +1232,7 @@ static int unpriv_systemd_create_scope(struct cgroup_ops *ops, struct lxc_conf * + if (r < 0) + return log_error(SYSTEMD_SCOPE_FAILED, "Failed to connect to user bus: %s", strerror(-r)); + +- r = sd_bus_call_method_asyncv(bus, NULL, DESTINATION, PATH, INTERFACE, "Subscribe", NULL, NULL, NULL, NULL); ++ r = sd_bus_call_method_async(bus, NULL, DESTINATION, PATH, INTERFACE, "Subscribe", NULL, NULL, NULL); + if (r < 0) + return log_error(SYSTEMD_SCOPE_FAILED, "Failed to subscribe to signals: %s", strerror(-r)); +