Closed hugovk closed 8 years ago
The commit in question is: https://github.com/wiredfool/Pillow/commit/9caccb907edcd550e393d81689657599630253bc
check-manifest
runs python setup.py sdist
twice: once in the (possibly-dirty) current working directory, and once in a clean VCS export.
I suspect you're running python setup.py sdist --dry-run --verbose
in the possibly-dirty current working directory. This means setup.py sdist
might pick up additional files for one of the following reasons
When check-manifest
performs a clean sdist in a tree that has all the VCS-versioned files without the actual VCS metadata (e.g. no .git
directory), and no build artifacts (stale *.egg-info), those additional sources of source files are eliminated.
The goal of check-manifest is to make sure MANIFEST.in is sufficient even in the absence of setuptools plugins/stale data. I've felt the pain from debugging an issue where a package would include all but one .po files, because, turns out after I made the previous release I've upgraded Subversion (and setuptools could no longer understand the format of .svn/entries), and so the old .po files were picked up because they were present in the stale egg-info, but newly-added *.po files would not be picked up. Fun!
It must have been the dirty directory, as I'm not seeing the same behavior on an absolutely clean checkout.
There appears to be a discrepancy between what
check-manifest --ignore "depends/*"
complains is missing, and whatpython setup.py sdist --dry-run --verbose
actually includes.For example, the former complains Tests/*.py are missing, but the latter includes them.
Is this a bug in check-manifest, or am I missing something?
Repo to repro:
Python 2.7.10 check-manifest==0.30
With this branch, MANIFEST.in contains:
I get this output locally:
Running
python setup.py sdist --dry-run --verbose
:and Pillow.egg-info/SOURCES.txt contains: