• jim's avatar
    Major refactoring. The original motivation was to get the newest · ffd53de2
    jim authored
    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.
    
    
    git-svn-id: http://svn.zope.org/repos/main/zc.buildout/trunk@68838 62d5b8a3-27da-0310-9561-8e5933582275
    ffd53de2
egg.py 2.65 KB