1.Add funciton update_expansion_errors to check tmp_expansion_errors every time.
authorjun.wang <junbill.wang@samsung.com>
Tue, 19 Jul 2016 01:47:20 +0000 (09:47 +0800)
committerSoonKyu Park <sk7.park@samsung.com>
Mon, 26 Dec 2016 12:04:02 +0000 (21:04 +0900)
2.Not use update_pkgdeps()& update_pkgddeps() when some packages finish building and reduce the local full build time.

Change-Id: Ib6106294a7faf7f1f0f4b2108ed8a18a7832bfe7

depanneur

index 1797d1d377dc6cadfae1ffc9779a9b58376f9621..768f72cb353f2efda16308cd123b56f04e826575 100755 (executable)
--- 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;