aboutsummaryrefslogtreecommitdiff
path: root/SBO-Lib/lib/SBO
diff options
context:
space:
mode:
authorAndreas Guldstrand <andreas.guldstrand@gmail.com>2016-06-15 00:06:09 +0200
committerAndreas Guldstrand <andreas.guldstrand@gmail.com>2016-06-15 00:06:09 +0200
commit39f44048a60877c0986621ae02ca66d93a4ec038 (patch)
tree68249eb73834bbd3e2c7b8837be1c88ca449e8ef /SBO-Lib/lib/SBO
parent5506bd661d4f05aa79df8d00ef7972a746374540 (diff)
downloadsbotools2-39f44048a60877c0986621ae02ca66d93a4ec038.tar.xz
SBO::Lib: refactor version_cmp to get kernel version from function
Diffstat (limited to 'SBO-Lib/lib/SBO')
-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;