my $self = shift;
die "db not open" unless $self->{db};
- foreach my $iter (@{$self->{active_iterators}}) {
- $iter->_cleanup();
- }
-
- $self->{active_iterators} = [];
-
RPM2::_close_rpm_db($self->{db});
$self->{db} = undef;
}
die "db closed" unless $self->{db};
my $iter = RPM2::PackageIterator->new_iterator($self->{db}, $str);
- push @{$self->{active_iterators}}, $iter;
return $iter;
}
-sub _remove_iter {
- my $self = shift;
- my $iter = shift;
-
- @{$self->{active_iterators}} = grep { $_ != $iter } @{$self->{active_iterators}};
-}
-
sub DESTROY {
my $self = shift;
my $self = bless {}, $class;
$self->{iter} = RPM2::_init_iterator($db, RPM2::PackageIterator::RPMDBI_PACKAGES, $key, defined $key ? length $key : 0);
+ $self->{db} = $db;
return $self;
}
while(1) {
my @h;
push @h, [ RPM2->open_package_file($_) ]
- foreach <~/rhn/RPMS/*.rpm>;
+ foreach <~/rhn/bs/6.2/RPMS/*.rpm>;
print $_->[0]->as_nvre, "\n" foreach @h;
}
-exit;
-
-my $i = $db->iterator();
-while (my $h = $i->next) {
- my $epoch = $h->tag('epoch');
- my $epoch_str = '';
- $epoch_str = "$epoch:" if defined $epoch;
-
- print $epoch_str . join("-", map { $h->tag($_) } qw/name version release/);
- my @files = $h->files;
- my $n = scalar @files;
- print " ($n files)";
- print "\n";
+#exit;
+
+while (1) {
+ my $i = $db->iterator();
+ while (my $h = $i->next) {
+ my $epoch = $h->tag('epoch');
+ my $epoch_str = '';
+ $epoch_str = "$epoch:" if defined $epoch;
+
+ print $epoch_str . join("-", map { $h->tag($_) } qw/name version release/);
+ my @files = $h->files;
+ my $n = scalar @files;
+ print " ($n files)";
+ print "\n";
+ }
}
-
$db->close_rpm_db();