I think the Metadata 1.1 treatment of these concepts is in some ways better. (Metadata 1.2 added the -Dist suffix to the fields in an attempt to make it clear that dependency names are PyPI names and not "import x" names.)<div>
<br></div><div><a href="http://www.python.org/dev/peps/pep-0314/">http://www.python.org/dev/peps/pep-0314/</a> says:<div><br></div><div><pre style="color:rgb(0,0,0);line-height:17.816667556762695px">Provides (multiple use)
Each entry contains a string describing a package or module that
will be provided by this package once it is installed. These
strings should match the ones used in Requirements fields. A
version declaration may be supplied (without a comparison
operator); the package's version number will be implied if none
is specified.
Example:
Provides: xml
Provides: xml.utils
Provides: xml.utils.iso8601
Provides: xml.dom
Provides: xmltools (1.3)
Obsoletes (multiple use)
Each entry contains a string describing a package or module
that this package renders obsolete, meaning that the two packages
should not be installed at the same time. Version declarations
can be supplied.
The most common use of this field will be in case a package name
changes, e.g. Gorgon 2.3 gets subsumed into Torqued Python 1.0.
When you install Torqued Python, the Gorgon package should be
removed.
Example:
Obsoletes: Gorgon</pre><pre style="color:rgb(0,0,0);line-height:17.816667556762695px"><br></pre></div><div>They mean pretty much what the same words mean in RPM and do not need further bikeshedding.</div></div>