[Fedora-packaging] Re: Python Virtual Provides

Jesse Keating jkeating at j2solutions.net
Mon Jun 16 20:39:21 UTC 2008


On Mon, Jun 16, 2008 at 4:31 PM, David Malcolm <dmalcolm at redhat.com> wrote:

> On Mon, 2008-06-16 at 15:56 -0400, David Malcolm wrote:
> > On Mon, 2008-06-16 at 14:30 -0400, Toshio Kuratomi wrote:
> > > I've added Python Virtual Provides to the list of draft guidelines.
> > >
> > > https://fedoraproject.org/wiki/PackagingDrafts/Python
> > >
> > > There are two parts:
> > > 1) introduce virtual provides for python eggs.  Copying from the way we
> > > do rubygems, this would be:
> > >
> > > Provides: pythonegg(SQLAlchemy) = %{version}
> > > Requires: pythonegg(SQLAlchemy) >= 0.3.11
> > >
> > > 2) introduce virtualprovides for normal python modules:
> > >
> > > Provides: python(sqlalchemy) = %{version}
> > > Requires: python(sqlalchemy)
> > >
> > > The motivation for this is that David Malcolm (dmalcolm) wrote a proof
> > > of concept script to show how easy it would be to extract egg
> dependency
> > > information as part of the rpm build process.
> >
> > I ran into various inconsistencies between the versions listed in the
> > egg requires.txt file and the rpm specfile, and thought that the latter
> > ought to be autogenerated from the former.
> >
> > First pass at a script attached to bug 451228, and I posted this to
> > fedora-python-devel-list:
> >
> https://www.redhat.com/archives/fedora-python-devel-list/2008-June/msg00002.html
> >
> > Obvious mistake I made was to try to store the mapping from python
> > modules to package names, instead, the script ought to generate some
> > kind of virtual provides as in Toshio's suggestion above.  Should be
> > simple to update the script
>
> Implemented, attached to bug 451228.  This generates the following for
> the TurboGears egg (telling it to use the optional SQLAlchemy stuff):
>
> # Autogenerated metadata from "requires.py
> /usr/lib/python2.4/site-packages/TurboGears-1.0.4.4-py2.4.egg-info
> SQLAlchemy"
> Provides: pythonegg(TurboGears) = 1.0.4.4
> Requires: pythonegg(CherryPy) >= 2.3.0
> Requires: pythonegg(CherryPy) < 3.0.0alpha
> Requires: pythonegg(DecoratorTools) >= 1.4
> Requires: pythonegg(FormEncode) >= 0.7.1
> Requires: pythonegg(PasteScript) >= 1.6.2
> Requires: pythonegg(RuleDispatch) >= 0.5a0.dev-r2303
> Requires: pythonegg(setuptools) >= 0.6c2
> Requires: pythonegg(simplejson) >= 1.3
> Requires: pythonegg(TurboCheetah) >= 1.0
> Requires: pythonegg(TurboJson) >= 1.1.2
> Requires: pythonegg(TurboKid) >= 1.0.4
> Requires: pythonegg(SQLAlchemy) >= 0.3.10
>
> Is the dash in the RuleDispatch version likely to cause problems?
>


It shouldn't, provided the package which this lives in has a matching
provides.

--
Jes
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.fedoraproject.org/pipermail/packaging/attachments/20080616/51ba586e/attachment.html 


More information about the packaging mailing list