[Distutils] Deprecate MANIFEST.in

David Cournapeau david at ar.media.kyoto-u.ac.jp
Wed Apr 8 04:58:52 CEST 2009


Tres Seaver wrote:
> David Cournapeau wrote:
> > Ben Finney wrote:
> >> An sdist is *not* just a tarball of the source files.
> > It is if you consider any non-tracked file to be an anti-usecase, which
> > is what I was answering to :)
>
> There are three classes of files here:
>
> - "source" files, which should be under version control, and included
>   (by default) in the sdist.
>
> - "derived" files, which should *not* be under version control, but
>   which might (in certain circumstances) be included in the sdist.
>   E.g., the C file generated from a Pyrex / Cython source file, to
>   enable builds on systems without Pyrex / Cython installed.
>
> - "stray" files, not under version control.  These shuold *never* be
>   in an sdist.

Why those assumptions on what people can do. That's exactly what's wrong
with distutils for me, all those untold assumptions, which are
'obviously' correct. As I said previously, including built documentation
is something I use MANIFEST.in for, and should be supported, or at least
possible.

Making things easier for some people is fine - as long as it does not
prevent other usage. Anything which does not solve the fact that sdist
command gives a different tarball depending on whether it is generated
by distutils, setuptools, paver and co is useless to me. Maybe it is not
important for distutils to solve this, but for me, that's much more
important than support from VCS or any convenience feature which can be
solved by a simple script anyway.

>
> > Moving away from "using VCS is good" vs "using VCS is not good", maybe
> > we should focus on the workflows to support. The most significant to me
> > is reproducibility (python setup.py sdist output should depend as little
> > as possible on its environment - whether the sources are under VCS or
> > not, etc....). At least one person said this is not a requirement. Can
> > we reach a consensus on this point, and then focus on the technical
> > solutions ?
>
> I don't understand the goal of "not depending on the environment" (it
> will depend on the version of Python / distutils / setuptools / Cython /
> Pyrex you use, for instance, just as C-based packages depend on the
> version of autogen and any local autoconf macros).

Environment was a poorly chosen word. Of course, if I use a different
cython, etc... version, the files are different. But on a same
environment (same tools, compilers, etc...), having a different tarball
depending on the sources are under a VCS or another or not is a
fundamental misfeature, at least for me. Whether the sources are under
cvs or not, make dist works the same for any autotools package. Would
people still think it is expected if bdist_msi or bdist_wininst targets
where different if built under VCS or not ?

cheers,

Davi


More information about the Distutils-SIG mailing list