From: Michael Schröder Date: Wed, 3 Jun 2009 12:54:22 +0000 (+0000) Subject: - rpm3 compatibility: retrofit missing self provides X-Git-Tag: obs_2.0~192 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=530e81a44964fce54d2baa96c0dbc4a5c4823dfb;p=tools%2Fobs-build.git - rpm3 compatibility: retrofit missing self provides --- diff --git a/Build/Rpm.pm b/Build/Rpm.pm index 2658b64..108009c 100644 --- a/Build/Rpm.pm +++ b/Build/Rpm.pm @@ -707,7 +707,7 @@ sub query { my ($handle, %opts) = @_; my @tags = qw{NAME SOURCERPM NOSOURCE NOPATCH SIGTAG_MD5 PROVIDENAME PROVIDEFLAGS PROVIDEVERSION REQUIRENAME REQUIREFLAGS REQUIREVERSION}; - push @tags, qw{EPOCH VERSION RELEASE ARCH} if $opts{'evra'}; + push @tags, qw{EPOCH VERSION RELEASE ARCH}; push @tags, qw{FILENAMES} if $opts{'filelist'}; push @tags, qw{SUMMARY DESCRIPTION} if $opts{'description'}; my %res = rpmq($handle, @tags); @@ -728,6 +728,12 @@ sub query { $data->{'provides'} = [ grep {!/^rpmlib\(/ && !/^\//} @{$res{'PROVIDENAME'} || []} ]; $data->{'requires'} = [ grep {!/^rpmlib\(/ && !/^\//} @{$res{'REQUIRENAME'} || []} ]; } + # rpm3 compatibility: retrofit missing self provides + if (!@{$data->{'provides'}} || $data->{'provides'}->[-1] !~ /^\Q$res{'NAME'}->[0]\E =/) { + my $evr = "$res{'VERSION'}->[0]-$res{'RELEASE'}->[0]"; + $evr = "$res{'EPOCH'}->[0]:$evr" if $res{'EPOCH'} && $res{'EPOCH'}->[0]; + push @{$data->{'provides'}}, "$res{'NAME'}->[0] = $evr"; + } $data->{'source'} = $src if $src ne ''; if ($opts{'evra'}) { my $arch = $res{'ARCH'}->[0];