pkg-static: Plist error, directory listed as a file: <something>.egg-info

Kubilay Kocak koobs.freebsd at
Sun Apr 13 01:22:39 UTC 2014

Over the past week, a number of users have reported the following error
when upgrading Python ports:

"pkg-static: Plist error, directory listed as a file:<something>.egg-info"

This has been isolated as a symptom of:

  a) A recent pkg version (1.2.7_1) which now generates an error
     instead of silently creating a corrupt package

  b) Python installations that contain *multiple* python packages that
     provide the setuptools module (such as setuptools and distribute).

This (b) can either be the result of a manual install as root (via
easy_install or pip) outside of the scope of ports/packages, or due to
leftovers from previous upgrades.

The root cause is a version of setuptools is imported during the python `install` stage, that does not contain a patch which removes
directory entries from --record output (a feature of setuptools).

Users should inspect their ${LOCALBASE}/lib/pythonX.Y/site-packages
directory, and remove any packages that reference old versions of
setuptools or distribute.

Some examples of entries that may be removed are:

1) distribute-0.6.35-py2.7.egg
2) setuptools-0.6c11-py2.7.egg
3) *Any* version of setuptools directly from PyPi via pip or easy_install

If you have any questions, or are unsure whether you can remove a
particular entry or not, either:

- Delete it, then reinstall devel/py-setuptoolsXY for good measure, OR
- Check with us on the mailing list or at #freebsd-python on freenode IRC


You want to be left with the version of setuptools from ports/packages
(currently 2.0.1) as the *only* installed Python package in site-packages/.

More information about the freebsd-ports mailing list