summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-10-06 14:11:29 +0300
committerJoonas Niilola <juippis@gentoo.org>2022-10-06 14:11:29 +0300
commit80f4ab584f09b64c538d5d1970de8eb66bae5d4a (patch)
treec97c7bdf2b2229bd050122adc5e40e1695d4ef56 /app-containers
parentapp-emulation/virtualbox-additions: Stabilize 6.1.38 amd64, #875332 (diff)
downloadgentoo-80f4ab584f09b64c538d5d1970de8eb66bae5d4a.tar.gz
gentoo-80f4ab584f09b64c538d5d1970de8eb66bae5d4a.tar.bz2
gentoo-80f4ab584f09b64c538d5d1970de8eb66bae5d4a.zip
app-containers/lxc: add a patch to fix arm64+systemd issue
Closes: https://bugs.gentoo.org/875356 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'app-containers')
-rw-r--r--app-containers/lxc/files/lxc-5.0.1-use-sd_bus_call_method_async-insteaf-of-asyncv.patch44
-rw-r--r--app-containers/lxc/lxc-5.0.1-r1.ebuild3
2 files changed, 46 insertions, 1 deletions
diff --git a/app-containers/lxc/files/lxc-5.0.1-use-sd_bus_call_method_async-insteaf-of-asyncv.patch b/app-containers/lxc/files/lxc-5.0.1-use-sd_bus_call_method_async-insteaf-of-asyncv.patch
new file mode 100644
index 000000000000..fe218ea0c3e6
--- /dev/null
+++ b/app-containers/lxc/files/lxc-5.0.1-use-sd_bus_call_method_async-insteaf-of-asyncv.patch
@@ -0,0 +1,44 @@
+From b0abedf60b40adf0f2fb3cf9dfee4bc601f7b39f Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+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 <Qi.Chen@windriver.com>
+---
+ 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 <systemd/sd-bus.h>', dependencies: libsystemd)
++ if not cc.has_function('sd_bus_call_method_async', prefix: '#include <systemd/sd-bus.h>', 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));
+
diff --git a/app-containers/lxc/lxc-5.0.1-r1.ebuild b/app-containers/lxc/lxc-5.0.1-r1.ebuild
index 7a9e415fda2a..f4714bf4705c 100644
--- a/app-containers/lxc/lxc-5.0.1-r1.ebuild
+++ b/app-containers/lxc/lxc-5.0.1-r1.ebuild
@@ -67,7 +67,8 @@ VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
DOCS=( AUTHORS CONTRIBUTING MAINTAINERS README.md doc/FAQ.txt )
-PATCHES=( "${FILESDIR}"/lxc-5.0.1-glibc-2.36.patch )
+PATCHES=( "${FILESDIR}"/lxc-5.0.1-glibc-2.36.patch
+ "${FILESDIR}"/lxc-5.0.1-use-sd_bus_call_method_async-insteaf-of-asyncv.patch )
pkg_setup() {
linux-info_pkg_setup