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