Bug 456122

Summary: Modularlize libgnome bindings
Product: [Fedora] Fedora Reporter: Daniel Drake <dsd>
Component: gnome-python2Assignee: Matthew Barnes <mbarnes>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 10CC: jspaleta, maurizio.antillon, robin.norwood
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: gnome-python2-2.22.1-3.fc10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-04-18 00:26:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug 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    
Bug Blocks: 462625    
Attachments:
Description Flags
spec file changes none

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

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
Hi,

It looks like this got a pretty good reception on fedora-devel-list:

https://www.redhat.com/archives/fedora-devel-list/2008-July/msg01779.html

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:
scribes
serpentine
specto
straw
textflow
hotwire
pybliographer
revelation 
gnome-commander

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.

-jef

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:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

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.