Update of /cvsroot/fink/experimental/rangerrick/finkinfo/fink
In directory usw-pr-cvs1:/tmp/cvs-serv3508

Added Files:
        fink-pickvirtuals.patch 
Removed Files:
        fink-reinstall-bug.patch 
Log Message:
automatically pick a virtual if a sibling is in the dep list


--- NEW FILE: fink-pickvirtuals.patch ---
Index: perlmod/Fink/Engine.pm
===================================================================
RCS file: /cvsroot/fink/fink/perlmod/Fink/Engine.pm,v
retrieving revision 1.76
diff -u -u -r1.76 Engine.pm
--- perlmod/Fink/Engine.pm      31 Oct 2002 23:53:34 -0000      1.76
+++ perlmod/Fink/Engine.pm      7 Nov 2002 22:49:53 -0000
@@ -911,6 +911,47 @@
       }
 
       if (not $found) {
+        # check if a sibling package has been marked for install
+        # if so, choose it instead of asking
+
+        my ($cand, $parent, $dp, $dparent);
+        SIBCHECK: foreach $cand (@candidates) {
+          my $package = Fink::Package->package_by_name($cand);
+          my $lversion = &latest_version($package->list_versions());
+          my $vo = $package->get_version($lversion);
+
+          if (exists $vo->{_splitoffs} and @{$vo->{_splitoffs}} > 0) {
+            $parent = $vo;  # package is itself splitoff parent
+          } elsif (exists $vo->{parent}) {
+            $parent = $vo->{parent};  # package is a splitoff
+          } else {
+            $parent = $vo;
+          }
+
+          foreach $dp (keys %deps) {
+            my $dpackage  = Fink::Package->package_by_name($dp);
+            my $dlversion = &latest_version($dpackage->list_versions());
+            my $dvo       = $dpackage->get_version($dlversion);
+
+            if (exists $dvo->{_splitoffs} and @{$dvo->{_splitoffs}} > 0) {
+              $dparent = $dvo;  # package is itself splitoff parent
+            } elsif (exists $dvo->{parent}) {
+              $dparent = $dvo->{parent};  # package is a splitoff
+            } else {
+              $dparent = $dvo;
+            }
+
+            if ($dparent->get_name() eq $parent->get_name()) {
+              print "found sibling ", $dname, "\n";
+              $dname = $cand;
+              $found = 1;
+              last SIBCHECK;
+            }
+          }
+        }
+      }
+
+      if (not $found) {
        # let the user pick one
 
        my $labels = {};

--- fink-reinstall-bug.patch DELETED ---



-------------------------------------------------------
This sf.net email is sponsored by: See the NEW Palm 
Tungsten T handheld. Power & Color in a compact size!
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en
_______________________________________________
Fink-commits mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to