diff options
author | Andreas Guldstrand <andreas.guldstrand@gmail.com> | 2016-05-01 13:12:38 +0200 |
---|---|---|
committer | Andreas Guldstrand <andreas.guldstrand@gmail.com> | 2016-05-01 13:12:38 +0200 |
commit | bff15cefdd9ba452876dc5549db7ff674004efd4 (patch) | |
tree | d2804d4d97b346ede3936b118a88af0a5644c3e5 | |
parent | f4aa01cae8880814827b3e0130a7fd95f6077aba (diff) | |
download | sbotools2-bff15cefdd9ba452876dc5549db7ff674004efd4.tar.xz |
sboremove: rewrite get_reverse_reqs() to make use of in()
-rwxr-xr-x | sboremove | 17 |
1 files changed, 5 insertions, 12 deletions
@@ -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; |