Commits

Stephen Thorne committed 2ce7dfe

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.

Comments (0)

Files changed (1)

 	-$(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
 
 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
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.