[Distutils] MANIFEST destiny :)

M.-A. Lemburg mal at egenix.com
Wed Nov 16 19:03:41 CET 2005

Ian Bicking wrote:
> M.-A. Lemburg wrote:
>>> * Always, always, always build MANIFEST, and always include both the
>>> MANIFEST file and MANIFEST.in (if present) in the source distribution.
>> -1 on always building MANIFEST.
>> This would miss the point of managing MANIFEST files
>> independently of your package files, e.g. using
>> Makefiles or other tools dealing with file dependencies,
>> checkouts, etc.
> How about always build it, automatically, if some particular option is
> not passed to setup()?  This would only apply to packages using
> setuptools, not distutils, and there's other things that existing
> distutils packages might have to tweak to move to setuptools.  Maybe it
> would be as simple as a keyword argument that refers to a routine to
> build the MANIFEST file; and if you build MANIFEST by hand, then you
> just make the function a no-op.

Why can't Philipp just add the explicit build command
(--force-manifest) to his setuptools ?

> Also, disable all command-line options that control when/if/how MANIFEST
> is generated; these seem peculiar to me.  MANIFEST generation seems like
> package metadata, not something particular to your build, and
> command-line options seem like a bad way to control that.  It's a little
> fuzzy, though, since command-line options and setup.cfg are equivalent,
> and setup.cfg options often feel like package data.  So... I don't know
> what the middle ground is there.  Either way, these aren't things that
> seem like they should be regularly tweaked.  I don't know, I don't have
> any packages with complex (or even simple) build processes, so I only
> know that the current system is mysterious to me, and almost but doesn't
> always work without my intervention.

Philipp can do the same to his setuptools - he'd just have
to subclass the sdist command.

> I think Phillip also mentioned using MANIFEST for package_data?  At
> least insofar as the packages and the MANIFEST intersect, this seems
> like a good idea.

Again, this depends on the distribution format.

It may make a lot of sense for setuptools, but there are other
formats where the source distribution file list and the
files to be included in a binary distribution are two
completely separate things.

For example, bdist_rpm
actually installs the package to a temporary directory
and then takes the list of installed files as basis for
the binary distribution file list.

Since the installation can depend on other external
factors (e.g. libs being available or not), the file
list is not necessarily static, nor does it have to
match the file layout you have in MANIFEST (since the
install commands may move files to different target

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Nov 16 2005)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/

::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::

More information about the Distutils-SIG mailing list