GNOME Bugzilla – Bug 637935
When gnome-bluetooth introspection is not available, gnome-shell doesn't start
Last modified: 2012-08-27 19:36:35 UTC
While smoketesting 2.91.4, it appeared that gnome-bluetooth was built without introspection support for the first time. And when I started gnome-shell, it complained in .xsession-errors about some missing introspection bits (GnomeBluetoothApplet, iirc). The issue is that it somehow complelety broke gnome-shell: nothing was visible. GNOME Shell should be able to survive this, imho.
Created attachment 177191 [details] [review] configure: check for introspection support in gnome-bluetooth gnome-bluetooth can be built with --disable-introspection, but in that case it is useless for the shell, and it makes us crash. Consider that case as if gnome-bluetooth was not available, and print a warning.
It'd be better if this could be done at runtime. Or it needs to be well-documented for packagers that gnome-bluetooth is a runtime hard dependency.
gnome-bluetooth is a hard dependency on all platforms where it can be built (which at the moment means just Linux), and not used on platforms where it can't be built (obviously). There is no case where it's supposed to be a soft/runtime/configurable/whatever dependency.
Comment on attachment 177191 [details] [review] configure: check for introspection support in gnome-bluetooth thus, this patch is wrong; if gnome-bluetooth exists, it MUST have introspection support
So maybe we should add a big warning to gnome-bluetooth's configure.ac when introspection support is disabled.
Why is gnome-bluetooth a hard dependency for gnome-shell? That just seems wrong (not everybody has bluetooth!)
Well, you just only need to install/build it, that's not a big deal. If you have no Bluetooth device, or don't use it, it won't harm you. Are a few KB so expensive for you?
The fact that gnome-bluetooth is built with without introspection is a packaging problem, and the fact that we depend on it is not a bug. I don't think anyone would complain that we crash if shared libraries are missing, so closing.