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? > > > > > Since this will be a far reaching change, should it be discussed on > > fedora-devel-list first or whether we want to do both parts? > > > > Could we simply put the script in a place where it's available to the > maintainer, so they can opt-in and have it generate the deps? > > > Hope this helps > Dave > > -- > Fedora-packaging mailing list > Fedora-packaging@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/fedora-packaging -- Fedora-packaging mailing list Fedora-packaging@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-packaging