aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Guldstrand <andreas.guldstrand@gmail.com>2016-05-01 13:12:38 +0200
committerAndreas Guldstrand <andreas.guldstrand@gmail.com>2016-05-01 13:12:38 +0200
commitbff15cefdd9ba452876dc5549db7ff674004efd4 (patch)
treed2804d4d97b346ede3936b118a88af0a5644c3e5
parentf4aa01cae8880814827b3e0130a7fd95f6077aba (diff)
downloadsbotools2-bff15cefdd9ba452876dc5549db7ff674004efd4.tar.xz
sboremove: rewrite get_reverse_reqs() to make use of in()
-rwxr-xr-xsboremove17
1 files changed, 5 insertions, 12 deletions
diff --git a/sboremove b/sboremove
index a7ca086..9622bca 100755
--- a/sboremove
+++ b/sboremove
@@ -13,7 +13,7 @@
use 5.16.0;
use strict;
use warnings FATAL => 'all';
-use SBO::Lib qw/ get_inst_names get_installed_packages get_sbo_location get_build_queue merge_queues get_requires get_readme_contents get_sbo_location show_version /;
+use SBO::Lib qw/ get_inst_names get_installed_packages get_sbo_location get_build_queue merge_queues get_requires get_readme_contents get_sbo_location show_version in /;
use Getopt::Long qw(:config bundling);
use File::Basename;
@@ -80,18 +80,11 @@ my (%required_by, @confirmed);
# populates the required_by hash
sub get_reverse_reqs {
my $installed = shift;
- FIRST: for my $inst (@$installed) {
+ INST: for my $inst (@$installed) {
my $require = get_requires($inst);
- next FIRST unless $$require[0];
- SECOND: for my $req (@$require) {
- unless ( $req eq '%README%' ) {
- THIRD: for my $inst_two (@$installed) {
- if ($req eq $inst_two) {
- push @{$required_by{$req}}, $inst;
- last THIRD;
- }
- }
- }
+ REQ: for my $req (@$require) {
+ next REQ if $req eq '%README%';
+ push @{ $required_by{$req} }, $inst if in($req => @$installed);
}
}
return 1;