ソースを参照

now handles missing upgrade paths gracefully by falling back dependency to installed version

Michael van Elst 23 年 前
コミット
0d16d82eab
2 ファイル変更16 行追加4 行削除
  1. 14 2
      openpkg-tool/openpkg-build.pl
  2. 2 2
      openpkg-tool/openpkg-tool.spec

+ 14 - 2
openpkg-tool/openpkg-build.pl

@@ -884,7 +884,7 @@ sub dep2target ($$) {
     my($dep, $env) = @_;
     my($name,@vers);
     my($i,$r,$b,$cond,$version);
-    my($t);
+    my($t,$tdef);
 
     $dep =~ s/(\S+)\s*//;
     $name = $1;
@@ -908,10 +908,13 @@ sub dep2target ($$) {
         return;
     }
 
+    $tdef = undef;
+
     if ($i && (@vers = get_versions($i, $cond))) {
         foreach (@vers) {
             $t = $i->{$_}->[0];
             if (get_with($t), target_suitable($t, $env->{with})) {
+                $tdef = $t;
                 if (!$env->{upgrade}) {
                     return ($t, 1);
                 }
@@ -922,7 +925,16 @@ sub dep2target ($$) {
         return ($b->{$vers[0]}->[0], 1);
     }
 
-    return (chose_source($env, $name, $r, get_versions($r, $cond)), 0);
+    $t = chose_source($env, $name, $r, get_versions($r, $cond));
+    if ($t) {
+        return ($t, 0);
+    }
+
+    if ($tdef) {
+        return ($tdef, 1);
+    }
+
+    return;
 }
 
 

+ 2 - 2
openpkg-tool/openpkg-tool.spec

@@ -32,8 +32,8 @@ Packager:     The OpenPKG Project
 Distribution: OpenPKG [EVAL]
 Group:        Bootstrapping
 License:      GPL
-Version:      20021218
-Release:      20021218
+Version:      20021220
+Release:      20021220
 
 #   list of sources
 Source0:      openpkg.sh