all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Hannes Duerr <h.duerr@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH pve-nvidia-vgpu-helper v2 5/5] script: install headers for running and newer kernel version only
Date: Fri, 24 Jan 2025 15:37:53 +0100	[thread overview]
Message-ID: <20250124143754.213246-6-h.duerr@proxmox.com> (raw)
In-Reply-To: <20250124143754.213246-1-h.duerr@proxmox.com>

also add the new dependency for `libdpkg-perl`

Signed-off-by: Hannes Duerr <h.duerr@proxmox.com>
---
 debian/control         |  1 +
 pve-nvidia-vgpu-helper | 20 ++++++++++++++++----
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/debian/control b/debian/control
index 4492b60..352e63a 100644
--- a/debian/control
+++ b/debian/control
@@ -9,6 +9,7 @@ Homepage: https://www.proxmox.com
 Package: pve-nvidia-vgpu-helper
 Architecture: all
 Depends: libapt-pkg-perl,
+         libdpkg-perl,
          ${misc:Depends},
 Description: Proxmox Nvidia vGPU helper script and systemd service
  This package provides a script, that helps with installing all required
diff --git a/pve-nvidia-vgpu-helper b/pve-nvidia-vgpu-helper
index 885b879..4c57578 100755
--- a/pve-nvidia-vgpu-helper
+++ b/pve-nvidia-vgpu-helper
@@ -5,6 +5,7 @@ use warnings;
 
 use PVE::Tools qw(run_command);
 use AptPkg::Cache;
+use Dpkg::Version;
 
 my @apt_install = qw(apt-get --no-install-recommends install --);
 my @dependencies = qw(dkms libc6-dev proxmox-default-headers);
@@ -23,6 +24,16 @@ sub package_is_installed {
     }
 }
 
+sub install_newer_headers {
+    my ($running_version, @installed_versions) = @_;
+    for my $version (@installed_versions) {
+	# install header for the running kernel and newer kernel versions
+	if (Dpkg::Version::version_compare($running_version, $version) != 1){
+	    package_is_installed("proxmox-headers-$version-pve");
+	}
+    }
+}
+
 foreach my $dependency (@dependencies) {
     package_is_installed($dependency);
 }
@@ -32,17 +43,18 @@ my $running_kernel;
 run_command( ['/usr/bin/uname', '-r' ],
     outfunc => sub { $running_kernel = shift } );
 
+my @installed_versions;
 run_command(['/usr/bin/dpkg-query', '-W', 'proxmox-kernel-*-pve'],
     outfunc => sub {
 	my $installed_kernel = shift;
-	$installed_kernel =~ s/^\s*proxmox-kernel(-\d+.\d+.\d+-\d+-pve)\s*$/proxmox-headers$1/;
-	package_is_installed($installed_kernel);
+	$installed_kernel =~ m/^\s*proxmox-kernel-(\d+.\d+.\d+-\d+)-pve\s*$/;
+	push(@installed_versions, $1);
     });
 
 
-
-if ($running_kernel =~ m/^\d+\.\d+\.\d+-\d+-pve$/) {
+if ($running_kernel =~ m/^(\d+\.\d+\.\d+-\d+)-pve$/) {
     print "You are running the proxmox kernel `proxmox-kernel-$running_kernel`\n";
+    install_newer_headers($1, @installed_versions);
 } else {
     die "You are not using a proxmox-kernel, please make sure that the appropriate header package is installed.\n";
 }
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  parent reply	other threads:[~2025-01-24 14:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-24 14:37 [pve-devel] [PATCH manager/nvidia-vgpu-helper v2 0/6] reduce setup steps for nvidia vgpu drivers Hannes Duerr
2025-01-24 14:37 ` [pve-devel] [PATCH pve-nvidia-vgpu-helper v2 1/5] create a debian package to make the installation of Nvidia vGPU drivers more convenient Hannes Duerr
2025-01-24 14:37 ` [pve-devel] [PATCH pve-nvidia-vgpu-helper v2 2/5] debian/control: add dependency for helper script Hannes Duerr
2025-01-24 14:37 ` [pve-devel] [PATCH pve-nvidia-vgpu-helper v2 3/5] add pve-nvidia-vgpu-helper and Makefile to make dependency installtion more convenient Hannes Duerr
2025-01-24 14:37 ` [pve-devel] [PATCH pve-nvidia-vgpu-helper v2 4/5] debian: add and install pve-nvidia-sriov systemd template unit file Hannes Duerr
2025-01-24 14:37 ` Hannes Duerr [this message]
2025-01-24 14:37 ` [pve-devel] [PATCH pve-manager v2 1/1] debian/control: add pve-nvidia-vgpu-helper as dependency Hannes Duerr
2025-01-24 14:41 ` [pve-devel] [PATCH manager/nvidia-vgpu-helper v2 0/6] reduce setup steps for nvidia vgpu drivers Hannes Dürr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250124143754.213246-6-h.duerr@proxmox.com \
    --to=h.duerr@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal