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 645918 - Autodetection for helper paths
Autodetection for helper paths
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
2.91.x
Other Linux
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2011-03-28 10:16 UTC by Josselin Mouette
Modified: 2013-11-11 17:18 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Detect helper paths more correctly (6.55 KB, patch)
2011-03-28 10:16 UTC, Josselin Mouette
none Details | Review
Add configure option to specify gnome-settings-daemon location (3.03 KB, patch)
2013-11-11 00:16 UTC, Laurent Bigonville
reviewed Details | Review

Description Josselin Mouette 2011-03-28 10:16:05 UTC
Created attachment 184437 [details] [review]
Detect helper paths more correctly

Currently GDM assumes the helper paths (for g-s-d, g-session, ConsoleKit and PolicyKit) are always $libexecdir. However on Debian systems libexecdir is different for each package.

Ideally this should be done with pkg-config, but of these four, only g-s-d ships a .pc file.
Comment 1 Matthias Clasen 2011-03-28 11:40:54 UTC
A per-package libexecdir is a nonsense...
Comment 2 Josselin Mouette 2011-03-28 11:47:41 UTC
libexecdir is nonsense to begin with. And it’s not in the FHS.

Now if you don’t want to accept patches for non-Red Hat systems, just tell me, that will save everyone a lot of time.
Comment 3 Allison Karlitskaya (desrt) 2011-03-28 12:30:11 UTC
The patch looks a bit bad...

It would be better to do one of these:

 1) just be able to specify the paths of those executables directly without playing around with multiple libexecdirs

 2) have the pkg-config for those other packages specify the executable path and pick it up from there

 3) #1 if specified, with #2 as the default (this is clearly best)
Comment 4 Matthias Clasen 2011-03-28 18:26:03 UTC
Sounds better, indeed.
Comment 5 Allison Karlitskaya (desrt) 2011-03-28 23:03:32 UTC
We had a dinner-time conversation about this and we realised that my suggestion is suboptimal because it drastically increases the number of build-time dependencies of gdm.

Vincent has some other ideas...
Comment 6 André Klapper 2012-02-06 15:49:21 UTC
(In reply to comment #5)
> Vincent has some other ideas...

Would Vincent tell them about us here?
Comment 7 Vincent Untz 2012-02-06 15:58:47 UTC
I don't remember what those ideas were :-) I assume Josselin was also at the dinner, so he might remember them if Ryan doesn't either...
Comment 8 Vincent Untz 2012-02-06 15:59:34 UTC
Hrm, maybe it could have been something related to how we start the apps with gnome-session?
Comment 9 Ray Strode [halfline] 2012-02-06 17:41:39 UTC
So there are two independent things here:

1) consolekit goo
2) stuff defining the gnome-session

For 1) I don't care what we do. consolekit is slowly going to fade away anyway, I guess. In the mean time a 

--with-consolekit-x11-helper=/usr/lib/ConsoleKit/ck-whatever-helper

would be fine.  I'd certainly rather --with-consolekit-x11-helper than --with-consolekit-libexec-dir or something though.

For 2), the greeter-autostart approach sort of sucks anyway because there's duplicated files between gdm and various components.  We don't do that anymore, I believe, though.  Now we just ship a session file and have gnome-session figure out how to start things. we do have some overrides (for instance we override gnome-shell to start it in "gdm mode"), but I think 2) isn't so much a problem now, right?  We could drop the overrides entirely and just make each occurence than needs it check if it's in a gdm session (much the way gnome-session checks if its in a gdm session).
Comment 10 Josselin Mouette 2012-02-06 23:49:51 UTC
(In reply to comment #9)
> 1) consolekit goo
> 2) stuff defining the gnome-session

As of 3.2, only consolekit and g-s-d remain. The g-s-d process is still started by hand, we could probably also use the autostart mechanism for that.
Comment 11 Ray Strode [halfline] 2012-02-07 19:52:48 UTC
i don't think we start g-s-d by hand.  We ship a session file "gdm-shell.session" that does 

RequiredComponents=gnome-shell;gnome-settings-daemon;

and gnome-session starts gnome-settings-daemon for us.
Comment 13 Laurent Bigonville 2013-10-22 09:32:39 UTC
Hi,

Sorry to resurrect an old bug, but this doesn't seems to be fully fixed.

I still see the following line of code in gui/simple-chooser/gdm-chooser-session.c:

g_spawn_command_line_async (LIBEXECDIR "/gnome-settings-daemon", &error);

It seems that the description of the 2nd patch in the previous comment was not correct and was mixing gnome-session-check-accel and gnome-settings-daemon
Comment 14 Laurent Bigonville 2013-11-11 00:16:18 UTC
Created attachment 259512 [details] [review]
Add configure option to specify gnome-settings-daemon location

Add --with-gnome-settings-daemon-directory option to allow one to pass
location for the gnome-settings-daemon executable
Comment 15 Ray Strode [halfline] 2013-11-11 16:59:04 UTC
Review of attachment 259512 [details] [review]:

I think the patch i'd rather see, is one where the chooser uses gnome-session the same way the greeter does, but i'm not going to block on that if you aren't feeling ambituous enough to do that. feel free to post a patch that changes the chooser session over to use gnome-session, or feel free to push this patch with the below change made.

::: configure.ac
@@ +1104,3 @@
+AC_ARG_WITH(gnome-settings-daemon-directory,
+              [AC_HELP_STRING([--with-gnome-settings-daemon-directory],
+                              [Specify the directory of gnome-settings-daemon @<:@default=libexecdir@:>@])],,

the description should probably say its for the chooser only (and maybe the option should have "chooser" somewhere in it too).
Comment 16 Laurent Bigonville 2013-11-11 17:18:49 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.

From 8b858821f75cfb3428fd8a6d98b101333dd5e105 Mon Sep 17 00:00:00 2001
From: Laurent Bigonville <bigon@bigon.be>
Date: Mon, 11 Nov 2013 00:05:29 +0000
Subject: Add configure option to specify gnome-settings-daemon location

Add --with-gnome-settings-daemon-directory option to allow one to pass
location for the gnome-settings-daemon executable used by the chooser

https://bugzilla.gnome.org/show_bug.cgi?id=645918