- fix library updates special cases: should note all potential library packages as conflicts. Then save_old_libraries can split stuff off old sets to keep libraries that are not in the new packages. There's only one slightly tricky part, which concerns moving stuff that's not really needed out of $set->{older}. - make sure solved dependencies are adjusted along with stuff that actually get installed or replaced... this would make some stuff ways less brittle. - handle n-to-1 updates: mostly need to allow for a list of replaced packages. The tricky part is that the replaced packages will often have inter-dependencies, and we must ignore those inter-dependencies. - clean up the interface of the dependencies module, to be able to use it in n-to-1 updates. - in interactive mode, make it ask questions whenever the user could get frustrated. - finish pulling the pkg_add code into Add.pm/Update.pm. - figure out when to continue after some errors, which should not stop a full update, for instance... or ignore already installed packages. - make sure all user-interface is done through a few functions, so that it's easy to plug another interface in. - add needed annotations to handle updates correctly.