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 rationale. Marius Gedminas -- "Linux: the operating system with a CLUE... Command Line User Environment". (seen in a posting in comp.software.testing)
signature.asc
Description: Digital signature
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig