At 7:51 Uhr -0800 31.01.2002, Randal L. Schwartz wrote:
>It's not elegant, but it works.  You can ^C out of a download, or even
>say "give up" on a particular item, and it merely moves on to the next
>one.  This lets you fetch as much as possible while you're online, so
>you can build offline (except the still-missing pieces, of course).
>
>--- /sw/lib/perl5/Fink/Engine.pm-DIST   Tue Dec 11 08:53:39 2001
>+++ /sw/lib/perl5/Fink/Engine.pm        Thu Jan 31 08:45:38 2002
>@@ -445,7 +445,10 @@
>      $version = &latest_version($package->list_versions());
>      $vo = $package->get_version($version);
>      if (defined $vo) {
>-      $vo->phase_fetch(1);
>+      eval {
>+       $vo->phase_fetch(1);
>+      };
>+      warn "$@" if $@;         # turn fatal exceptions into warnings
>      }
>    }
>  }


OK I see. So we would add an option "--keep-going / -k" that steers 
this behaviour... maybe make it imply -y, too, or so.

Of course it would also be nice if e.g. a "update-all" would go on 
even if updating a certain package didn't work. This is complicated 
by the fact that the package that failed to build might be a 
dependency of other packages scheduled for building/updating.

The solution for this (and the way that allows us to add a 
BuildConflicts field, and to parse depends/conflicts already from 
within Fink) would be to add a full proper graph of all packages to 
be installed, where edges mark dependecy/conflict relations.

If a package was removed from that graph (because it failed to 
build/install), all packages depending on it would be removed from 
the graph, too, provided there is no other package already installed 
that satisfies the dependency, too (like an older version of the 
failed package etc.).


This is just a rough sketch. When you come to the actual process that 
decides on e.g. BuildConflicts, it gets quite a lot more complicated, 
because now things are not anymore uniquely identified, there are no 
suddenly more and more possibility on how packages could be 
combined... hrm..


Max
-- 
-----------------------------------------------
Max Horn
Software Developer

email: <mailto:[EMAIL PROTECTED]>
phone: (+49) 6151-494890

_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to