resolving skipped pacakge in advance
authorZhang Qiang <qiang.z.zhang@intel.com>
Sat, 21 Jun 2014 07:28:13 +0000 (15:28 +0800)
committerZhang Qiang <qiang.z.zhang@intel.com>
Sun, 22 Jun 2014 00:01:59 +0000 (08:01 +0800)
skipped pacakges should be caculated more earlier, which may
avoid detect usless circles for building

Change-Id: Ibc540df62bb7416b7e4c84d0a610de70dd508f6a
Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
depanneur

index 62a42978dc06c2735cd863f465931e640d9de30b..c8a3db595096d90b167c9fd94d932f7b4ada2749 100755 (executable)
--- a/depanneur
+++ b/depanneur
@@ -1772,6 +1772,28 @@ my %packs = parse_packs($config, @packs);
 info("building repo metadata ...");
 refresh_repo();
 
+
+info("resolving skipped packages ...");
+# only check skipping & overwriting for none noinit/incremental build
+if ($noinit == 0 && $incremental == 0) {
+    foreach my $name (keys %to_build) {
+        my $fn = $to_build{$name}->{filename};
+        my $version = $to_build{$name}->{version};
+        my $release = $to_build{$name}->{release};
+
+        my $src_rpm = "$srpm_repo_path/$name-$version-$release.src.rpm";
+        if (-f $src_rpm) {
+            if ($overwrite) {
+                info("*** overwriting $name-$version-$release $arch ***");
+            } else {
+                info("skipping $name-$version-$release $arch ");
+                push(@skipped, $name);
+            }
+        }
+    }
+}
+
+
 info("package dependency resolving ...");
 update_pkgdeps();
 update_pkgddeps();
@@ -1834,28 +1856,6 @@ if ( ! -e "$rpm_repo_path" ) {
     createrepo ($arch, $dist);
 }
 
-# only check skipping & overwriting for none noinit/incremental build
-if ($noinit == 0 && $incremental == 0) {
-    foreach my $name (keys %to_build) {
-        my $fn = $to_build{$name}->{filename};
-        my $version = $to_build{$name}->{version};
-        my $release = $to_build{$name}->{release};
-
-        my $src_rpm = "$srpm_repo_path/$name-$version-$release.src.rpm";
-        if (-f $src_rpm) {
-            if ($overwrite) {
-                info("*** overwriting $name-$version-$release $arch ***");
-            } else {
-                info("skipping $name-$version-$release $arch ");
-                push(@skipped, $name);
-            }
-        }
-    }
-    # refresh pkgdeps to remove skipped packages
-    update_pkgdeps();
-    update_pkgddeps();
-}
-
 
 # Signal handling
 $SIG{'INT'} = $SIG{'TERM'} = sub {