1. 30 May, 2005 4 commits
    • PJ Eby's avatar
      Ensure that the distribution name written to PKG-INFO is the same as the · a0453161
      PJ Eby authored
      name you'll use in 'require()' operations for that distribution.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041030
      a0453161
    • PJ Eby's avatar
      Add setup script "sandboxing" -- abort a setup script if it tries to write · 0017e334
      PJ Eby authored
      to the filesystem outside of the installer's temporary directory.  This is
      accomplished by temporarily replacing 'os.*' functions and the 'open'
      builtin with path-validation wrappers.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041029
      0017e334
    • PJ Eby's avatar
      Reorganize bdist_egg's handling of 'install_data' to better deal with the · c3e492cc
      PJ Eby authored
      various kludges legacy packages are using to install data in their package
      directories.  Some use absolute paths in 'distribution.data_files', while
      others create various subclasses of 'install_data', each with their own
      way of finding out what directory to use!  So 'bdist_egg' now does all its
      'install_lib' activity before 'install_data', and pokes the desired build
      directory into a wide variety of places, so that all of the known kludges
      so far will work correctly.  It also checks for absolute paths in
      'data_files' (carefully working around other packages' 'data_files'
      kludges!) and converts them back to relative ones, if they are subpaths of
      site-packages.
      
      Clearly, we need to get the word out about 'package_files' in Python 2.4
      and above, and suggest using 'setuptools' for Python 2.3.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041028
      c3e492cc
    • PJ Eby's avatar
      Add SourceForge download support, graciously contributed by Ian Bicking. · 3dbc1ee1
      PJ Eby authored
      Also, move some more imports to the top.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041027
      3dbc1ee1
  2. 29 May, 2005 10 commits
  3. 28 May, 2005 1 commit
    • PJ Eby's avatar
      Add experimental 'install_data' support to 'bdist_egg'. The most common · e15ee4d4
      PJ Eby authored
      distutils custom command hack in the field is to make 'install_data'
      put data in with the target packages by changing the --install-data to
      match --install-lib, so this should let bdist_egg work with more packages
      "out of the box".
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041016
      e15ee4d4
  4. 25 May, 2005 3 commits
    • PJ Eby's avatar
      Fix some typos and a missing import · 02786fee
      PJ Eby authored
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041015
      02786fee
    • PJ Eby's avatar
      Implement draft support for namespace packages, both declaring them · 30a898c6
      PJ Eby authored
      initially and fixing them up when new eggs are added to sys.path.  At the
      moment, all namespace packages are fixed up whenever any new egg is added
      to sys.path, but this might not scale well if there are lots of eggs and
      lots of namespace packages.  Perhaps we should limit namespace fixups to
      namespace packages explicitly declared in the egg?
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041014
      30a898c6
    • PJ Eby's avatar
      Support registering distribution finders for arbitrary PEP 302 importer · e3437307
      PJ Eby authored
      types, so that the directory scanner isn't a hardcoded case.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041013
      e3437307
  5. 24 May, 2005 1 commit
    • PJ Eby's avatar
      Implement a draft version of 'find_distributions()' with hardcoded support · 990433f4
      PJ Eby authored
      for packed and unpacked .egg files and .egg-info dirs.  This will need to
      be refactored later to support registering adapters for arbitrary PEP 302
      importers, so that it can deal with non-filesystem sys.path entries.
      
      In the meantime, however, this means that 'require()' now works and that
      intrepid souls may now witness the power of this fully operational battle
      station...
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041012
      990433f4
  6. 23 May, 2005 3 commits
    • PJ Eby's avatar
      Make AvailableDistributions check distributions for Python version · 32b676b2
      PJ Eby authored
      compatibility as well as platform compatibility.  Rename get_distro_source
      to 'find_distributions', and get rid of intermediate distro-source objects.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041011
      32b676b2
    • PJ Eby's avatar
      Add a rough draft of Distribution.install_on(), to let others experiment · c710ada1
      PJ Eby authored
      with 'require()' before the "official" version is complete.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041010
      c710ada1
    • PJ Eby's avatar
      Add tests for AvailableDistributions().resolve(). This effectively · 22370657
      PJ Eby authored
      completes the core dependency resolution engine; all we need now is a way
      to turn sys.path entries into "distribution sources" that can list
      Distribution objects for inclusion in an instance of
      AvailableDistributions, and the 'require("SomePkg>=2.7")' API will be
      usable.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041009
      22370657
  7. 22 May, 2005 3 commits
    • PJ Eby's avatar
      Added support for specifying options on requirements, so that a package's · 489117c3
      PJ Eby authored
      optional dependencies can be included when processing nested dependencies.
      Next up: tests for the resolve() algorithm.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041008
      489117c3
    • PJ Eby's avatar
      Distribution metadata parsing: distribution objects can now extract their · 1fb2b027
      PJ Eby authored
      version from PKG-INFO and their dependencies from depends.txt, including
      optional dependencies.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041007
      1fb2b027
    • PJ Eby's avatar
      Refine dependency resolution algorithm so it won't take exponential time, · 05d3b06a
      PJ Eby authored
      or bomb on cyclic dependencies.  (But it's still an untested sketch.)
      Added list of things that need to be implemented before dependency
      resolution can actually work.  Added tests for lower-level parts of the
      dependency resolution system, and a hook to support subclasses doing
      automatic download of needed dependencies.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041006
      05d3b06a
  8. 21 May, 2005 1 commit
  9. 03 Apr, 2005 4 commits
    • PJ Eby's avatar
      Added "AvailableDistributions" class that finds and indexes usable · 58217442
      PJ Eby authored
      distributions; this replaces the previous "iter_distributions()" API.
      Added basic platform support to Distribution and AvailableDistributions so
      that platform-independent distros as well as local platform-compatible
      distros are acceptable.  The actual platform scheme is currently delegated
      to distutils.util.get_platform(), but needs to be replaced with a better
      scheme of some kind, especially for OS X.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041004
      58217442
    • PJ Eby's avatar
      Remove setuptools_boot.py, as it can now be trivially replaced by including · ac8607b2
      PJ Eby authored
      a setuptools .egg file in your source distribution, and adding it to
      sys.path in your setup.py.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041003
      ac8607b2
    • PJ Eby's avatar
      Fix handling of -/_ so that they are canonicalized to '-' when doing name · 28db1979
      PJ Eby authored
      or version comparisons, but rendered as '_' in egg filenames.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041002
      28db1979
    • PJ Eby's avatar
      Add a "Distribution" object that wraps a sys.path entry with metadata, and · 7311c34a
      PJ Eby authored
      can extract its name/version/pythonversion/platform if built from a .egg
      filename.  Later, distributions will be able to add themselves to sys.path
      and request that their dependencies be added as well.  Also, added some
      real-life version test cases supplied by jemfinch.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041001
      7311c34a
  10. 02 Apr, 2005 2 commits
    • PJ Eby's avatar
      Add a simple version parser that combines the pre-release smarts of · 1a7cff66
      PJ Eby authored
      distutils' StrictVersion, with the flexibility of LooseVersion.  It also
      deals heuristically with common concepts like alpha/beta/candidate/rc
      and pre/preview, as well as '-' and 'pl' branching schemes.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041000
      1a7cff66
    • PJ Eby's avatar
      Rough draft of version requirement parser. Make bdist_egg look for a · 6d3753cc
      PJ Eby authored
      distname.egg-info directory instead of EGG-INFO.in; this will be used later
      to support development of egg-distributed packages that an application
      under development expects to 'require()'.  (Thanks to Fred Drake for
      pointing out this use case, and Bob Ippolito for helping me figure out how
      to support it, although the runtime support doesn't actually exist yet.)
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4040999
      6d3753cc
  11. 01 Apr, 2005 1 commit
  12. 24 Mar, 2005 3 commits
  13. 23 Mar, 2005 1 commit
    • PJ Eby's avatar
      Add a working pkg_resources implementation that handles extraction and · ee8b1aa7
      PJ Eby authored
      basic support for non-egg resources.  Still a lot to do, but this version
      is capable of not only extracting and running C extensions, it can even
      find its own runtime (pkg_resources) if it's included in the egg.
      
      --HG--
      branch : setuptools
      extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4040994
      ee8b1aa7
  14. 22 Mar, 2005 2 commits
  15. 21 Mar, 2005 1 commit