public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH manager] pveversion: show upgradable package version in verbose output
@ 2024-04-18  7:44 Alexander Zeidler
  2024-04-18  8:31 ` Stefan Sterz
  0 siblings, 1 reply; 2+ messages in thread
From: Alexander Zeidler @ 2024-04-18  7:44 UTC (permalink / raw)
  To: pve-devel

when the state is "Installed", including not correctly installed, but
not for (residual) "ConfigFiles".

The information
* can be inaccurate for offline nodes or when using POM.
* is included in pveversion so it can also be used on public channels
  like the forum. The current System Report includes pveversion -v

 # pveversion -v
 proxmox-ve: 8.1.0 (running kernel: 6.5.13-5-pve)
 pve-manager: 8.1.6 (running version: 8.1.6/b7e8e914a1db70cc) [available: 8.1.10]
 ...
 vncterm: 1.8.0
 zfsutils-linux: 2.2.3-pve1 [available: 2.2.3-pve2]

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
---
 bin/pveversion | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/bin/pveversion b/bin/pveversion
index 591f63e7..b98e1096 100755
--- a/bin/pveversion
+++ b/bin/pveversion
@@ -21,19 +21,29 @@ sub print_status {
 	print "$pkg: unknown package - internal error\n";
 	return;
     }
+
+    my $installed = $pkginfo->{CurrentState} eq 'Installed';
+    my $upgradable = $pkginfo->{OldVersion} && ($pkginfo->{OldVersion} ne $pkginfo->{Version});
+
     my $version = "not correctly installed";
-    if ($pkginfo->{OldVersion} && $pkginfo->{CurrentState} eq 'Installed') {
+    if ($installed && $pkginfo->{OldVersion}) {
 	$version = $pkginfo->{OldVersion};
     } elsif ($pkginfo->{CurrentState} eq 'ConfigFiles') {
 	$version = 'residual config';
     }
 
     if ($pkginfo->{RunningKernel}) {
-	print "$pkg: $version (running kernel: $pkginfo->{RunningKernel})\n";
+	print "$pkg: $version (running kernel: $pkginfo->{RunningKernel})";
     } elsif ($pkginfo->{ManagerVersion}) {
-	print "$pkg: $version (running version: $pkginfo->{ManagerVersion})\n";
+	print "$pkg: $version (running version: $pkginfo->{ManagerVersion})";
+    } else {
+	print "$pkg: $version";
+    }
+
+    if ($installed && $upgradable) {
+	print " [available: " . $pkginfo->{Version} . "]\n";
     } else {
-	print "$pkg: $version\n";
+	print "\n";
     }
 }
 
@@ -50,7 +60,7 @@ my $opt_verbose;
 if (!GetOptions ('verbose' => \$opt_verbose)) {
     print_usage ();
     exit (-1);
-} 
+}
 
 if (scalar (@ARGV) != 0) {
     print_usage ();
@@ -76,7 +86,7 @@ __END__
 
 =head1 NAME
 
-pveversion - Proxmox  VE version info
+pveversion - Proxmox VE version info
 
 =head1 SYNOPSIS
 
-- 
2.39.2



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


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

end of thread, other threads:[~2024-04-18  8:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-18  7:44 [pve-devel] [PATCH manager] pveversion: show upgradable package version in verbose output Alexander Zeidler
2024-04-18  8:31 ` Stefan Sterz

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