Issue 26445: setup.py sdist mishandles package_dir option (original) (raw)

Suppose I have a setup.py with the option

... packages=['package', 'package.utils'], package_dir={'package.utils', '../utils'}, ...

as would arise if ../utils was a package shared between several projets ('package', 'package1', ...).

I would expect the source distribution created by 'python setup.py sdist' to create an archive with the following structure:

/ |-- package/ |-- package/utils

And this is indeed what bdist does. BUT sdist copies '../utils' in 'package/../utils' instead of 'package/utils', with the result that utils is outside of the distribution altogether.

The issue is referenced in a couple of StackOverflow posts that have attracted little attention so far, for example:

http://stackoverflow.com/questions/35510972/inconsistent-behaviour-of-bdist-vs-sdist-when-distributing-a-python-package