Bug 674874

Summary: shell bluetooth widget does not work
Product: [Fedora] Fedora Reporter: Bill Nottingham <notting>
Component: gnome-shellAssignee: Owen Taylor <otaylor>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: bnocera, maxamillion, otaylor, rvokal, samkraju, walters, walters
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gnome-shell-2.91.6-4.fc15 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-02-03 19:25:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Bill Nottingham 2011-02-03 15:47:48 UTC
Description of problem:

AFAICT, it boils down to the following:

1) /usr/lib64/gnome-bluetooth/GnomeBluetoothApplet-1.0.typelib

This needs to be in /usr/lib64/girepository-1.0, for the shell to be able to find it.

2) /usr/lib64/gnome-bluetooth/libgnome-bluetooth-applet.so.0

This needs to be in /usr/lib64 for the typelib to find it, or the typelib needs to have some sort of rpath magic (if it supports that).

3) shell's config.js has:

/* 1 if gnome-bluetooth is available, 0 otherwise */
const HAVE_BLUETOOTH = 0;

I believe it needs to buildreq gnome-bluetooth. Will file that one separately.

Fixing these three things (solving the first two with symlinks) makes it work.

Version-Release number of selected component (if applicable):

gnome-shell-2.91.6-3.fc15.x86_64
gnome-bluetooth-2.91.5-3.fc15.x86_64

Comment 1 Colin Walters 2011-02-03 15:53:16 UTC
See https://bugzilla.gnome.org/show_bug.cgi?id=640446

Comment 2 Bill Nottingham 2011-02-03 15:56:37 UTC
Moving to shell, problems #1 and #2 should go away if the buildreqs are fixed.

Comment 3 Bill Nottingham 2011-02-03 16:11:44 UTC
Actually, doing the rebuilds with the proper buildreq does *not* solve the problem, alas.

Comment 4 Colin Walters 2011-02-03 17:56:02 UTC
Are there any errors in ~/.xsession-errors ?

Comment 5 Colin Walters 2011-02-03 17:56:43 UTC
Also: strace -s2048 -eopen -o /tmp/shell.log gnome-shell --replace 

Then grep /tmp/shell.log for bluetooth.

Comment 6 Bill Nottingham 2011-02-03 18:47:14 UTC
    JS ERROR: !!!   Exception was: Error: Requiring GnomeBluetoothApplet, version none: Typelib file for namespace 'GnomeBluetoothApplet' (any version) not found
    JS ERROR: !!!     lineNumber = '0'
    JS ERROR: !!!     fileName = 'gjs_throw'
    JS ERROR: !!!     stack = '("Requiring GnomeBluetoothApplet, version none: Typelib file for namespace 'GnomeBluetoothApplet' (any version) not found")@gjs_throw:0
@/usr/share/gnome-shell/js/ui/status/bluetooth.js:7

is what I was getting when it couldn't find the typelib. Will test again shortly.

Comment 7 Bill Nottingham 2011-02-03 19:13:44 UTC
[notting@nostromo: ~]$ grep -i bluetooth /tmp/shell.log 
5590  open("/usr/share/gnome-shell/js/ui/status/bluetooth.js", O_RDONLY) = 28
[notting@nostromo: ~]$ 

I don't see any reference to it looking for the typelib at all, which is weird.

Comment 8 Bill Nottingham 2011-02-03 19:16:00 UTC
A more explicit strace shows it just opening /usr/lib64/girepository-1.0, then getdents(), and therefore not finding the file there.

Comment 9 Bill Nottingham 2011-02-03 19:25:29 UTC
Never mind, had a mis-installed version. Just the rebuild fixes it, so will do so.