[Python-Dev] Keyword meanings [was: Accept just PEP-0426]
dholth at gmail.com
Tue Nov 20 22:31:24 CET 2012
On Tue, Nov 20, 2012 at 3:58 PM, Jim J. Jewett <jimjjewett at gmail.com> wrote:
> Vinay Sajip reworded the 'Provides-Dist' definition to explicitly say:
> > The use of multiple names in this field *must not* be used for
> > bundling distributions together. It is intended for use when
> > projects are forked and merged over time ...
> (1) Then how *should* the "bundle-of-several-components" case be
> (2) How is 'Provides-Dist' different from 'Obsoletes-Dist'?
> The only difference I can see is that it may be a bit more polite
> to people who do want to install multiple versions of a (possibly
> abstract) package.
The useful way to bundle a bunch of things would be to just include them
all in an executable folder or zipfile with __main__.py. PEP 426 and the
package database would not get involved. The bundle would be distributed as
an application you can download and use, not as an sdist on PyPI.
The intent of Provides and Obsoletes is different. Obsoletes would not
satisfy a requirement during dependency resolution.
The RPM guide explains a similar system:
This brings the total to four types of dependencies that the RPM system
- Requires, which tracks the capabilities a package requires
- Provides, which tracks the capabilities a package provides for other
- Conflicts, which describes the capabilities that if installed,
conflict with capabilities in a package
- Obsoletes, which describes the capabilities that this package will
Packages advertise this dependency information. Each dependency holds the
type, such as requires, a capability, such as a shared library or a package
name, and optionally a version number, such as requiring the python package
at a version number greater than or equal to 2.2 (python >= 2.2).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-Dev