فهرست منبع

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($dep, $env) = @_;
     my($name,@vers);
     my($name,@vers);
     my($i,$r,$b,$cond,$version);
     my($i,$r,$b,$cond,$version);
-    my($t);
+    my($t,$tdef);
 
 
     $dep =~ s/(\S+)\s*//;
     $dep =~ s/(\S+)\s*//;
     $name = $1;
     $name = $1;
@@ -908,10 +908,13 @@ sub dep2target ($$) {
         return;
         return;
     }
     }
 
 
+    $tdef = undef;
+
     if ($i && (@vers = get_versions($i, $cond))) {
     if ($i && (@vers = get_versions($i, $cond))) {
         foreach (@vers) {
         foreach (@vers) {
             $t = $i->{$_}->[0];
             $t = $i->{$_}->[0];
             if (get_with($t), target_suitable($t, $env->{with})) {
             if (get_with($t), target_suitable($t, $env->{with})) {
+                $tdef = $t;
                 if (!$env->{upgrade}) {
                 if (!$env->{upgrade}) {
                     return ($t, 1);
                     return ($t, 1);
                 }
                 }
@@ -922,7 +925,16 @@ sub dep2target ($$) {
         return ($b->{$vers[0]}->[0], 1);
         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]
 Distribution: OpenPKG [EVAL]
 Group:        Bootstrapping
 Group:        Bootstrapping
 License:      GPL
 License:      GPL
-Version:      20021218
-Release:      20021218
+Version:      20021220
+Release:      20021220
 
 
 #   list of sources
 #   list of sources
 Source0:      openpkg.sh
 Source0:      openpkg.sh