public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH] pve7to8: Improve systemd unified cgroupv2 support check
@ 2023-06-12 10:06 Christian Ebner
  2023-06-12 10:21 ` Christian Ebner
  0 siblings, 1 reply; 2+ messages in thread
From: Christian Ebner @ 2023-06-12 10:06 UTC (permalink / raw)
  To: pve-devel

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@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





^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [pve-devel] [PATCH] pve7to8: Improve systemd unified cgroupv2 support check
  2023-06-12 10:06 [pve-devel] [PATCH] pve7to8: Improve systemd unified cgroupv2 support check Christian Ebner
@ 2023-06-12 10:21 ` Christian Ebner
  0 siblings, 0 replies; 2+ messages in thread
From: Christian Ebner @ 2023-06-12 10:21 UTC (permalink / raw)
  To: pve-devel

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@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@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




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-06-12 10:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-12 10:06 [pve-devel] [PATCH] pve7to8: Improve systemd unified cgroupv2 support check Christian Ebner
2023-06-12 10:21 ` Christian Ebner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal