maintainer-feedback requested: [Bug 216953] devel/py-setuptools: egg_info fails under python 3.4.6 on nonexistent MANIFEST graft

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Feb 10 01:03:48 UTC 2017


John W. O'Brien <john at saltant.com> has reassigned Bugzilla Automation
<bugzilla at FreeBSD.org>'s request for maintainer-feedback to FreeBSD Python
<python at FreeBSD.org>:
Bug 216953: devel/py-setuptools: egg_info fails under python 3.4.6 on
nonexistent MANIFEST graft
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216953



--- Description ---
Created attachment 179814
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=179814&action=edit
Terminal capture showing passing and failing examples

When the MANIFEST.in file contains a graft statement that refers to a directory
that does not exist, the egg_info command will fail when run under python
3.4.6.

Expected behavior:

    setuptools warns on the nonexistent directory

Observed behavior:

    setuptools exits with an error on the nonexistent directory due to an
unhandled `FileNotFoundError` exception

How to reproduce:

    export DISTUTILS_DEBUG=yes
    echo "graft nope" > MANIFEST.in
    python3.4 \
	-c "from setuptools import setup; setup(name='x', version='0.1.0')" \
	sdist

See the attached sample output comparing output between `distutils.core.setup`
and `setuptools.setup` across all versions of python currently supported on
FreeBSD. Only the combination of `setuptools` with python 3.4.6 exhibit this
problem.

N.B. I believe the underlying problem is where `setuptools.commands.egg_info`
uses `distutils.filelist.findall`. I chose to demonstrate the problem with the
sdist command because that is the only `distutils` command that uses
`distutils.filelist.findall`.

See some background on this bug on the freebsd-python list [0].

[0] https://lists.freebsd.org/pipermail/freebsd-python/2017-January/011524.html


More information about the freebsd-python mailing list