Add --use-higher-deps option, which repo provides higher version deps, use it
authory0169.zhang <y0169.zhang@samsung.com>
Thu, 18 Aug 2016 03:37:48 +0000 (12:37 +0900)
committerSoonKyu Park <sk7.park@samsung.com>
Fri, 23 Sep 2016 07:48:18 +0000 (16:48 +0900)
Change-Id: I127bc0a55dc59a9b4f737d41a02c1b37532fa030

depanneur

index 1efc736..d0f0ed1 100755 (executable)
--- a/depanneur
+++ b/depanneur
@@ -128,6 +128,7 @@ my $ccache = 0;         # use ccache to speed up building
 my $icecream = 0;       # use icecream to specify the number of parallel processes
 my $noinit = 0;         # don't check build root, just go into it and building
 my $keep_packs = 0;     # don't remove useless rpm packages from build root
+my $use_higher_deps = 0; # which repo provides higher version deps, use it
 my @defines;            # define extra macros for 'rpmbuild'
 my $arg_spec = "";      # spec file to be built this time
 my $start_time = "";    # build start time
@@ -201,6 +202,7 @@ GetOptions (
     "icecream=s" => \$icecream,
     "noinit" => \$noinit,
     "keep-packs" => \$keep_packs,
+    "use-higher-deps" => \$use_higher_deps,
     "define=s" => \@defines,
     "spec=s" => \$arg_spec,
     "clean-repos" => \$clean_repos,
@@ -963,7 +965,18 @@ sub refresh_repo {
         next if $req{$1};
         $req{$1} = $2;
       } elsif (/^I:(.*?)-\d+\/\d+\/\d+: (.*)$/) {
-        if ($ids{$1} && !$packs_done{$1} && defined($pkgF) && defined($pkgP) && defined($pkgR)) {
+        my $r = 0;
+        if ($use_higher_deps == 1) {
+          $r = 1;
+        } else {
+          if ($packs_done{$1}) {
+            $r = 0;
+          } else {
+            $r = 1;
+          }
+        }
+
+        if ($ids{$1} && ($r == 1) && defined($pkgF) && defined($pkgP) && defined($pkgR)) {
           my $i = $1;
           my $oldid = $ids{$1};
           my $newid = $2;
@@ -1626,6 +1639,7 @@ sub build_package {
     push @args, "--jobs " . $nprocessors * 2;
     push @args, "--no-init" if ($noinit == 1);
     push @args, "--keep-packs" if ($keep_packs == 1);
+    push @args, "--use-higher-deps" if ($use_higher_deps == 1);
     push @args, "--cachedir $cache_dir";
     push @args, "--dist $dist_configs/$dist.conf";
     push @args, "--arch $archpath";