0);
print sprintf('F:%s%ssuse/%s/%s',$id,$pkg->{'baseurl'},
$pkg->{'arch'}, $pkg->{'location'}), "\n";
-
- if(!$pkg->{'provides'}) # happens in 8.1 packages file
- {
- $pkg->{'provides'} = sprintf("%s = %s-%s", $pkg->{'name'}, $pkg->{'ver'}, $pkg->{'rel'});
- }
-
+
print "P:$id".$pkg->{'provides'}."\n";
print "R:$id".$pkg->{'requires'}."\n";
my $pkgs = Susetags::parse($packages, { 'Loc' => 'location', 'Prv' => 'provides', 'Req' => 'requires', 'Tim' => 'buildtime' }, \@order);
foreach (@order) {
my $pkg = $pkgs->{$_};
+ $pkg->{'provides'} = [] unless exists $pkg->{'provides'};
+ # add self provides (rpm3 misses that)
+ my $n = $pkg->{'name'};
+ if(substr($pkg->{'arch'}, -3) ne 'src' && !scalar grep(/^\Q$n\E( =.*)?$/,@{$pkg->{'provides'}}))
+ {
+ push @{$pkg->{'provides'}}, sprintf("%s = %s-%s", $pkg->{'name'}, $pkg->{'version'}, $pkg->{'release'});
+ }
$pkg->{'provides'} = join(' ', @{$pkg->{'provides'}});
- $pkg->{'requires'} = join(' ', @{$pkg->{'requires'}});
+ $pkg->{'requires'} = join(' ', @{$pkg->{'requires'}}) if $pkg->{'requires'};
$pkg->{'baseurl'} = $url;
my @data = split(' ', $pkg->{'location'});
# multi cd support hack