|
|
@@ -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;
|
|
|
}
|
|
|
|
|
|
|