Bug 456122 - Modularlize libgnome bindings
Summary: Modularlize libgnome bindings
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-python2
Version: 10
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Matthew Barnes
QA Contact: Fedora Extras Quality Assurance
Depends On: 465557 465562 460004 460005 460006 460007 460008 460009 460010 460011 460012 460013 460014 460015 460016 460017 460018 460019 460020 460021 460022 460023 460024 460025 460026 460027 460028 460029 460030 460031 465558 465559 465560 465561 465563 465564 465565 470181
Blocks: FedoraOLPCDelta
TreeView+ depends on / blocked
Reported: 2008-07-21 16:38 UTC by Daniel Drake
Modified: 2013-01-13 12:58 UTC (History)
3 users (show)

Fixed In Version: gnome-python2-2.22.1-3.fc10
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2009-04-18 00:26:00 UTC
Type: ---

Attachments (Terms of Use)
spec file changes (2.77 KB, patch)
2008-07-21 16:38 UTC, Daniel Drake
no flags Details | Diff

Description Daniel Drake 2008-07-21 16:38:56 UTC

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
libgnome bindings.

Please let me know what you think about this change and how I can help further.

Comment 1 Daniel Drake 2008-07-21 16:38:56 UTC
Created attachment 312283 [details]
spec file changes

Comment 2 Bill Nottingham 2008-07-25 15:09:43 UTC
Why not just port everything to gvfs? (Yes, that's more work.)

Comment 3 Daniel Drake 2008-07-25 15:16:18 UTC
That's planned for the future, but we're very stretched so I'm not sure when
that will happen. Are you volunteering? :)

Comment 4 Matthew Barnes 2008-07-31 14:43:13 UTC
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.

Comment 5 Daniel Drake 2008-07-31 15:32:37 UTC
Sounds good, thanks.

Comment 6 Robin Norwood 2008-08-18 17:57:46 UTC

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?

Comment 7 Daniel Drake 2008-08-18 18:28:20 UTC
That would be great. Thanks!

Comment 8 Matthew Barnes 2008-08-18 18:36:59 UTC
I plan to as soon as the Fedora infrastructure is back online.

Comment 9 Matthew Barnes 2008-08-25 16:17:26 UTC
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.

Comment 10 Jef Spaleta 2008-10-03 20:47:08 UTC
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.


Comment 11 Matthew Barnes 2008-10-03 20:53:04 UTC
Thanks.  I'll file more bugs and add them to the tracker.

Comment 12 Bug Zapper 2008-11-26 02:35:21 UTC
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:

Comment 13 Matthew Barnes 2009-04-18 00:26:00 UTC
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.

Note You need to log in before you can comment on or make changes to this bug.