@@ -1040,16 +1040,29 @@ revision control, don't create a a ``MANIFEST.in`` file for your project.
1040
1040
(And, if you already have one, you might consider deleting it the next time
1041
1041
you would otherwise have to change it.)
1042
1042
1043
- Unlike the distutils, ``setuptools`` regenerates the source distribution
1044
- ``MANIFEST`` file every time you build a source distribution, as long as you
1045
- *don't* have a ``MANIFEST.in`` file. If you do have a ``MANIFEST.in`` (e.g.
1046
- because you aren't using CVS or Subversion), then you'll have to follow the
1047
- normal distutils procedures for managing what files get included in a source
1048
- distribution, and setuptools' enhanced algorithms will *not* be used.
1049
-
1050
- (Note, by the way, that if you're using some other revision control system, you
1051
- might consider submitting a patch to the ``setuptools.command.sdist`` module
1052
- so we can include support for it, too.)
1043
+ If you need to include automatically generated files, or files that are kept in
1044
+ an unsupported revision control system, you'll need to create a ``MANIFEST.in``
1045
+ file to specify any files that the default file location algorithm doesn't
1046
+ catch. See the distutils documentation for more information on the format of
1047
+ the ``MANIFEST.in`` file.
1048
+
1049
+ But, be sure to ignore any part of the distutils documentation that deals with
1050
+ ``MANIFEST`` or how it's generated from ``MANIFEST.in``; setuptools shields you
1051
+ from these issues and doesn't work the same way in any case. Unlike the
1052
+ distutils, setuptools regenerates the source distribution manifest file
1053
+ every time you build a source distribution, and it builds it inside the
1054
+ project's ``.egg-info`` directory, out of the way of your main project
1055
+ directory. You therefore need not worry about whether it is up-to-date or not.
1056
+
1057
+ Indeed, because setuptools' approach to determining the contents of a source
1058
+ distribution is so much simpler, its ``sdist`` command omits nearly all of
1059
+ the options that the distutils' more complex ``sdist`` process requires. For
1060
+ all practical purposes, you'll probably use only the ``--formats`` option, if
1061
+ you use any option at all.
1062
+
1063
+ (By the way, if you're using some other revision control system, you might
1064
+ consider submitting a patch to the ``setuptools.command.sdist`` module,
1065
+ so we can include support for your system.)
1053
1066
1054
1067
1055
1068
Making your package available for EasyInstall
@@ -1465,7 +1478,9 @@ commands), and it allows you to temporarily change a project's version string,
1465
1478
to support "daily builds" or "snapshot" releases. It is run automatically by
1466
1479
the ``sdist``, ``bdist_egg``, ``develop``, and ``test`` commands in order to
1467
1480
update the project's metadata, but you can also specify it explicitly in order
1468
- to temporarily change the project's version string.
1481
+ to temporarily change the project's version string. (It also generates the
1482
+ ``.egg-info/SOURCES.txt`` manifest file, which is used when you are building
1483
+ source distributions.)
1469
1484
1470
1485
The following options can be used to modify the project's version string for
1471
1486
all remaining commands on the setup command line. The options are processed
@@ -1960,6 +1975,13 @@ XXX
1960
1975
Release Notes/Change History
1961
1976
----------------------------
1962
1977
1978
+ 0.6a9
1979
+ * The ``sdist`` command no longer uses the traditional ``MANIFEST`` file to
1980
+ create source distributions. ``MANIFEST.in`` is still read and processed,
1981
+ as are the standard defaults and pruning. But the manifest is built inside
1982
+ the project's ``.egg-info`` directory as ``SOURCES.txt``, and it is rebuilt
1983
+ every time the ``egg_info`` command is run.
1984
+
1963
1985
0.6a8
1964
1986
* Fixed some problems building extensions when Pyrex was installed, especially
1965
1987
with Python 2.4 and/or packages using SWIG.
0 commit comments