Version detection fixes

This commit is contained in:
Jamie Cameron
2025-04-17 21:48:05 -07:00
parent 4018977aeb
commit 4082701c48
3 changed files with 10 additions and 4 deletions

View File

@@ -221,6 +221,7 @@ pkgs_title=PHP Packages
pkgs_name=Package name
pkgs_ver=Package version
pkgs_phpver=PHP version
pkgs_bin=Executable
pkgs_shortver=Short version
pkgs_users=Used by
pkgs_delete=Delete Selected Packages

2
phpini/list_pkgs.cgi Normal file → Executable file
View File

@@ -16,6 +16,7 @@ if (@pkgs) {
print &ui_columns_start([ "", $text{'pkgs_name'},
$text{'pkgs_ver'},
$text{'pkgs_phpver'},
$text{'pkgs_bin'},
$vmap ? (
$text{'pkgs_shortver'},
$text{'pkgs_users'} ) : ( ),
@@ -34,6 +35,7 @@ if (@pkgs) {
$pkg->{'name'},
$pkg->{'ver'},
$pkg->{'phpver'},
$pkg->{'binary'},
$vmap ? ( $pkg->{'shortver'}, $users ) : ( ),
], \@tds, "d", $pkg->{'name'});
$got{$pkg->{'name'}}++;

View File

@@ -881,8 +881,8 @@ my @rv;
my %done;
for(my $i=0; $i<$n; $i++) {
my $name = $software::packages{$i,'name'};
next if ($name !~ /^php(\d*)(-php)?$/);
my $suffix = $1;
next if ($name !~ /^(php\d*)(-php|-runtime)?$/);
$name = $1;
my $phpver = $software::packages{$i,'version'};
$phpver =~ s/\-.*$//;
my $bin;
@@ -902,7 +902,6 @@ for(my $i=0; $i<$n; $i++) {
if ($shortver =~ /^5\./) {
$shortver = "5";
}
next if ($done{$phpver}++);
push(@rv, { 'name' => $software::packages{$i,'name'},
'system' => $software::packages{$i,'system'},
'ver' => $software::packages{$i,'version'},
@@ -910,6 +909,8 @@ for(my $i=0; $i<$n; $i++) {
'phpver' => $phpver,
'binary' => $bin, });
}
@rv = sort { $a->{'name'} cmp $b->{'name'} } @rv;
@rv = grep { !$done{$_->{'shortver'}}++ } @rv;
return sort { &compare_version_numbers($a->{'ver'}, $b->{'ver'}) } @rv;
}
@@ -936,6 +937,9 @@ return @rv;
# list_available_php_packages()
# Returns a list of hash refs, one per PHP version available, with the
# following keys :
# name - Package name
# ver - Package version
# phpver - PHP version
sub list_available_php_packages
{
&foreign_require("package-updates");
@@ -943,7 +947,6 @@ my @rv;
foreach my $pkg (&package_updates::list_available()) {
my $name = $pkg->{'name'};
next if ($name !~ /^php(\d*)$/);
my $suffix = $1;
my $phpver = $pkg->{'version'};
$phpver =~ s/\-.*$//;
my $shortver = $phpver;