Reorganize bdist_egg's handling of 'install_data' to better deal with the 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.
Reorganize bdist_egg's handling of 'install_data' to better deal with the
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

pypa/setuptools,pypa/setuptools,pypa/setuptools