GObject Introspection Dependency Generator
Summary
For GObject Introspection libraries it will automatically add appropriate provides like "typelib(Foo-1.0)". For packages which are using GI it will automatically add appropriate requires based on what they use from GI.
Owner
- Name: Igor Gnatenko
- Email: ignatenko AT redhat DOT com
- Release notes owner:
Current status
- Targeted release: Fedora 25
- Last updated: 2016-04-29
- Tracker bug: <will be assigned by the Wrangler>
Detailed Description
Let's take a look on Python code import gi; gi.require_version("Tracker", "1.0"); from gi.repository import Tracker
. To run it requires Tracker-1.0.typelib, which currently is in tracker package. With this change to package will be automatically added "Requires: typelib(Tracker-1.0)".
Libraries themselves requires another typelib packages. Let's take Webkit2-4.0.typelib, it requires itself:
- some typelibs: typelib(Gtk-3.0) typelib(Pango-1.0) typelib(GObject-2.0) typelib(xlib-2.0) typelib(cairo-1.0) typelib(JavaScriptCore-4.0) typelib(Gdk-3.0) typelib(Gio-2.0) typelib(Atk-1.0) typelib(GdkPixbuf-2.0) typelib(Soup-2.4) typelib(GModule-2.0) typelib(GLib-2.0)
- some shared libraries: libwebkit2gtk-4.0.so.37 libjavascriptcoregtk-4.0.so.18
All of them will be added automatically as requirements.
Benefit to Fedora
- No need to specify Requires for packages which are using GI
- Easy to install any GI libs
Scope
- Proposal owners:
1. Write tool for introspection of GI typelibs
2. Write RPM dependency-generator
- Other developers: N/A (not a System Wide Change)
- Release engineering: N/A (not a System Wide Change)
- List of deliverables: N/A (not a System Wide Change)
- Policies and guidelines: N/A (not a System Wide Change)
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
N/A (not a System Wide Change)
How To Test
N/A (not a System Wide Change)
User Experience
N/A (not a System Wide Change)
Dependencies
N/A (not a System Wide Change)
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
- Blocks product? product
Documentation
N/A (not a System Wide Change)