# HG changeset patch # User Stephen Thorne # Date 1307578524 -36000 # Node ID 2ce7dfe17bc543415d11b316af3f0c949aa28e41 # Parent f966979f61ce8fbe176c3c69b23195159e0fb2dd distutils: Create MANIFEST.in instead of MANIFEST in Makefile When running 'python setup.py sdist' many files were omitted from the resulting tarball that are required for a complete build, including the .h file for the inotify extension due to a python2.7+ distutils bug. This would cause 'make dist' to fail to build a correct dist on python2.7 By building a MANIFEST.in that is the same as the old MANIFEST with 'include' at the start of each line will cause a correct MANIFEST to be built and used by distutils. diff -r f966979f61ce -r 2ce7dfe17bc5 Makefile --- a/Makefile Thu Jun 09 18:39:14 2011 +0200 +++ b/Makefile Thu Jun 09 10:15:24 2011 +1000 @@ -46,7 +46,7 @@ -$(PYTHON) setup.py clean --all # ignore errors from this command find . \( -name '*.py[cdo]' -o -name '*.so' \) -exec rm -f '{}' ';' rm -f $(addprefix mercurial/,$(notdir $(wildcard mercurial/pure/*.py))) - rm -f MANIFEST tests/*.err + rm -f MANIFEST MANIFEST.in tests/*.err rm -rf build mercurial/locale $(MAKE) -C doc clean @@ -69,14 +69,14 @@ MANIFEST-doc: $(MAKE) -C doc MANIFEST -MANIFEST: MANIFEST-doc - hg manifest > MANIFEST - echo mercurial/__version__.py >> MANIFEST - cat doc/MANIFEST >> MANIFEST +MANIFEST.in: MANIFEST-doc + hg manifest | sed -e 's/^/include /' > MANIFEST.in + echo include mercurial/__version__.py >> MANIFEST.in + sed -e 's/^/include /' < doc/MANIFEST >> MANIFEST.in dist: tests dist-notests -dist-notests: doc MANIFEST +dist-notests: doc MANIFEST.in TAR_OPTIONS="--owner=root --group=root --mode=u+w,go-w,a+rX-s" $(PYTHON) setup.py -q sdist check: tests