rfc: python2.7 for F14

Thomas Spura tomspur at fedoraproject.org
Tue Jun 22 21:26:16 UTC 2010


Am Tue, 22 Jun 2010 22:47:06 +0200
schrieb Thomas Spura <tomspur at fedoraproject.org>:

> Am Tue, 22 Jun 2010 11:02:40 -0400
> schrieb David Malcolm <dmalcolm at redhat.com>:
> 
> > On Tue, 2010-06-22 at 08:40 +0200, Thomas Spura wrote:
> > > Am Mon, 21 Jun 2010 14:34:02 -0400
> > > schrieb David Malcolm <dmalcolm at redhat.com>:
> > > 
> > > > On Tue, 2010-06-22 at 01:57 +0800, Chen Lei wrote:
> > > > > 2010/6/22 David Malcolm <dmalcolm at redhat.com>:
> > > > > > On Mon, 2010-06-21 at 13:19 -0400, Neal Becker wrote:
> > > > > >> I'm interested in python2.7 as a feature for F14.  This
> > > > > >> will provide backports of some nice python3 features, but
> > > > > >> will work for those needing python2 environments.  Many
> > > > > >> libraries are not available for python3 yet.
> > > > > >
> > > > > > https://fedoraproject.org/wiki/Features/Python_2.7
> > > > > >
> > > > > > I've been working on it (though have been on holiday for a
> > > > > > week)
> > > > > >
> > > > > > I hope to have the latest upstream 2.7 release candidate in
> > > > > > rawhide later this week.  This will require a rebuild of all
> > > > > > Python modules.
> > > > > >
> > > > > >
> > > > > > --
> > > > > Why not rebuild all python modules along with gcc 4.5? It may
> > > > > avoid of rebuild python-related packages twice?
> > > > 
> > > > Is there a Fedora feature page for gcc 4.5?  I briefly searched,
> > > > but didn't find one.
> > > > 
> > > > I'm not sure that building things twice is a waste: if there are
> > > > bugs, having intermediate builds may help us determine whether
> > > > the problem relates to the Python or the GCC revision bump.  It
> > > > may be simpler to do a full rebuild of anything with:
> > > >   Requires: python(abi) = 2.6
> > > > as soon as python 2.7 hits rawhide.
> > > > 
> > > > Is there a good (automated) way of doing this?
> > > 
> > > I guess yes:
> > > http://fedoraproject.org/wiki/Mass_Rebuild_SOP
> > > 
> > > It just needs to get modified to work on python(abi) = 2.6 only
> > > and not on all packages.
> > 
> > Thanks, that's a great help - I hadn't seen that page.  Looks like
> > an excellent starting point.
> > 
> > We need to look at all built (sub)packages with a requires of
> > python(abi) = 2.6, figure out the set of src.rpms they come from,
> > and we'll want to rebuild those once 2.7 is in f-14 in Koji.
> 
> Hmm, I just tried to write a little script for that (based on the one
> from above), but I had some problems with bodhi.
> 
> e.g. 'repoquery --requires bodhi' shows nothing (because there are
> only subpackages and no main package). When calling 'repoquery
> --requires bodhi-client', there should be a python(abi), but there is
> only: /usr/bin/python
> koji
> python-fedora >= 0.3.5
> python-simplejson
> yum
> 
> So it might not be a that easy task...
> 
> I think rebuilding the complete repo would be the easiest (or along
> with gcc 4.5. If a package fails, it can be compiled locally without
> gcc 4.5, but with python 2.7, so it can be decided, what rebuild
> caused it...
> 
> Or do you have another idea, to find all the needed packages?
> (I still wonder, why bodhi-client doesn't require python(abi) =
> 2.6....)

How about this?
"""
import os

p = set()

for pkg in os.popen('repoquery --whatrequires --alldeps "python(abi) =
2.6"'):
    pkg = pkg.strip()
    print "Checking %s" % pkg
    p.add(os.popen('repoquery -s %s' % pkg).read().strip()) 

print p
"""

	Thomas


More information about the devel mailing list