Major refactoring. The original motivation was to get the newest
distributions available. This required working around issues with easy_install's --upgrade option: - Upgrade is not recursive. Upgrading a distro doesn't update it's dependencies. - Upgrade doesn't try very hard to avoid searching. If we require a specific version of a distribution, and we already have that distribution, there's no point in looking for a newer one. - easy_install has kind of odd rules for deciding when to look at an index. Now that we use upgrade all the time, easy_install always wants to look at an index. - We get warnings when connecting to index servers, like PyPI that return text/plain not found messages. We now have much greater control over how dependencies are managed. We've essentially taken this over from easy_install. Because we now always talk to an index server and because we want to control anything we do in a test, many of the tests actually run their own web servers. Anyway: - Now handle upgrades correctly, I think. - The egg recipe can now install multiple distributions. - We have the beginnings of offline mode. - The internal architeture is much cleaner. - We've merged the easy_install and egglinker modules, tossing some superfluois apis in the egglinker module.
Showing with 877 additions and 531 deletions