From 268b5e16f24db532c53427bd856f15ba7e14fb39 Mon Sep 17 00:00:00 2001 From: Zhang Qiang Date: Fri, 13 Sep 2013 11:46:14 +0800 Subject: [PATCH] Support ExportFilter Take packages, which target arch compatiable with build system arch into resolve packages pool, and make it can be found by dependency resolver. Fixes: #1131 Change-Id: I2289bcf255bea2ff2ed96687d9cc67689ef7a248 --- depanneur | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/depanneur b/depanneur index 8a498dd..eb6ecd2 100755 --- a/depanneur +++ b/depanneur @@ -710,7 +710,7 @@ sub parse_packs { sub refresh_repo { my $rpmdeps = "$order_dir/.repo.cache"; my (%fn, %prov, %req); - + my %exportfilters = %{$config->{'exportfilter'}}; my %packs; my %ids; @@ -722,12 +722,24 @@ sub refresh_repo { while(<$fh>) { chomp; if (/^F:(.*?)-\d+\/\d+\/\d+: (.*)$/) { + my $pkgname = basename($2); $pkgF = $2; next if $fn{$1}; $fn{$1} = $2; my $pack = $1; $pack =~ /^(.*)\.([^\.]+)$/ or die; push @{$packs_arch{$2}}, $1; + my $basename = $1; + my $arch = $2; + for(keys %exportfilters) { + next if ($pkgname !~ /$_/); + for (@{$exportfilters{$_}}) { + my $target_arch = $_; + next if ($target_arch eq "."); + next if (! grep ($_ eq $target_arch, @archs)); + $packs{$basename} = "$basename.$arch" + } + } } elsif (/^P:(.*?)-\d+\/\d+\/\d+: (.*)$/) { $pkgP = $2; next if $prov{$1}; -- 2.7.4