Python bindings for GObject

Edit Package python-gobject

Pygobjects is an extension module for python that gives you access to
GLib's GObjects.

Refresh
Refresh
Source Files
Comments 11

Christoph Reiter's avatar

What's up with the extra -Gdk package split? The changelog suggests that it's to prevent depending on various X11 related things, but overrides in PyGObject are only active if the respective typelib gets loaded and they don't add a dependency.


Dominique Leuenberger's avatar

The deps is on an RPM level - having typelib(GtK) being pulled in means you get an X-stack for all cases.


(I'm not that familiar with the rpm/spec sytem)

What does pull in the gtk typelib?. PyGObject does not depend on gtk+, only its test suite those.


e.g. from /usr/lib64/python2.7/site-packages/gi/overrides/Gdk.py

    require_version("GdkX11", Gdk._version)
    from gi.repository import GdkX11

=> that gives a typelib(GdkX11) dependency

hence, not splitting Gdk.py into a sep sub-package makes the entire python[23]-gobject require GTK dependencies


and if you install a headless system (think also containers), you're happy to be able to avoid deps on pango, cairo. gtk, x11


If you don't use gdk this file never gets executed so it doesn't add a dependency.


RPM has to satisfy its dependencies at install time, not at runtime.


There is nothing to satisfy as there is no dependency.

anyway, just note that splitting things this way is not supported upstream and you get to keep the bug reports.


If upstream does not get the concept of rpm deps, I honestly do not care - packaging bugs are ours, and upstream would not care for them anyway. This split is understood by us distro maintainers and why know how to deal with it.


I guess I don't get it. It just seems like added complexity for no gain to me.

Looking at some pygobject apps: pitivi, lollypop, gramps, d-feet don't seem depend on it.


rpm -qRf /usr/lib64/python2.7/site-packages/gi/overrides/Gdk.py

python(abi) = 2.7
python2-gobject = 3.24.1
python2-gobject-cairo = 3.24.1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsLzma) <= 4.4.6-1
typelib(GObject)
typelib(Gdk)
typelib(GdkX11)
typelib(Gtk)
typelib(Pango)
typelib(cairo)
openSUSE Build Service is sponsored by