GNOME Bugzilla – Bug 319354
installations fails on system without libexec
Last modified: 2005-10-20 21:42:00 UTC
Please describe the problem: On a system where %{libexecdir} is the same as %{libdir} = "/usr/lib", a directory is created in /usr/lib (/usr/lib/deskbar-applet. The deskbar-applet binary is supposed to be in %{libexecdir}, that means in the *.server file the path to the binary is /usr/lib/deskbar-applet. During installatino the directory /usr/lib/deskbar-applet is created before the binary is copied. The binary is the copied to /usr/lib/deskbar-applet, because this is already a directory, the binary is created _in_ this directory. Because the path in the *.server file is /usr/lib/deskbar-applet, but the real path is /usr/lib/deskbar-applet/deskbar-applet, the applet can't be started. Steps to reproduce: 1. e.g. use %configure in the rpm spec file on a distribution where %{libdir} = %{libexecdir} 2. install deskbar-applet 3. add it to the panel Actual results: error message: applet can't be loaded Expected results: applet is added to the panel Does this happen every time? yes Other information: Because many distribution (e.g. suse) have no /usr/libexec and /usr/libexec is deprecated in the file system standard (FHS - www.pathname.com/fhs/) it would be nice if source packages don't assume the libdir and libexecdir are different directories.
Created attachment 53710 [details] [review] patch which solves the problem This patch changes the path of the deskbar binary to /usr/lib/deskbar-applet/deskbar-applet for all distributions, regardless whether libdir is the same as libexecdir. The path in the *.server file is changed appropriate.
Thanks for the patch, i'm sure you know better than me these kind of things :) It's in CVS !