From 0459599d1a189f9eb8aa1eae9cd719a58ed03411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= Date: Fri, 16 Feb 2018 10:49:27 +0100 Subject: [PATCH] pveversion: sort kernel packages by version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit instead of lexically by package name Signed-off-by: Fabian Grünbichler Reviewed-by: Thomas Lamprecht --- PVE/API2/APT.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/PVE/API2/APT.pm b/PVE/API2/APT.pm index d0e3d4bd..1199c204 100644 --- a/PVE/API2/APT.pm +++ b/PVE/API2/APT.pm @@ -24,8 +24,8 @@ use JSON; use PVE::JSONSchema qw(get_standard_option); use AptPkg::Cache; -use AptPkg::Version; use AptPkg::PkgRecords; +use Dpkg::Version; my $get_apt_cache = sub { @@ -521,7 +521,8 @@ __PACKAGE__->register_method({ # order most important things first my @list = qw(proxmox-ve pve-manager); - push @list, grep { /^pve-kernel-/ && $cache->{$_}->{CurrentState} eq 'Installed' } sort keys %$cache; + my $byver = sub { version_compare($cache->{$b}->{CurrentVer}->{VerStr}, $cache->{$a}->{CurrentVer}->{VerStr}) }; + push @list, sort $byver grep { /^pve-kernel-/ && $cache->{$_}->{CurrentState} eq 'Installed' } keys %$cache; my @opt_pack = qw( ceph