From c3bc61051d7f12b4c682efa7a5460bbc8815649e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 7 Jan 2022 22:48:01 +0000 Subject: gentoo resync : 07.01.2022 --- .../libvirt/files/libvirt-6.7.0-doc-path.patch | 9 - .../libvirt-7.0.0-fix_virtproxyd_unit_file.patch | 18 -- .../libvirt/files/libvirt-7.10.0-fix_soname.patch | 13 ++ ...ix-virCgroupKillRecursive-wrt-nested-cont.patch | 189 --------------------- 4 files changed, 13 insertions(+), 216 deletions(-) delete mode 100644 app-emulation/libvirt/files/libvirt-6.7.0-doc-path.patch delete mode 100644 app-emulation/libvirt/files/libvirt-7.0.0-fix_virtproxyd_unit_file.patch create mode 100644 app-emulation/libvirt/files/libvirt-7.10.0-fix_soname.patch delete mode 100644 app-emulation/libvirt/files/libvirt-7.3.0-vircgroup-Fix-virCgroupKillRecursive-wrt-nested-cont.patch (limited to 'app-emulation/libvirt/files') diff --git a/app-emulation/libvirt/files/libvirt-6.7.0-doc-path.patch b/app-emulation/libvirt/files/libvirt-6.7.0-doc-path.patch deleted file mode 100644 index 65eb35f3e346..000000000000 --- a/app-emulation/libvirt/files/libvirt-6.7.0-doc-path.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- a/meson.build 2020-09-26 21:25:08.557345415 +0000 -+++ b/meson.build 2020-09-26 21:25:59.507348156 +0000 -@@ -84,7 +84,7 @@ sbindir = prefix / get_option('sbindir') - sharedstatedir = prefix / get_option('sharedstatedir') - - confdir = sysconfdir / meson.project_name() --docdir = datadir / 'doc' / meson.project_name() -+docdir = datadir / 'doc' / '@0@-@1@'.format(meson.project_name(), meson.project_version()) - pkgdatadir = datadir / meson.project_name() diff --git a/app-emulation/libvirt/files/libvirt-7.0.0-fix_virtproxyd_unit_file.patch b/app-emulation/libvirt/files/libvirt-7.0.0-fix_virtproxyd_unit_file.patch deleted file mode 100644 index a8ee5dcee3fe..000000000000 --- a/app-emulation/libvirt/files/libvirt-7.0.0-fix_virtproxyd_unit_file.patch +++ /dev/null @@ -1,18 +0,0 @@ -https://bugs.gentoo.org/792228 -https://gitlab.com/libvirt/libvirt/-/commit/e3d60f7 - --- -diff --git a/src/remote/meson.build b/src/remote/meson.build -index 9ad2f6ab1c268012a263ab4ede6410fb80e14a12..0a188268b58b7af41645799aac3ef3f156fd48ad 100644 ---- a/src/remote/meson.build -+++ b/src/remote/meson.build -@@ -230,7 +230,7 @@ if conf.has('WITH_REMOTE') - 'name': 'Libvirt proxy', - 'sockprefix': 'libvirt', - 'sockets': [ 'main', 'ro', 'admin', 'tcp', 'tls' ], -- 'deps': libvirtd_socket_conflicts, -+ 'deps': 'Conflicts=' + libvirtd_socket_conflicts, - } - - openrc_init_files += { - diff --git a/app-emulation/libvirt/files/libvirt-7.10.0-fix_soname.patch b/app-emulation/libvirt/files/libvirt-7.10.0-fix_soname.patch new file mode 100644 index 000000000000..8e89fc818fb5 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-7.10.0-fix_soname.patch @@ -0,0 +1,13 @@ +diff --git a/tools/nss/meson.build b/tools/nss/meson.build +index 198936f3d42e1827d0f03ff3b27a198bdc4fa59c..f77309ebcab8063c515ae2bf95dbff542238a2ee 100644 +--- a/tools/nss/meson.build ++++ b/tools/nss/meson.build +@@ -59,7 +59,7 @@ nss_libvirt_guest_syms = '@0@@1@'.format( + meson.current_source_dir() / nss_guest_sym_file, + ) + +-nss_libvirt_lib = shared_module( ++nss_libvirt_lib = shared_library( + 'nss_libvirt', + name_prefix: nss_prefix, + name_suffix: 'so.@0@'.format(nss_so_ver), diff --git a/app-emulation/libvirt/files/libvirt-7.3.0-vircgroup-Fix-virCgroupKillRecursive-wrt-nested-cont.patch b/app-emulation/libvirt/files/libvirt-7.3.0-vircgroup-Fix-virCgroupKillRecursive-wrt-nested-cont.patch deleted file mode 100644 index 69572b321cfb..000000000000 --- a/app-emulation/libvirt/files/libvirt-7.3.0-vircgroup-Fix-virCgroupKillRecursive-wrt-nested-cont.patch +++ /dev/null @@ -1,189 +0,0 @@ -From ea7d0ca37cce76e1327945c4864b996d7fd6d2e6 Mon Sep 17 00:00:00 2001 -Message-Id: -From: Michal Privoznik -Date: Fri, 16 Apr 2021 16:39:14 +0200 -Subject: [PATCH] vircgroup: Fix virCgroupKillRecursive() wrt nested - controllers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -I've encountered the following bug, but only on Gentoo with -systemd and CGroupsV2. I've started an LXC container successfully -but destroying it reported the following error: - - error: Failed to destroy domain 'amd64' - error: internal error: failed to get cgroup backend for 'pathOfController' - -Debugging showed, that CGroup hierarchy is full of surprises: - -/sys/fs/cgroup/machine.slice/machine-lxc\x2d861\x2damd64.scope/ -└── libvirt - ├── dev-hugepages.mount - ├── dev-mqueue.mount - ├── init.scope - ├── sys-fs-fuse-connections.mount - ├── sys-kernel-config.mount - ├── sys-kernel-debug.mount - ├── sys-kernel-tracing.mount - ├── system.slice - │   ├── console-getty.service - │   ├── dbus.service - │   ├── system-getty.slice - │   ├── system-modprobe.slice - │   ├── systemd-journald.service - │   ├── systemd-logind.service - │   └── tmp.mount - └── user.slice - -For comparison, here's the same container on recent Rawhide: - -/sys/fs/cgroup/machine.slice/machine-lxc\x2d13550\x2damd64.scope/ -└── libvirt - -Anyway, those nested directories should not be a problem, because -virCgroupKillRecursiveInternal() removes them recursively, right? -Sort of. The function really does remove nested directories, but -it assumes that every directory has the same controller as the -rest. Just take a look at virCgroupV2KillRecursive() - it gets -'Any' controller (the first one it found in ".scope") and then -passes it to virCgroupKillRecursiveInternal(). - -This assumption is not true though. The controllers found in -".scope" are the following: - - cpuset cpu io memory pids - -while "libvirt" has fewer: - - cpuset cpu io memory - -Up until now it's not problem, because of how we order -controllers internally - "cpu" is the first and thus picking -"Any" controller returns just that. But the rest of directories -has no controllers, their "cgroup.controllers" is just empty. - -What fixes the bug is dropping @controller argument from -virCgroupKillRecursiveInternal() and letting each iteration work -pick its own controller. - -Signed-off-by: Michal Privoznik -Reviewed-by: Pavel Hrdina ---- - src/util/vircgroup.c | 25 +++++++++++++++++++++++-- - src/util/vircgrouppriv.h | 1 - - src/util/vircgroupv1.c | 7 +------ - src/util/vircgroupv2.c | 7 +------ - 4 files changed, 25 insertions(+), 15 deletions(-) - -diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c -index 96280a0a4e..37dde2a5ed 100644 ---- a/src/util/vircgroup.c -+++ b/src/util/vircgroup.c -@@ -1477,6 +1477,24 @@ virCgroupHasController(virCgroup *cgroup, int controller) - } - - -+static int -+virCgroupGetAnyController(virCgroup *cgroup) -+{ -+ size_t i; -+ -+ for (i = 0; i < VIR_CGROUP_BACKEND_TYPE_LAST; i++) { -+ if (!cgroup->backends[i]) -+ continue; -+ -+ return cgroup->backends[i]->getAnyController(cgroup); -+ } -+ -+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -+ _("Unable to get any controller")); -+ return -1; -+} -+ -+ - int - virCgroupPathOfController(virCgroup *group, - unsigned int controller, -@@ -2715,11 +2733,11 @@ int - virCgroupKillRecursiveInternal(virCgroup *group, - int signum, - GHashTable *pids, -- int controller, - const char *taskFile, - bool dormdir) - { - int rc; -+ int controller; - bool killedAny = false; - g_autofree char *keypath = NULL; - g_autoptr(DIR) dp = NULL; -@@ -2728,6 +2746,9 @@ virCgroupKillRecursiveInternal(virCgroup *group, - VIR_DEBUG("group=%p signum=%d pids=%p taskFile=%s dormdir=%d", - group, signum, pids, taskFile, dormdir); - -+ if ((controller = virCgroupGetAnyController(group)) < 0) -+ return -1; -+ - if (virCgroupPathOfController(group, controller, "", &keypath) < 0) - return -1; - -@@ -2760,7 +2781,7 @@ virCgroupKillRecursiveInternal(virCgroup *group, - return -1; - - if ((rc = virCgroupKillRecursiveInternal(subgroup, signum, pids, -- controller, taskFile, true)) < 0) -+ taskFile, true)) < 0) - return -1; - if (rc == 1) - killedAny = true; -diff --git a/src/util/vircgrouppriv.h b/src/util/vircgrouppriv.h -index 00193fb101..caf7ed84db 100644 ---- a/src/util/vircgrouppriv.h -+++ b/src/util/vircgrouppriv.h -@@ -135,6 +135,5 @@ int virCgroupRemoveRecursively(char *grppath); - int virCgroupKillRecursiveInternal(virCgroup *group, - int signum, - GHashTable *pids, -- int controller, - const char *taskFile, - bool dormdir); -diff --git a/src/util/vircgroupv1.c b/src/util/vircgroupv1.c -index 2cc7dd386a..8a04bb2e4a 100644 ---- a/src/util/vircgroupv1.c -+++ b/src/util/vircgroupv1.c -@@ -812,12 +812,7 @@ virCgroupV1KillRecursive(virCgroup *group, - int signum, - GHashTable *pids) - { -- int controller = virCgroupV1GetAnyController(group); -- -- if (controller < 0) -- return -1; -- -- return virCgroupKillRecursiveInternal(group, signum, pids, controller, -+ return virCgroupKillRecursiveInternal(group, signum, pids, - "tasks", false); - } - -diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c -index e555217355..8881d3a88a 100644 ---- a/src/util/vircgroupv2.c -+++ b/src/util/vircgroupv2.c -@@ -577,12 +577,7 @@ virCgroupV2KillRecursive(virCgroup *group, - int signum, - GHashTable *pids) - { -- int controller = virCgroupV2GetAnyController(group); -- -- if (controller < 0) -- return -1; -- -- return virCgroupKillRecursiveInternal(group, signum, pids, controller, -+ return virCgroupKillRecursiveInternal(group, signum, pids, - "cgroup.threads", false); - } - --- -2.26.3 - -- cgit v1.2.3