Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 606080 - cinnamon-screensaver-3.2 needs x11-libs/xapps[introspection]
Summary: cinnamon-screensaver-3.2 needs x11-libs/xapps[introspection]
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Cinnamon Team (DISABLED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-17 11:15 UTC by Matthew Turnbull
Modified: 2017-02-11 15:59 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Turnbull 2017-01-17 11:15:50 UTC
If xapps is build without introspection then cinnamon-screensaver fails to start with the following exception:


Traceback (most recent call last):
  File "/usr/share/cinnamon-screensaver/cinnamon-screensaver-main.py", line 18, in <module>
    from service import ScreensaverService
  File "/usr/share/cinnamon-screensaver/service.py", line 9, in <module>
    from manager import ScreensaverManager
  File "/usr/share/cinnamon-screensaver/manager.py", line 10, in <module>
    from stage import Stage
  File "/usr/share/cinnamon-screensaver/stage.py", line 8, in <module>
    import singletons
  File "/usr/share/cinnamon-screensaver/singletons.py", line 46, in <module>
    gi.require_version('XApp', '1.0')
  File "/usr/lib64/python3.4/site-packages/gi/__init__.py", line 102, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace XApp not available


I would presume that gnome-extra/cinnamon also needs the same dependency change for the keyboard@cinnamon.org applet.

I suppose I only found this out because the default/linux/amd64/13.0/desktop profile does not have introspection enabled. I noticed that most ebuilds with introspection support have +introspection to enable it by default, however x11-libs/xapps does not. Should the xapps use flag also be updated?
Comment 1 Mart Raudsepp gentoo-dev 2017-01-18 01:10:08 UTC
For full correctness, anything using some GIRepository should be RDEPENDing on the package providing that gir/typelib with a introspection USE dep. For python modules, this can be usually seen as "from gi.repository import Foo", possibly with a "gi.require_version('Foo', '3.0')" or some such before to pin it to an appropriate ABI (SLOT).
What package needs to be depended on, if not obvious from the name, can be found out with something like
qfile /usr/lib64/girepository-1.0/Foo-3.0.typelib if what's imported (or the first arg to require_version) is "Foo" and the version passed to require_version (second argument) is 3.0, in this example. And then a [introspection] USE dep for that.

Hope this helps. But yes, because it's hard to keep this all fully correct, we've opted to mostly default install this stuff, as it's just some typelib and GIR mostly, usually around the 100kB size per package to support most other languages with the library. Though we do try to get the USE deps right for gnome packages on occasional reviews, perhaps cinnamon can manage on a best effort basis like gnome too :)
Comment 2 Kristian Fiskerstrand (RETIRED) gentoo-dev 2017-02-11 15:59:34 UTC
Thanks for the report.

commit f06b9e2b58acb9ede492554c6274fae5584b0fbc
Author: Kristian Fiskerstrand <k_f@gentoo.org>
Date:   Sat Feb 11 16:57:52 2017 +0100

    gnome-extra/cinnamon-screensaver: Fix dep for xapps
    
    Require introspection use flag
    
    Gentoo-Bug: 606080
    
    Package-Manager: portage-2.3.3