lxdm-0.5.3-upstream-fixes.patch 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. From c6836939c6fd603f86f469bb7c6502b28b1ca583 Mon Sep 17 00:00:00 2001
  2. From: dgod <dgod.osa@gmail.com>
  3. Date: Sun, 3 Jan 2016 11:53:13 +0800
  4. Subject: [PATCH 01/07] create user specific directory under /var/run
  5. ---
  6. src/lxdm.c | 8 +++++++-
  7. 1 file changed, 7 insertions(+), 1 deletion(-)
  8. diff --git a/src/lxdm.c b/src/lxdm.c
  9. index a37f051..d81b587 100644
  10. --- a/src/lxdm.c
  11. +++ b/src/lxdm.c
  12. @@ -750,7 +750,13 @@ static char ** create_client_auth(struct passwd *pw,char **env)
  13. if(xauth_write_file(authfile,s->display,s->mcookie)==-1)
  14. {
  15. g_free(authfile);
  16. - authfile = g_strdup_printf("/var/run/lxdm/.Xauth%d",pw->pw_uid);
  17. +
  18. + gchar *authdir = g_strdup_printf("/var/run/lxdm/%d", pw->pw_uid);
  19. + g_mkdir_with_parents(authdir, S_IRWXU);
  20. + chown(authdir, pw->pw_uid, pw->pw_gid);
  21. +
  22. + authfile = g_strdup_printf("%s/.Xauthority", authdir);
  23. + g_free(authdir);
  24. remove(authfile);
  25. xauth_write_file(authfile,s->display,s->mcookie);
  26. }
  27. --
  28. 2.1.4
  29. From 7258b57fd305182c6c031eb8c1ded96c5a06f6da Mon Sep 17 00:00:00 2001
  30. From: dgod <dgod.osa@gmail.com>
  31. Date: Sat, 20 Feb 2016 22:36:59 +0800
  32. Subject: [PATCH 02/07] fix build before gtk 2.22
  33. ---
  34. src/greeter-gdk.c | 3 +++
  35. 1 file changed, 3 insertions(+)
  36. diff --git a/src/greeter-gdk.c b/src/greeter-gdk.c
  37. index 1abbefa..ad3267a 100644
  38. --- a/src/greeter-gdk.c
  39. +++ b/src/greeter-gdk.c
  40. @@ -22,6 +22,7 @@
  41. #define XLIB_ILLEGAL_ACCESS
  42. +#include <gtk/gtk.h>
  43. #include <gdk/gdk.h>
  44. #include <gdk/gdkx.h>
  45. #include <gdk/gdkkeysyms.h>
  46. @@ -88,12 +89,14 @@ static void on_ui_expose(void)
  47. }
  48. cr=gdk_cairo_create(win);
  49. +#if GTK_CHECK_VERSION(3,0,0)
  50. cairo_pattern_t *pattern=gdk_window_get_background_pattern(win);
  51. if(pattern)
  52. {
  53. cairo_set_source(cr,pattern);
  54. cairo_paint(cr);
  55. }
  56. +#endif
  57. gdk_cairo_set_source_color(cr, &bg);
  58. cairo_rectangle(cr, rc.x, rc.y, rc.width, rc.height);
  59. --
  60. 2.1.4
  61. From 5d36a53702f1e60bb316946f1edccb2dbc3c01bd Mon Sep 17 00:00:00 2001
  62. From: dgod <dgod.osa@gmail.com>
  63. Date: Sun, 21 Feb 2016 10:45:58 +0800
  64. Subject: [PATCH 03/07] fix with user_list only: problem when password check
  65. fail
  66. ---
  67. src/greeter.c | 2 +-
  68. 1 file changed, 1 insertion(+), 1 deletion(-)
  69. diff --git a/src/greeter.c b/src/greeter.c
  70. index 10b7f3f..03503b6 100644
  71. --- a/src/greeter.c
  72. +++ b/src/greeter.c
  73. @@ -146,7 +146,7 @@ static void switch_to_input_user(void)
  74. if(user_list_scrolled)
  75. gtk_widget_show(user_list_scrolled);
  76. else
  77. - gtk_widget_hide(user_list);
  78. + gtk_widget_show(user_list);
  79. gtk_widget_grab_focus(user_list);
  80. }
  81. else
  82. --
  83. 2.1.4
  84. From fe121ce70ad5e99bd3b3b896dfcbe439dd22716c Mon Sep 17 00:00:00 2001
  85. From: dgod <dgod.osa@gmail.com>
  86. Date: Sun, 21 Feb 2016 11:45:35 +0800
  87. Subject: [PATCH 04/07] fix not honor ctl+alt+backspacer for restarting
  88. ---
  89. src/lxdm.c | 5 +++++
  90. 1 file changed, 5 insertions(+)
  91. diff --git a/src/lxdm.c b/src/lxdm.c
  92. index d81b587..e00d219 100644
  93. --- a/src/lxdm.c
  94. +++ b/src/lxdm.c
  95. @@ -962,6 +962,11 @@ static void on_xserver_stop(void *data,int pid, int status)
  96. s->dpy=NULL;
  97. ui_drop();
  98. lxdm_startx(s);
  99. + #ifndef DISABLE_XAUTH
  100. + char temp[256];
  101. + sprintf(temp,"/var/run/lxdm/lxdm-:%d.auth",s->display);
  102. + setenv("XAUTHORITY",temp,1);
  103. + #endif
  104. ui_prepare();
  105. lxsession_set_active(s);
  106. }
  107. --
  108. 2.1.4
  109. From 72812894cfd9454d70e4b0753531e46580416771 Mon Sep 17 00:00:00 2001
  110. From: dgod <dgod.osa@gmail.com>
  111. Date: Mon, 21 Mar 2016 19:25:25 +0800
  112. Subject: [PATCH 05/07] fix css under gtk 3.20
  113. ---
  114. data/themes/Industrial/gtk.css | 1 +
  115. 1 file changed, 1 insertion(+)
  116. diff --git a/data/themes/Industrial/gtk.css b/data/themes/Industrial/gtk.css
  117. index 179f0d6..f8e6432 100644
  118. --- a/data/themes/Industrial/gtk.css
  119. +++ b/data/themes/Industrial/gtk.css
  120. @@ -17,6 +17,7 @@
  121. color: #000000;
  122. }
  123. +#bottom_pane label,
  124. #bottom_pane GtkLabel {
  125. font: Sans 12;
  126. color: #9E9D9B;
  127. --
  128. 2.1.4
  129. From 855c090f1330aedc97b9a486dcd0d0b4c7ff4f4e Mon Sep 17 00:00:00 2001
  130. From: dgod <dgod.osa@gmail.com>
  131. Date: Sun, 16 Oct 2016 12:49:40 +0800
  132. Subject: [PATCH 06/07] Compile with the musl c library (no execinfo.h)
  133. ---
  134. configure.ac | 2 +-
  135. src/lxdm.c | 4 ++++
  136. 2 files changed, 5 insertions(+), 1 deletion(-)
  137. diff --git a/configure.ac b/configure.ac
  138. index 52f2ac9..a9fca61 100644
  139. --- a/configure.ac
  140. +++ b/configure.ac
  141. @@ -32,7 +32,7 @@ AM_CONDITIONAL(HAVE_PAM, [test -n "$USE_PAM" -a "x$USE_PAM" != xno ])
  142. # Checks for header files.
  143. AC_PATH_X
  144. -AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h])
  145. +AC_CHECK_HEADERS([execinfo.h shadow.h stdlib.h string.h unistd.h utmpx.h])
  146. # Checks for typedefs, structures, and compiler characteristics.
  147. AC_TYPE_PID_T
  148. diff --git a/src/lxdm.c b/src/lxdm.c
  149. index e00d219..53d2176 100644
  150. --- a/src/lxdm.c
  151. +++ b/src/lxdm.c
  152. @@ -49,7 +49,9 @@
  153. #include <sys/ioctl.h>
  154. #include <sys/stat.h>
  155. +#ifdef HAVE_EXECINFO_H
  156. #include <execinfo.h>
  157. +#endif
  158. #ifdef HAVE_UTMPX_H
  159. #include <utmpx.h>
  160. @@ -1552,6 +1554,7 @@ int lxdm_do_auto_login(void)
  161. static void log_sigsegv(void)
  162. {
  163. +#ifdef HAVE_EXECINFO_H
  164. void *array[40];
  165. size_t size;
  166. char **bt_strs;
  167. @@ -1564,6 +1567,7 @@ static void log_sigsegv(void)
  168. fprintf(stderr, "%s\n", bt_strs[i]);
  169. free(bt_strs);
  170. +#endif
  171. }
  172. static void sigsegv_handler(int sig)
  173. --
  174. 2.1.4
  175. From a548c73e35d62ec334df5cd3a491ee409d0067bd Mon Sep 17 00:00:00 2001
  176. From: dgod <dgod.osa@gmail.com>
  177. Date: Fri, 11 Nov 2016 20:24:30 +0800
  178. Subject: [PATCH 07/07] fix tcp_listen=1 does not work for mordern X.org
  179. ---
  180. src/lxdm.c | 3 +++
  181. 1 file changed, 3 insertions(+)
  182. diff --git a/src/lxdm.c b/src/lxdm.c
  183. index 53d2176..722936f 100644
  184. --- a/src/lxdm.c
  185. +++ b/src/lxdm.c
  186. @@ -490,6 +490,9 @@ static char *lxsession_xserver_command(LXSession *s)
  187. {
  188. arg[arc++] = g_strdup("-nolisten");
  189. arg[arc++] = g_strdup("tcp");
  190. + } else {
  191. + arg[arc++] = g_strdup("-listen");
  192. + arg[arc++] = g_strdup("tcp");
  193. }
  194. if(!novtswitch)
  195. {
  196. --
  197. 2.1.4