X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bin%2Fwanna-build;h=a079c295da46adf4df777a8c46d63a88382c101d;hb=997b6600e6c8c451cdb23a3c58afd68a22ed5262;hp=debcca4db55e1008368d601638b658cce6f71c4b;hpb=a643f5463deb0e3890832eeadaf4f25c03aa3e80;p=wannabuild.git diff --git a/bin/wanna-build b/bin/wanna-build index debcca4..a079c29 100755 --- a/bin/wanna-build +++ b/bin/wanna-build @@ -1759,12 +1759,16 @@ sub list_packages { my $cnt = 0; my %scnt; my $ctime = time; + my $db; - my $db = get_all_source_info(); + if ($state ne "all") { + $db = get_all_source_info_state($state); + } else { + $db = get_all_source_info(); + } foreach $name (keys %$db) { next if $name =~ /^_/; $pkg = $db->{$name}; - next if $state ne "all" && $pkg->{'state'} !~ /^\Q$state\E$/i; next if $user && (lc($state) ne 'needs-build' and $pkg->{'builder'} ne $user); next if $category && $pkg->{'state'} eq "Failed" && $pkg->{'failed_category'} ne $category; @@ -2441,6 +2445,14 @@ sub get_all_source_info { return $db; } +sub get_all_source_info_state { + my $state = shift; + my $db = $dbh->selectall_hashref('SELECT * FROM ' . table_name() . + ' WHERE distribution = ? and state = ?', + 'package', undef, $distribution, $state); + return $db; +} + sub update_source_info { my $pkg = shift;