From 24558d3592895c919ac75cae6fb83e16bd9397a6 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Mon, 30 Jun 2008 17:27:57 +0000 Subject: enhance rpm-find-leaves to handle versions in require/provides --- rpm-find-leaves | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'rpm-find-leaves') diff --git a/rpm-find-leaves b/rpm-find-leaves index f41c0a26..b257d25f 100644 --- a/rpm-find-leaves +++ b/rpm-find-leaves @@ -53,11 +53,17 @@ my %provides; foreach my $pkg (@packages) { next if $options{restrict_group} && $pkg->group !~ /\Q$options{group}/oi; $l{$pkg->name} = $pkg; - push @{$provides{$_}}, $pkg->name foreach $pkg->provides_nosense; + push @{$provides{$_}}, $pkg foreach $pkg->provides_nosense; } foreach my $pkg (@packages) { - delete @l{grep { $_ ne $pkg->name } @{$provides{$_} || []}} foreach $pkg->requires_nosense; + foreach my $prop ($pkg->requires) { + my ($n, $s) = URPM::property2name_range($prop); + foreach my $p (@{$provides{$n} || []}) { + $p != $pkg && $p->provides_overlap($prop) and + delete $l{$p->name}; + } + } } if ($options{fullname}) { -- cgit v1.2.1