From 3d5e3166acec780266549f3a8631374dc63016ca Mon Sep 17 00:00:00 2001 From: Ilia Ross Date: Tue, 4 Feb 2025 22:09:36 +0200 Subject: [PATCH] Fix to check for referenced package only when allowed --- phpini/edit_mods.cgi | 2 +- software/rpm-lib.pl | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/phpini/edit_mods.cgi b/phpini/edit_mods.cgi index 30634da56..677305aab 100644 --- a/phpini/edit_mods.cgi +++ b/phpini/edit_mods.cgi @@ -44,7 +44,7 @@ foreach my $m (@mods) { if (!$pkg) { # Package is referenced by another name foreach (@poss) { - my @pinfo = &software::package_info($_); + my @pinfo = &software::package_info($_, undef, 1); $pkg = { 'name' => $pinfo[0], 'version' => $pinfo[4] } if @pinfo; } diff --git a/software/rpm-lib.pl b/software/rpm-lib.pl index c13638477..1149f8ee4 100755 --- a/software/rpm-lib.pl +++ b/software/rpm-lib.pl @@ -40,7 +40,7 @@ return 0 if ($?); # couldn't find the package return $i; } -# package_info(package, [version]) +# package_info(package, [version], [check-referenced]) # Returns an array of package information in the order # name, class, description, arch, version, vendor, installtime sub package_info @@ -53,6 +53,7 @@ chop(@tmp); local $ex = close(RPM); local $whatprovides = ""; if (!@tmp || $tmp[0] =~ /not\s+installed/) { + return () if (!$_[2]); &open_execute_command(RPM, "rpm -q --whatprovides $n --queryformat \"%{NAME}\\n%{GROUP}\\n%{ARCH}\\n%{VERSION}-%{RELEASE}\\n%{VENDOR}\\n%{INSTALLTIME}\\n\" 2>/dev/null", 1, 1); @tmp = ; chop(@tmp);