[pve-devel] [PATCH] pve7to8: Improve systemd unified cgroupv2 support check
Christian Ebner
c.ebner at proxmox.com
Mon Jun 12 12:21:49 CEST 2023
Ignore this one, it is still incomplete as Debian 12 stores the shared object at /usr/lib/x86_64-linux-gnu/systemd. Will include that too and send a v2.
> On 12.06.2023 12:06 CEST Christian Ebner <c.ebner at proxmox.com> wrote:
>
>
> Checking /lib/systemd if it is present and a directory is not enough, as
> the shared object file used to check the version might nevertheless be
> located at /usr/lib/systemd. So check also the latter, if the former
> returned no match.
>
> Further, Arch Linux appends the minor version and release version to the
> filename, so include that in the regex as well.
>
> Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
> ---
> PVE/CLI/pve7to8.pm | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/PVE/CLI/pve7to8.pm b/PVE/CLI/pve7to8.pm
> index 6b51e98e..3061b691 100644
> --- a/PVE/CLI/pve7to8.pm
> +++ b/PVE/CLI/pve7to8.pm
> @@ -1015,9 +1015,11 @@ sub check_containers_cgroup_compat {
> my $get_systemd_version = sub {
> my ($self) = @_;
>
> - my $sd_lib_dir = -d "/lib/systemd" ? "/lib/systemd" : "/usr/lib/systemd";
> - my $libsd = PVE::Tools::dir_glob_regex($sd_lib_dir, "libsystemd-shared-.+\.so");
> - if (defined($libsd) && $libsd =~ /libsystemd-shared-(\d+)\.so/) {
> + my $libsd = PVE::Tools::dir_glob_regex("/lib/systemd", "libsystemd-shared-.+\.so");
> + if (!defined($libsd)) {
> + $libsd = PVE::Tools::dir_glob_regex("/usr/lib/systemd", "libsystemd-shared-.+\.so");
> + }
> + if (defined($libsd) && $libsd =~ /libsystemd-shared-(\d+)(\.\d-\d)?\.so/) {
> return $1;
> }
>
> --
> 2.39.2
More information about the pve-devel
mailing list