my $name;
my $full = shift;
- my $pkgs = get_all_source_info();
+ my $db = get_all_source_info();
local($/) = ""; # read in paragraph mode
while( <> ) {
$pkgs{$name}{'bin'} = $binaries;
$pkgs{$name}{'dep'} = $builddep;
$pkgs{$name}{'conf'} = $buildconf;
- my $pkg = $pkgs->{$name};
+ my $pkg = $db->{$name};
if (defined $pkg) {
my $change = 0;
"from database, because now Arch: all\n"
if $verbose;
del_source_info($name);
+ delete $db->{$name};
next;
}
}
# remove installed packages that no longer have source available
# or binaries installed
- my $db = get_all_source_info();
foreach $name (keys %$db) {
next if $name =~ /^_/;
my $pkg = $db->{$name};
"not in Sources anymore\n"
if $verbose;
del_source_info($name);
+ delete $db->{$name};
} else {
next if !isin( $pkg->{'state'}, qw(Installed) );
if ($full && not defined $merge_srcvers{$name}) {
"binaries don't exist anymore\n"
if $verbose;
del_source_info($name);
+ delete $db->{$name};
} elsif ($full && version_less( $merge_srcvers{$name}, $pkg->{'version'})) {
print "$name ($pkg->{'version'}): ".
"package is Installed but binaries are from ".