[Distutils] Deprecate MANIFEST.in

Marius Gedminas marius at pov.lt
Mon Apr 6 11:25:19 CEST 2009

On Sun, Apr 05, 2009 at 07:51:41PM -0400, P.J. Eby wrote:
> At 11:24 PM 4/5/2009 +0300, Marius Gedminas wrote:
>> On Sun, Apr 05, 2009 at 06:45:45PM +0200, Tarek Ziadé wrote:
>> > After some discussions with people at Pycon, we think that the
>> > MANIFEST template should be removed.
>> +1 for fixing the mess that setuptools + distutils manage to make out of
>> the manifest (MANIFEST.in + old MANIFEST lying around + .svn metadata =>
>> lots of confusion and lack of reproducibility)
> If you've reported this as a problem or filed a bug for it, I appear to 
> have missed it.  Steps to reproduce, and the expected vs. actual  
> behavior would be helpful.

Sorry about that, I though it was working as designed (having seen
discussions about it here on this list).

  1. Build a package from an svn checkout -> it works
  2. Build a package from a tree exported with svn export -> it fails,
     since the MANIFEST.in is nonexistent/incomplete, but you never
     notice that while developing
  3. Change the test fixture to ignore .svn subdirectories when tarring
     up the working tree and copying it into the virtual machine for
     building (cannot use svn export here, since the tests need to test
     your working tree with uncommitted changes).  Watch it *not* fail.
     Spend an hour until you figure out the old *output* file
     pkg.egg-info/MANIFEST is now suddenly an *input* file for the
     manifest generation process and therefore masks errors in your
     MANIFEST.in.  Change the tar logic to skip *.egg-info, watch the
     test fail, fix MANIFEST.in, watch the test pass, be happy.

Usage of .svn dirs and including the previous version of MANIFEST when
generating a new one are features intended to make the life simpler for
the developer, but when they break down, it's not fun figuring out
what happened or why.

Do you want me to report this as a bug?  The proposed fix cannot be
"remove code dealing with .svn and reading the old MANIFEST, instead
require MANIFEST.in to be always complete"---that would break backwards
compatibility and make people unhappy.

Tarek's plan of replacing MANIFEST.in with a new mechanism sounds like
an opportunity to get rid of the magic, whence my +1 with the ill-phrased

Marius Gedminas
"Linux: the operating system with a CLUE... Command Line User Environment".
(seen in a posting in comp.software.testing)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20090406/639e0d25/attachment.pgp>

More information about the Distutils-SIG mailing list