Red Hat Bugzilla – Bug 456122
Modularlize libgnome bindings
Last modified: 2013-01-13 07:58:08 EST
gnome-python2 is a bit of a headache for OLPC. OLPC uses the gnomevfs bindings
(gnome-python2-gnomevfs) but does not use anything else.
The problem is that gnome-python2-gnomevfs depends on gnome-python2, which is
primarily a set of libgnome bindings. gnomevfs does not need libgnome, so this
dependency is (partially) false. The libgnome bindings pull in libgnome for
obvious reasons, and then libgnome pulls in a ton of stuff including metacity,
icon themes, fedora logos, etc. :(
Also, gnome-python2 Requires gnome-python2-bonobo for no obvious reasons. The
libgnome bindings don't need bonobo bindings. When those bindings are included
in our build, bonobo is obviously included too, which brings in perl. :(
Please consider the spec file changes I have made:
- gnome-python2-bonobo dropped
- libgnome bindings moved to gnome-python2-gnome
- gnome-python2 is now just a small package, installing some documentation and
some placeholders for directories used by the subpackages
- some other files moves to the correct subpackages
This has been tested in XO's "joyride" playground development stream. Works
fine. Bonobo, perl, libgnome, metacity and all the other unwanted stuff disappears.
I'm quite new to Fedora & RPM packaging, apologies if I missed anything obvious.
I gather this change may be too major to make in F-9, in which case it should be
made in rawhide? Packages which depend on gnome-python2 will also need to be
modified, so that they depend on gnome-python2-gnome if they actually use the
Please let me know what you think about this change and how I can help further.
Created attachment 312283 [details]
spec file changes
Why not just port everything to gvfs? (Yes, that's more work.)
That's planned for the future, but we're very stretched so I'm not sure when
that will happen. Are you volunteering? :)
My only concern here is a helluva lot of packages require gnome-python2
expecting to get the libgnome[ui] bindings. Those would all have to be changed
to require gnome-python2-gnome instead.
I can pitch this on fedora-devel-list and see if there's any objections.
Sounds good, thanks.
It looks like this got a pretty good reception on fedora-devel-list:
What do you think about going ahead with it in time for F10?
That would be great. Thanks!
I plan to as soon as the Fedora infrastructure is back online.
Fixed in gnome-python2-2.22.1-3.fc10.
I've filed bugs against all the packages that are affected by this, and set them all to block this bug. See the "Depends on" list. Also sent an announcement of this to fedora-devel-list.
We found today that revelation fails to build because of this. Luckily it was a build failure and not a runtime failure.
revelation was pulling in gnome-python2 via a dep on gnome-python2-gnomevfs
But the depchain is now broken.
You also need look at any package which has an explicit dep on gnome-python2-bonobo or gnome-python2-gnomevfs in F9 and thus may be pulling in gnome-python via a depchain.
which with a little repoquery magic that list is:
these packages may not work as expected if they try to import the gnome module in a non-default configuration where gnome-python2-gnome is not already installed. They may at a minimum need to explicitly require gnome-python2-gnome.
Thanks. I'll file more bugs and add them to the tracker.
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.
More information and reason for this action is here:
Sufficient notice has been given to package maintainers, so I'm closing this with the assumption that the remaining unfixed "heads up" bugs are unaffected.