Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 518424

Summary: dev-libs/gobject-introspection needs to be rebuilt if dev-libs/glib changes version (was: gnome-base/gnome-shell-3.12.2 - search is broken)
Product: Gentoo Linux Reporter: Alexander Tsoy <alexander>
Component: [OLD] GNOMEAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 512012    
Attachments: gobject-introspection.diff.xz

Description Alexander Tsoy 2014-07-28 20:56:42 UTC
Search in gnome-shell-3.12.2 doesn't work for me. The only reference I've found is a thread on gentoo forums:
https://forums.gentoo.org/viewtopic-t-994100.html?sid=53616b1699f86c44a262dfec0fcfc135

The following errors appears in the journal when I'm typing something in the search box:

Jul 29 00:42:56 home.puleglot gnome-session[1374]: (gnome-shell:1451): Gjs-WARNING **: JS ERROR: TypeError: Gio.DesktopAppInfo.search is not a function
Jul 29 00:42:56 home.puleglot gnome-session[1374]: AppSearchProvider<.getInitialResultSet@resource:///org/gnome/shell/ui/appDisplay.js:873
Jul 29 00:42:56 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:56 home.puleglot gnome-session[1374]: SearchSystem<.setTerms/<@resource:///org/gnome/shell/ui/search.js:121
Jul 29 00:42:56 home.puleglot gnome-session[1374]: SearchSystem<.setTerms@resource:///org/gnome/shell/ui/search.js:116
Jul 29 00:42:56 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:56 home.puleglot gnome-session[1374]: SearchResults<.setTerms@resource:///org/gnome/shell/ui/search.js:611
Jul 29 00:42:56 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:56 home.puleglot gnome-session[1374]: ViewSelector<._doSearch@resource:///org/gnome/shell/ui/viewSelector.js:470
Jul 29 00:42:56 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:56 home.puleglot gnome-session[1374]: (gnome-shell:1451): Gjs-WARNING **: JS ERROR: TypeError: Gio.DesktopAppInfo.search is not a function
Jul 29 00:42:56 home.puleglot gnome-session[1374]: AppSearchProvider<.getInitialResultSet@resource:///org/gnome/shell/ui/appDisplay.js:873
Jul 29 00:42:56 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:56 home.puleglot gnome-session[1374]: SearchSystem<.setTerms/<@resource:///org/gnome/shell/ui/search.js:121
Jul 29 00:42:56 home.puleglot gnome-session[1374]: SearchSystem<.setTerms@resource:///org/gnome/shell/ui/search.js:116
Jul 29 00:42:56 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:56 home.puleglot gnome-session[1374]: SearchResults<.setTerms@resource:///org/gnome/shell/ui/search.js:611
Jul 29 00:42:56 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:56 home.puleglot gnome-session[1374]: ViewSelector<._doSearch@resource:///org/gnome/shell/ui/viewSelector.js:470
Jul 29 00:42:56 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:56 home.puleglot gnome-session[1374]: (gnome-shell:1451): Gjs-WARNING **: JS ERROR: TypeError: Gio.DesktopAppInfo.search is not a function
Jul 29 00:42:56 home.puleglot gnome-session[1374]: AppSearchProvider<.getInitialResultSet@resource:///org/gnome/shell/ui/appDisplay.js:873
Jul 29 00:42:56 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:56 home.puleglot gnome-session[1374]: SearchSystem<.setTerms/<@resource:///org/gnome/shell/ui/search.js:121
Jul 29 00:42:56 home.puleglot gnome-session[1374]: SearchSystem<.setTerms@resource:///org/gnome/shell/ui/search.js:116
Jul 29 00:42:56 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:56 home.puleglot gnome-session[1374]: SearchResults<.setTerms@resource:///org/gnome/shell/ui/search.js:611
Jul 29 00:42:56 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:56 home.puleglot gnome-session[1374]: ViewSelector<._doSearch@resource:///org/gnome/shell/ui/viewSelector.js:470
Jul 29 00:42:56 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:57 home.puleglot gnome-session[1374]: (gnome-shell:1451): Gjs-WARNING **: JS ERROR: TypeError: Gio.DesktopAppInfo.search is not a function
Jul 29 00:42:57 home.puleglot gnome-session[1374]: AppSearchProvider<.getInitialResultSet@resource:///org/gnome/shell/ui/appDisplay.js:873
Jul 29 00:42:57 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:57 home.puleglot gnome-session[1374]: SearchSystem<.setTerms/<@resource:///org/gnome/shell/ui/search.js:121
Jul 29 00:42:57 home.puleglot gnome-session[1374]: SearchSystem<.setTerms@resource:///org/gnome/shell/ui/search.js:116
Jul 29 00:42:57 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:57 home.puleglot gnome-session[1374]: SearchResults<.setTerms@resource:///org/gnome/shell/ui/search.js:611
Jul 29 00:42:57 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Jul 29 00:42:57 home.puleglot gnome-session[1374]: ViewSelector<._doSearch@resource:///org/gnome/shell/ui/viewSelector.js:470
Jul 29 00:42:57 home.puleglot gnome-session[1374]: wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Comment 1 Alexander Tsoy 2014-07-28 21:18:24 UTC
I've fixed this issue by reemerging dev-libs/gobject-introspection o__O
Comment 2 Alexander Tsoy 2014-07-28 21:31:50 UTC
Created attachment 381748 [details]
gobject-introspection.diff.xz

Diff between files installed by dev-libs/gobject-introspection-1.40.0 before and after rebuild.
Comment 3 Alexander Tsoy 2014-07-28 22:17:27 UTC
I guess that this happened because glib have been upgraded after gobject-introspection:

$ sudo egrep 'of 192\).*(dev-libs\/glib|gobject-introspection)' /var/log/emerge.log 
1404395661:  >>> emerge (24 of 192) dev-libs/gobject-introspection-common-1.40.0 to /
1404395661:  === (24 of 192) Cleaning (dev-libs/gobject-introspection-common-1.40.0::/var/cache/portage/tree/dev-libs/gobject-introspection-common/gobject-introspection-common-1.40.0.ebuild)
1404395661:  === (24 of 192) Compiling/Merging (dev-libs/gobject-introspection-common-1.40.0::/var/cache/portage/tree/dev-libs/gobject-introspection-common/gobject-introspection-common-1.40.0.ebuild)
1404395670:  === (24 of 192) Merging (dev-libs/gobject-introspection-common-1.40.0::/var/cache/portage/tree/dev-libs/gobject-introspection-common/gobject-introspection-common-1.40.0.ebuild)
1404395681:  === (24 of 192) Post-Build Cleaning (dev-libs/gobject-introspection-common-1.40.0::/var/cache/portage/tree/dev-libs/gobject-introspection-common/gobject-introspection-common-1.40.0.ebuild)
1404395681:  ::: completed emerge (24 of 192) dev-libs/gobject-introspection-common-1.40.0 to /
1404398029:  >>> emerge (58 of 192) dev-libs/gobject-introspection-1.40.0 to /
1404398029:  === (58 of 192) Cleaning (dev-libs/gobject-introspection-1.40.0::/var/cache/portage/tree/dev-libs/gobject-introspection/gobject-introspection-1.40.0.ebuild)
1404398029:  === (58 of 192) Compiling/Merging (dev-libs/gobject-introspection-1.40.0::/var/cache/portage/tree/dev-libs/gobject-introspection/gobject-introspection-1.40.0.ebuild)
1404398086:  === (58 of 192) Merging (dev-libs/gobject-introspection-1.40.0::/var/cache/portage/tree/dev-libs/gobject-introspection/gobject-introspection-1.40.0.ebuild)
1404398102:  === (58 of 192) Post-Build Cleaning (dev-libs/gobject-introspection-1.40.0::/var/cache/portage/tree/dev-libs/gobject-introspection/gobject-introspection-1.40.0.ebuild)
1404398102:  ::: completed emerge (58 of 192) dev-libs/gobject-introspection-1.40.0 to /
1404398532:  >>> emerge (66 of 192) dev-libs/glib-2.40.0-r1 to /
1404398532:  === (66 of 192) Cleaning (dev-libs/glib-2.40.0-r1::/var/cache/portage/tree/dev-libs/glib/glib-2.40.0-r1.ebuild)
1404398532:  === (66 of 192) Compiling/Merging (dev-libs/glib-2.40.0-r1::/var/cache/portage/tree/dev-libs/glib/glib-2.40.0-r1.ebuild)
1404398787:  === (66 of 192) Merging (dev-libs/glib-2.40.0-r1::/var/cache/portage/tree/dev-libs/glib/glib-2.40.0-r1.ebuild)
1404398804:  === (66 of 192) Post-Build Cleaning (dev-libs/glib-2.40.0-r1::/var/cache/portage/tree/dev-libs/glib/glib-2.40.0-r1.ebuild)
1404398804:  ::: completed emerge (66 of 192) dev-libs/glib-2.40.0-r1 to /
Comment 4 Alexander Tsoy 2014-07-28 22:43:39 UTC
Oh.. And this ordering is probably caused by this blocker in glib ebuild:

    !<dev-libs/gobject-introspection-1.$(get_version_component_range 2)

Maybe sub-slots and slot-operators would help here?
Comment 5 Alexandre Rostovtsev (RETIRED) gentoo-dev 2014-07-29 14:16:24 UTC
I think the simplest solution is to give gobject-introspection a dependency on >=dev-libs/glib-2.$(get_version_component_range 2)

gir's configure checks allow older glib versions, but I don't think anyone has tested whether this works. And I certainly see as glib and gir with different minor versions as an unsupported configuration.
Comment 6 Pacho Ramos gentoo-dev 2014-08-02 09:17:19 UTC
+  02 Aug 2014; Pacho Ramos <pacho@gentoo.org> glib-2.40.0-r1.ebuild:
+  Rework the way we force glib and goi to be in sync (#518424 by Alexander Tsoy)
+
+  02 Aug 2014; Pacho Ramos <pacho@gentoo.org>
+  gobject-introspection-1.40.0.ebuild:
+  Rework the way we force glib and goi to be in sync (#518424 by Alexander Tsoy)
+