gdm/gdm-2.21.9-fix-default-path.patch
2008-03-19 15:29:04 +00:00

58 lines
2.5 KiB
Diff

Index: daemon/gdm-session-worker.c
===================================================================
--- gdm-2.21.9/daemon/gdm-session-worker.c (revision 6042)
+++ gdm-2.21.9/daemon/gdm-session-worker.c (working copy)
@@ -67,7 +67,7 @@
#endif
#ifndef GDM_SESSION_DEFAULT_PATH
-#define GDM_SESSION_DEFAULT_PATH "/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin"
+#define GDM_SESSION_DEFAULT_PATH "/usr/local/bin:/usr/bin:/bin"
#endif
#ifndef GDM_SESSION_ROOT_UID
@@ -1315,7 +1315,13 @@ gdm_session_worker_accredit_user (GdmSes
/* Let's give the user a default PATH if he doesn't already have one
*/
if (!gdm_session_worker_environment_variable_is_set (worker, "PATH")) {
- gdm_session_worker_set_environment_variable (worker, "PATH", GDM_SESSION_DEFAULT_PATH);
+ if (strcmp (BINDIR, "/usr/bin") == 0) {
+ gdm_session_worker_set_environment_variable (worker, "PATH",
+ GDM_SESSION_DEFAULT_PATH);
+ } else {
+ gdm_session_worker_set_environment_variable (worker, "PATH",
+ BINDIR ":" GDM_SESSION_DEFAULT_PATH);
+ }
}
if (! _change_user (worker, uid, gid)) {
--- gdm-2.21.9/daemon/gdm-session-direct.c (revision 6042)
+++ gdm-2.21.9/daemon/gdm-session-direct.c (working copy)
@@ -59,6 +59,10 @@
#define GDM_SESSION_DBUS_INTERFACE "org.gnome.DisplayManager.Session"
#define GDM_SESSION_DBUS_ERROR_CANCEL "org.gnome.DisplayManager.Session.Error.Cancel"
+#ifndef GDM_SESSION_DEFAULT_PATH
+#define GDM_SESSION_DEFAULT_PATH "/usr/local/bin:/usr/bin:/bin"
+#endif
+
struct _GdmSessionDirectPrivate
{
/* per open scope */
@@ -1927,9 +1931,14 @@ setup_session_environment (GdmSessionDir
session->priv->user_x11_authority_file);
}
+ /* FIXME: We do this here and in the session worker. We should consolidate
+ * somehow.
+ */
gdm_session_direct_set_environment_variable (session,
"PATH",
- "/bin:/usr/bin:" BINDIR);
+ strcmp (BINDIR, "/usr/bin") == 0?
+ GDM_SESSION_DEFAULT_PATH :
+ BINDIR ":" GDM_SESSION_DEFAULT_PATH);
}