aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SBO-Lib/lib/SBO/Lib.pm13
1 files changed, 10 insertions, 3 deletions
diff --git a/SBO-Lib/lib/SBO/Lib.pm b/SBO-Lib/lib/SBO/Lib.pm
index 410f28a..d909862 100644
--- a/SBO-Lib/lib/SBO/Lib.pm
+++ b/SBO-Lib/lib/SBO/Lib.pm
@@ -576,9 +576,7 @@ sub get_local_outdated_versions {
# appended to them
sub version_cmp {
my ($v1, $v2) = @_;
- my $kv = `uname -r`;
- chomp $kv;
- $kv =~ s/-/_/g;
+ my $kv = get_kernel_version();
if ($v1 =~ /(.+)_\Q$kv\E$/) { $v1 = $1 }
if ($v2 =~ /(.+)_\Q$kv\E$/) { $v2 = $1 }
@@ -586,6 +584,15 @@ sub version_cmp {
versioncmp($v1, $v2);
}
+sub get_kernel_version {
+ state $kv;
+ return $kv if defined $kv;
+
+ chomp($kv = `uname -r`);
+ $kv =~ s/-/_/g;
+ return $kv;
+}
+
# pull the sbo name from a $location: $repo_path/system/wine, etc.
sub get_sbo_from_loc {
script_error('get_sbo_from_loc requires an argument.') unless @_ == 1;