After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 348323 - f-spot-screensaver.desktop installed to wrong directory for Gnome 2.15/16
f-spot-screensaver.desktop installed to wrong directory for Gnome 2.15/16
Status: RESOLVED FIXED
Product: f-spot
Classification: Other
Component: General
0.1.11
Other Linux
: Normal normal
: ---
Assigned To: F-spot maintainers
F-spot maintainers
: 380433 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-07-22 10:17 UTC by Ed Catmur
Modified: 2008-05-19 12:15 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
screensaver-path.patch (450 bytes, patch)
2006-07-22 10:19 UTC, Ed Catmur
none Details | Review
screensaver-path.patch (1.69 KB, patch)
2006-07-22 10:45 UTC, Ed Catmur
needs-work Details | Review
f-spot-configure-gsdir.patch (1.41 KB, patch)
2006-07-27 13:24 UTC, Ed Catmur
none Details | Review
f-spot-configure-gsdir.patch (1.37 KB, patch)
2006-07-27 13:31 UTC, Ed Catmur
none Details | Review
screensaver-path.patch (1.37 KB, patch)
2008-01-04 20:55 UTC, Ed Catmur
committed Details | Review

Description Ed Catmur 2006-07-22 10:17:00 UTC
In Gnome 2.16, gnome-screensaver uses /usr/share/applications/screensavers. f-spot installs f-spot-screensaver.desktop to /usr/share/gnome-screensaver/themes, so it does not show up in gnome-screensaver.
Comment 1 Ed Catmur 2006-07-22 10:19:43 UTC
Created attachment 69377 [details] [review]
screensaver-path.patch

Or perhaps f-spot should install to both; depends whether f-spot is core desktop or not, I guess.
Comment 2 Ed Catmur 2006-07-22 10:24:55 UTC
Scratch that, it's in the gnome-screensaver pkgconfig file. I'll write a patch that uses that.
Comment 3 Ed Catmur 2006-07-22 10:45:10 UTC
Created attachment 69378 [details] [review]
screensaver-path.patch

Hm. This silently ignores --with-gnome-screensaver=PREFIX if the pkgconfig file exists. I think that's probably the right thing to do, as otherwise we might conflict with packagers who pass --with-gnome-screensaver=PREFIX where it isn't needed.
Comment 4 Larry Ewing 2006-07-26 20:59:04 UTC
You should always honor an explicit option more than the pkgconfig file.  Als have you tested this patch by running make distcheck?
Comment 5 Ed Catmur 2006-07-27 13:24:00 UTC
Created attachment 69724 [details] [review]
f-spot-configure-gsdir.patch
Comment 6 Ed Catmur 2006-07-27 13:31:15 UTC
Created attachment 69726 [details] [review]
f-spot-configure-gsdir.patch

Is this better? Use the pkgconfig paths only if prefix matches. It passes make distcheck.
Comment 7 Arif Lukito 2006-10-18 13:44:34 UTC
Hi I already put f-spot-screensaver.desktop in right directory and it show up in gnome-screensaver but the screensaver doesn't work.
Comment 8 Stephane Delcroix 2006-11-08 14:06:55 UTC
Ed,

this will install files outside of the PREFIX folder is gnome-screensaver prefix differ from f-spot prefix.

I'm not sure it's safe to do that...
Comment 9 Luca Marturana 2006-11-26 10:40:43 UTC
(In reply to comment #7)
> Hi I already put f-spot-screensaver.desktop in right directory and it show up
> in gnome-screensaver but the screensaver doesn't work.
> 

Same problem here, with gnome-screensaver-2.16, f-spot screensaver doensn't work, even if I put the .desktop file in the new place.
Comment 10 Stephane Delcroix 2006-12-07 22:26:23 UTC
*** Bug 380433 has been marked as a duplicate of this bug. ***
Comment 11 Luis Villa 2006-12-21 01:04:33 UTC
Just as a data point, I made the .desktop file exec '/usr/bin/f-spot --slideshow' directly, and it still doesn't work; f-spot --slideshow works fine from the command line, however.
Comment 12 Luis Villa 2006-12-21 01:05:44 UTC
(And this is with the .desktop file symlinked to the correct location, of course, though maybe I should open a separate bug for the 'doesn't work at all' problem. Up to you, f-spot dudes.)
Comment 13 Luis Villa 2006-12-22 13:46:39 UTC
Stephane, since you seem to be seeing the same problem I am, and since I am about to no longer be in the city where the problematic box is, from an email with Jon McCann- 

> In general the best place to start with debugging is to run:
> 
> gnome-screensaver-command --exit
> gnome-screensaver --no-daemon --debug
> 
> Then reproduce the problem and check the debug output.

Hopefully that will help Stephane and/or me figure it out later.
Comment 14 Fabian Kneissl 2007-01-04 12:28:12 UTC
I have the same problem. If I start f-spot --screensaver or the f-spot-screensaver shell-file, it works fine.
I have replaced the f-spot-screensaver shell-file (in lib/gnome-screensaver/gnome-screensaver) to get some more debugging output:

'env' gives:
XSCREENSAVER_WINDOW=0x2400062
SESSION_MANAGER=local/fuchur:/tmp/.ICE-unix/3406
PATH=/home/fabi/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/lib/gnome-screensaver/gnome-screensaver:/usr/lib/xscreensaver:/usr/lib/xscreensaver
PWD=/home/fabi
LANG=de_DE@euro
SHLVL=1
HOME=/home/fabi
LANGUAGE=de_DE:de:en_GB:en
DISPLAY=:0.0
_=/usr/bin/env

and the output of f-spot:
Unhandled Exception: System.Exception: Unable to open the session message bus. ---> System.ArgumentNullException: Argument cannot be null.
Parameter name: address
  at NDesk.DBus.Bus.Open (System.String address) [0x00000]
  at NDesk.DBus.Bus.get_Session () [0x00000] --- End of inner exception stack trace ---

  at NDesk.DBus.Bus.get_Session () [0x00000]
  at NDesk.DBus.BusG.Init () [0x00000]
  at FSpot.Driver.Main (System.String[] args) [0x00000]

I also checked the arguments of the shell-file: No arguments are given.
Comment 15 Ed Catmur 2007-01-04 16:06:18 UTC
(In reply to comment #14)
> Unhandled Exception: System.Exception: Unable to open the session message bus.
> ---> System.ArgumentNullException: Argument cannot be null.
> Parameter name: address
>   at NDesk.DBus.Bus.Open (System.String address) [0x00000]
>   at NDesk.DBus.Bus.get_Session () [0x00000] --- End of inner exception stack
> trace ---
> 
>   at NDesk.DBus.Bus.get_Session () [0x00000]
>   at NDesk.DBus.BusG.Init () [0x00000]
>   at FSpot.Driver.Main (System.String[] args) [0x00000]

OK, I've submitted that as bug 392780.  Can you see if the fix works?
Comment 16 Fabian Kneissl 2007-01-04 16:47:48 UTC
Ah, yes. Thank you very much! Now with the patched gnome-screensaver it is working!

I think this bug can be closed then.
Comment 17 Ed Catmur 2007-01-04 16:52:06 UTC
(In reply to comment #16)
> Ah, yes. Thank you very much! Now with the patched gnome-screensaver it is
> working!
> 
> I think this bug can be closed then.

No, this bug is about which directory the screensaver .desktop file gets installed into. The screensaver-not-working aspect was just a distraction.
Comment 18 Ed Catmur 2007-01-04 16:59:34 UTC
OK, back to the real issue:

(In reply to comment #8)
> Ed,
> 
> this will install files outside of the PREFIX folder is gnome-screensaver
> prefix differ from f-spot prefix.
> 
> I'm not sure it's safe to do that...

Hm.  Yeah, but it has to install them there to get the screensaver to show up in gnome-screensaver.  

Anyway, it'll only do that if the user passes an alternate prefix through --with-gnome-screensaver=PREFIX; my patch only uses the directory in the gnome-screensaver pkgconfig file if it's the same prefix as --with-gnome-screensaver=PREFIX (or the f-spot installation prefix).
Comment 19 Ed Catmur 2008-01-04 20:55:42 UTC
Created attachment 102160 [details] [review]
screensaver-path.patch

update for 0.4.1
Comment 20 Stephane Delcroix 2008-05-19 12:15:31 UTC
fixed in r3934