tests.egg_info: Test absolute egg-base install
Make sure this copies the appropriate metadata into EGG-INFO.  This
test currently fails, but the next commit fixes setuptools so it will
pass.
egg_info: Search egg-base for files to add to the manifest
Before this commit, this:

  $ mkdir -p /tmp/xyz/{home,lib,scripts,data,egg}
  $ cat >/tmp/xyz/home/.pydistutils.cfg <<EOF
  > [egg_info]
  > egg-base = /tmp/xyz/egg
  > EOF
  $ export PYTHONPATH=/tmp/xyz/lib
  $ export HOME=/tmp/xyz/home
  $ setup.py install --home=/tmp/xyz/home --install-lib=/tmp/xyz/lib \
  >   --install-scripts=/tmp/xyz/scripts --install-data=/tmp/xyz/data

drops a lot of metadata, installing only SOURCES.txt and zip-safe
under EGG-INFO.  The problem is that the metadata files are written to
egg-base, but egg-base is not searched when creating the manifest
because it's outside of the current directory.  Work around this by
explicitly searching egg-base with distutils.filelist.findall (which
is really the version monkeypatched in by setuptools/__init__.py).

Since findall records relative paths, prefix the returned paths with
egg-base, so the include_pattern looking for the absolute
ei_cmd.egg_info will match them.
egg_info: Split manifest_maker._add_egg_info into its own method

On Sat, Oct 11, 2014 at 04:23:37PM -0000, Jason R. Coombs wrote [1]:
> I suggest implementing the functionality as a separate method with a
> docstring explaining the purpose.

so that's what we have here. The docstring is adapted from the
cbd4f603 (egg_info: Search egg-base for files to add to the manifest,
2014-10-16) commit message.

It's a lot of docs for a single command (although there is a newsted
list comprehension), so I'm fine if you drop this commit before
merging. The motivation behind the lines would still be available in
the version control history:

  $ hg blame -c setuptools/command/egg_info.py | grep -A1 ei_cmd.egg_base
  cbd4f6038604: if ei_cmd.egg_base != os.curdir:
  cbd4f6038604: self.filelist.allfiles.extend([
  cbd4f6038604: os.path.join(ei_cmd.egg_base, path)
  cbd4f6038604: for path in distutils.filelist.findall(ei_cmd.egg_base)])
  80108b046cb6: self.filelist.include_pattern("*", prefix=ei_cmd.egg_info)
  $ hg log -vr cbd4f6038604
  changeset: 3163:cbd4f6038604
  ...
  description:
  egg_info: Search egg-base for files to add to the manifest
  Before this commit, this:

    $ mkdir -p /tmp/xyz/{home,lib,scripts,data,egg}
    $ cat >/tmp/xyz/home/.pydistutils.cfg <<EOF
  ...

[1]: https://bitbucket.org/pypa/setuptools/pull-request/85/egg_info-search-egg-base-for-files-to-add/diff#comment-3418032
Update changelog
Edit docstring for imperative form
Remove superfluous list construction.
Extract variables to capture substeps.
Move invocation bypass into function itself, pertinent to the docstring.
Use os.pathsep. Fixes failure on Windows