[PATCH] distutils: Create MANIFEST.in instead of MANIFEST in Makefile
Stephen Thorne
stephen at thorne.id.au
Wed Jun 8 19:15:35 CDT 2011
# HG changeset patch
# User Stephen Thorne <stephen at thorne.id.au>
# Date 1307578524 -36000
# Node ID d64345f72ba750e9d60dae81985b926ff64ee1e9
# Parent e597ef52a7c21ffe862339225bd915438f2dddcc
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 --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -46,7 +46,7 @@ clean:
-$(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 @@ install-home-doc: doc
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
More information about the Mercurial-devel
mailing list