aboutsummaryrefslogtreecommitdiff
path: root/SBO-Lib/lib
diff options
context:
space:
mode:
authorAndreas Guldstrand <andreas.guldstrand@gmail.com>2016-06-01 00:11:28 +0200
committerAndreas Guldstrand <andreas.guldstrand@gmail.com>2016-06-01 00:11:28 +0200
commit3c9729439ad7d589231468d391aeba453c96307d (patch)
treed3640ca2bd251ce5f3679522651975b01c3fe7a5 /SBO-Lib/lib
parent3e51f95249ee3a21747f89c8a385ba5534d91043 (diff)
downloadsbotools2-3c9729439ad7d589231468d391aeba453c96307d.tar.xz
SBO::Lib: rewrite get_available_updates to not be so funky
Diffstat (limited to 'SBO-Lib/lib')
-rw-r--r--SBO-Lib/lib/SBO/Lib.pm18
1 files changed, 8 insertions, 10 deletions
diff --git a/SBO-Lib/lib/SBO/Lib.pm b/SBO-Lib/lib/SBO/Lib.pm
index f953e7d..79e4acd 100644
--- a/SBO-Lib/lib/SBO/Lib.pm
+++ b/SBO-Lib/lib/SBO/Lib.pm
@@ -629,19 +629,17 @@ sub get_sbo_version {
sub get_available_updates {
my @updates;
my $pkg_list = get_installed_packages('SBO');
- FIRST: for my $key (keys @$pkg_list) {
- my $location = get_sbo_location($$pkg_list[$key]{name});
- # if we can't find a location, assume invalid and skip
- next FIRST unless $location;
+
+ for my $pkg (@$pkg_list) {
+ my $location = get_sbo_location($pkg->{name});
+ next unless $location;
+
my $version = get_sbo_version($location);
- if (versioncmp($version, $$pkg_list[$key]{version}) != 0) {
- push @updates, {
- name => $$pkg_list[$key]{name},
- installed => $$pkg_list[$key]{version},
- update => $version
- };
+ if (versioncmp($version, $pkg->{version}) != 0) {
+ push @updates, { name => $pkg->{name}, installed => $pkg->{version}, update => $version };
}
}
+
return \@updates;
}