[PATCH] distutils: Add MANIFEST.in file to include all files in 'python setup.py sdist'

Mads Kiilerich mads at kiilerich.com
Wed Jun 1 12:35:07 CDT 2011


On 06/01/2011 06:20 PM, Matt Mackall wrote:
> On Wed, 2011-06-01 at 17:34 +1000, Stephen Thorne wrote:
>> # HG changeset patch
>> # User Stephen Thorne<stephen at thorne.id.au>
>> # Date 1306913635 -36000
>> # Node ID 273241bc44612434b1c67851dfb2bae437c75e62
>> # Parent  bd34a027f3edad33e71c02def67eb446473b6cf4
>> distutils: Add MANIFEST.in file to include all files in 'python setup.py sdist'
>>
>> 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.
>
> This is already automated. See 'make MANIFEST'.
>
> Why isn't this instead automated in setup.py? Because distutils is an
> under-documented, poorly maintained, ill-suited.. you get the idea. It's
> primary use to us is supplying compiler options on multiple platforms.

It is apparently so bad that it in (in some versions?) will overwrite 
our handmade MANIFEST with its own bad default list if no MANIFEST.in is 
found.

A workaround could be something like

--- a/Makefile
+++ b/Makefile
@@ -72,6 +72,7 @@
  	hg manifest > MANIFEST
  	echo mercurial/__version__.py >> MANIFEST
  	cat doc/MANIFEST >> MANIFEST
+	sed 's,^,include ,g' MANIFEST > MANIFEST.in

  dist:	tests dist-notests

or we could target MANIFEST.in directly.

(I guess the target should be phony no matter what we call it.)

/Mads


More information about the Mercurial-devel mailing list