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 693590 - NetworkManager might use different libexecdir than gnome-shell
NetworkManager might use different libexecdir than gnome-shell
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks: 694768
 
 
Reported: 2013-02-11 13:38 UTC by Dominique Leuenberger
Modified: 2013-04-19 22:23 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Introduce --with-nmlibexecdir (2.60 KB, patch)
2013-02-11 13:48 UTC, Dominique Leuenberger
rejected Details | Review

Description Dominique Leuenberger 2013-02-11 13:38:02 UTC
In openSUSE, for example (debian seems to do similar things), gnome-shell is condifured with
configure --libexecdir=/usr/lib/gnome-shell

and NetworkManager accordingly with
configure --libexecdir=/usr/lib/NetworkManager

=> gnome-shell fails to understand this and looks for the NM vpn agents in /usr/lib/gnome-shell

A possible solution (patch to be attached) is to introduce a
--with-nmlibexecdir configure variable, which distributions can make use of instead of patching the code (as done in Debian at the moment)
Comment 1 Dominique Leuenberger 2013-02-11 13:48:22 UTC
Created attachment 235702 [details] [review]
Introduce --with-nmlibexecdir
Comment 2 Dominique Leuenberger 2013-02-11 13:49:13 UTC
For reference, debian has this patch:
http://anonscm.debian.org/viewvc/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/27-nm-libexec-path.patch?view=markup

(which could be replaced by above upstream fix and
  ./configure --with-nmlibexecdir=/usr/lib/NetworkManager
)
Comment 3 Matthias Clasen 2013-02-11 17:57:19 UTC
Thats just not a scalable solution -  configuring  the libexecdirs of dependencies 1-by-1..


Setting private libexecdirs is just not compatible with  its role  as  cross module  api
Comment 4 Dominique Leuenberger 2013-02-11 18:42:51 UTC
It's more scalable than having all dists patching the code base in the end imho.

and the fact that dists DO use different libexecdirs is also a given.
Comment 5 Florian Müllner 2013-02-11 18:56:57 UTC
Review of attachment 235702 [details] [review]:

I agree with Matthias. However if NetworkManager added something like plugin_execdir to its pkg-config file, I'd be fine with picking that up (there is a libgnome_server variable, but I haven't seen any plugins using it, so I guess it's something different).
Comment 6 Colin Walters 2013-02-11 19:00:58 UTC
(In reply to comment #5)
> Review of attachment 235702 [details] [review]:
> However if NetworkManager added something like
> plugin_execdir to its pkg-config file, I'd be fine with picking that up

That's typically the best solution for things like this.

As far as libexecdir - I think only Fedora actually sets it to /usr/libexec, everyone else does the /usr/lib/pkgname thing.
Comment 7 Giovanni Campagna 2013-02-11 20:48:32 UTC
Ahem... people... before we start patching the shell, there is a GLib.path_is_absolute() check right there: can't you just put those absolute paths in the VPN agent keyfile, like Arch does?
(Yes, they were the first to report this, back in 3.4)
Comment 8 Dan Winship 2013-02-27 09:11:50 UTC
(In reply to comment #5)
> Review of attachment 235702 [details] [review]:
> 
> I agree with Matthias. However if NetworkManager added something like
> plugin_execdir to its pkg-config file, I'd be fine with picking that up

Yeah, we can do that. We already added "plugindir" (which is $libdir rather than $libexedir) for gnome-control-center.
Comment 9 Dan Williams 2013-02-28 09:41:19 UTC
(In reply to comment #8)
> (In reply to comment #5)
> > Review of attachment 235702 [details] [review] [details]:
> > 
> > I agree with Matthias. However if NetworkManager added something like
> > plugin_execdir to its pkg-config file, I'd be fine with picking that up
> 
> Yeah, we can do that. We already added "plugindir" (which is $libdir rather
> than $libexedir) for gnome-control-center.

+1 from me
Comment 10 Dan Winship 2013-03-12 19:17:32 UTC
(In reply to comment #8)
> (In reply to comment #5)
> > Review of attachment 235702 [details] [review] [details]:
> > 
> > I agree with Matthias. However if NetworkManager added something like
> > plugin_execdir to its pkg-config file, I'd be fine with picking that up
> 
> Yeah, we can do that. We already added "plugindir" (which is $libdir rather
> than $libexedir) for gnome-control-center.

I changed my mind on this; this just changes the arbitrary constraint from "gnome-shell must use the same prefix as the NM VPN plugins" to "the NM VPN plugins must use the same prefix as NM". While that's somewhat more plausible, there's still no real reason for it.

In master (and eventually 0.9.8.2, which should be in GNOME 3.8), all of the VPN plugin .name files include full paths.
Comment 11 Dominique Leuenberger 2013-04-19 22:23:29 UTC
I'm happy with Dan's solution and don't think more needs to be done; the responsibility has been waved to another part...