File lightdm-set-gdmflexiserver-envvar.patch of Package lightdm
set the GDMFLEXISERVER environment variable for the gdmflexiserver wrapper
diff --git a/src/Makefile.am b/src/Makefile.am
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -75,6 +75,7 @@ lightdm_CFLAGS = \
$(WARN_CFLAGS) \
$(LIGHTDM_CFLAGS) \
-I"$(top_srcdir)/common" \
+ -DPKGLIBEXEC_DIR=\"$(pkglibexecdir)\" \
-DSBIN_DIR=\"$(sbindir)\" \
-DUSERS_DIR=\"$(localstatedir)/lib/lightdm-data\" \
-DLOG_DIR=\"$(localstatedir)/log/lightdm\" \
diff --git a/src/session-child.c b/src/session-child.c
--- a/src/session-child.c
+++ b/src/session-child.c
@@ -613,6 +613,8 @@ session_child_run (int argc, char **argv
g_free (value);
}
+ pam_putenv (pam_handle, g_strdup_printf ("GDMFLEXISERVER=%s", PKGLIBEXEC_DIR "/gdmflexiserver"));
+
/* Catch terminate signal and pass it to the child */
signal (SIGTERM, signal_cb);