From: jun.wang Date: Tue, 19 Jul 2016 01:47:20 +0000 (+0800) Subject: 1.Add funciton update_expansion_errors to check tmp_expansion_errors every time. X-Git-Tag: submit/devel/20190730.074511~43^2~15 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c39a6a0fbc547a6468b242663db00ef642245816;p=tools%2Fdepanneur.git 1.Add funciton update_expansion_errors to check tmp_expansion_errors every time. 2.Not use update_pkgdeps()& update_pkgddeps() when some packages finish building and reduce the local full build time. Change-Id: Ib6106294a7faf7f1f0f4b2108ed8a18a7832bfe7 --- diff --git a/depanneur b/depanneur index 1797d1d..768f72c 100755 --- a/depanneur +++ b/depanneur @@ -1472,6 +1472,22 @@ sub update_pkgddeps { } } +#--------------------------------------------------------------------- +# update tmp_expansion_errors when any of packages have been built +#--------------------------------------------------------------------- +sub update_expansion_errors { + my %new_expansion_errors = (); + foreach my $name (%tmp_expansion_errors) { + next if(! defined($to_build{$name}) ); + my $fn = $to_build{$name}->{filename}; + my @bdeps = expand_deps($fn); + if (!shift @bdeps ) { + $new_expansion_errors{$name} = [@bdeps]; + } + } + %tmp_expansion_errors = %new_expansion_errors; +} + #--------------------------------------------------------------------- # Figure out its dependencies and rdependencies # of a specified package, all of them will be build @@ -2340,8 +2356,9 @@ while (! $TERM) { if ($dirty) { # there is any package has been built refresh_repo(); - update_pkgdeps(); - update_pkgddeps(); + update_expansion_errors(); + #update_pkgdeps(); + #update_pkgddeps(); #if (check_circle() == 1) { # info("circle found, exit..."); # exit 1;