diff options
author | root <root@rshg054.dnsready.net> | 2013-11-05 00:47:11 -0800 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-11-05 00:47:11 -0800 |
commit | 4525bb3909f233fd13dbfb43aa6ff4e64e8340d9 (patch) | |
tree | add2024759bc7a18fc8d7f4101dc5d5d9b3e1e44 /community/lightdm | |
parent | 058983fb5cb16dbb25368dd464cbcf27205b3f93 (diff) |
Tue Nov 5 00:46:51 PST 2013
Diffstat (limited to 'community/lightdm')
-rwxr-xr-x | community/lightdm/PKGBUILD | 9 | ||||
-rwxr-xr-x | community/lightdm/lightdm-xdg-session-class.patch | 130 |
2 files changed, 136 insertions, 3 deletions
diff --git a/community/lightdm/PKGBUILD b/community/lightdm/PKGBUILD index cfe7f3d1b..83080cbae 100755 --- a/community/lightdm/PKGBUILD +++ b/community/lightdm/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 99894 2013-10-31 02:19:58Z allan $ +# $Id: PKGBUILD 100476 2013-11-04 22:51:26Z alucryd $ # Maintainer: Maxime Gauduin <alucryd@gmail.com> # Contributor: Morfeo <morfeo89@hotmail.it> pkgbase=lightdm pkgname=('lightdm' 'liblightdm-qt4' 'liblightdm-qt5') pkgver=1.8.1 -pkgrel=1 +pkgrel=3 epoch=1 pkgdesc="A lightweight display manager" arch=('i686' 'x86_64') @@ -19,6 +19,7 @@ source=("https://launchpad.net/lightdm/${pkgver%.*}/${pkgver}/+download/${pkgbas 'lightdm-autologin.pam' 'lightdm.rules' 'lightdm-default-config.patch' + 'lightdm-xdg-session-class.patch' 'Xsession') sha256sums=('e749ea72ac2517f592a8dfcd8bbdf7aba6729cb75c569c03347751d87f99305a' '0d2adba25cdbe59e97ffd302083db9d5e23920780f41e04f64512cd6b633289a' @@ -27,11 +28,13 @@ sha256sums=('e749ea72ac2517f592a8dfcd8bbdf7aba6729cb75c569c03347751d87f99305a' '33e3c3d6e16c8d30756754ea3f31f5457c5be0343686aad287692be34958984a' 'a89566307e1c81c24f037d854cbd472d2f94f8a4b759877a01563a332319f7d6' '0b2f740616110887d5c8662e40f1a8350fc0dfa6c7e99f6e3a5636c6b0ca714f' + '1d991d60c8212c9c763c62ffea8401d69b0be39a4d006cccb8e06676d56e5a55' '7fb85a1b54406032a922e8fd6f45d869fcfe5681df630e74e8e50c040b786ee4') prepare() { cd ${pkgbase}-${pkgver} + patch -Np0 -i ../lightdm-xdg-session-class.patch patch -Np1 -i ../lightdm-default-config.patch } @@ -64,7 +67,7 @@ install="${pkgbase}.install" make DESTDIR="${pkgdir}" -C liblightdm-qt uninstall install -m 755 ../Xsession "${pkgdir}"/etc/lightdm/Xsession rm -rf "${pkgdir}"/etc/init - rm -rf "${pkgdir}"/usr/include/lightdm-qt{,5}-2 + rm -rf "${pkgdir}"/usr/include/lightdm-qt{,5}-* install -dm 770 "${pkgdir}"/var/lib/lightdm install -dm 711 "${pkgdir}"/var/log/lightdm diff --git a/community/lightdm/lightdm-xdg-session-class.patch b/community/lightdm/lightdm-xdg-session-class.patch new file mode 100755 index 000000000..cd9093cf3 --- /dev/null +++ b/community/lightdm/lightdm-xdg-session-class.patch @@ -0,0 +1,130 @@ +=== modified file 'src/seat.c' +--- src/seat.c 2013-10-03 21:38:07 +0000 ++++ src/seat.c 2013-10-21 22:55:16 +0000 +@@ -1075,6 +1075,7 @@ + g_signal_connect (greeter_session, "stopped", G_CALLBACK (session_stopped_cb), seat); + + set_session_env (SESSION (greeter_session)); ++ session_set_env (SESSION (greeter_session), "XDG_SESSION_CLASS", "greeter"); + + session_set_pam_service (SESSION (greeter_session), GREETER_SERVICE); + if (getuid () == 0) + +=== modified file 'src/session-child.c' +--- src/session-child.c 2013-07-26 02:27:41 +0000 ++++ src/session-child.c 2013-10-21 22:55:16 +0000 +@@ -213,7 +213,6 @@ + gchar *authentication_result_string; + gchar *service; + gchar *username; +- gchar *class; + gchar *tty; + gchar *remote_host_name; + gchar *xdisplay; +@@ -284,7 +283,7 @@ + username = read_string (); + read_data (&do_authenticate, sizeof (do_authenticate)); + read_data (&is_interactive, sizeof (is_interactive)); +- class = read_string (); ++ read_string (); /* Used to be class, now we just use the environment variable */ + tty = read_string (); + remote_host_name = read_string (); + xdisplay = read_string (); +@@ -480,7 +479,7 @@ + g_variant_builder_init (&ck_parameters, G_VARIANT_TYPE ("(a(sv))")); + g_variant_builder_open (&ck_parameters, G_VARIANT_TYPE ("a(sv)")); + g_variant_builder_add (&ck_parameters, "(sv)", "unix-user", g_variant_new_int32 (user_get_uid (user))); +- if (g_strcmp0 (class, XDG_SESSION_CLASS_GREETER) == 0) ++ if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), "greeter") == 0) + g_variant_builder_add (&ck_parameters, "(sv)", "session-type", g_variant_new_string ("LoginWindow")); + if (xdisplay) + { +@@ -601,7 +600,7 @@ + if (child_pid > 0) + { + /* Log to utmp */ +- if (g_strcmp0 (class, XDG_SESSION_CLASS_GREETER) != 0) ++ if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), "greeter") != 0) + { + struct utmpx ut; + struct timeval tv; +@@ -632,7 +631,7 @@ + child_pid = 0; + + /* Log to utmp */ +- if (g_strcmp0 (class, XDG_SESSION_CLASS_GREETER) != 0) ++ if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), "greeter") != 0) + { + struct utmpx ut; + struct timeval tv; + +=== modified file 'src/session.c' +--- src/session.c 2013-09-19 14:53:48 +0000 ++++ src/session.c 2013-10-21 22:43:11 +0000 +@@ -84,9 +84,6 @@ + /* File to log to */ + gchar *log_filename; + +- /* Seat class */ +- gchar *class; +- + /* tty this session is running on */ + gchar *tty; + +@@ -200,14 +197,6 @@ + } + + void +-session_set_class (Session *session, const gchar *class) +-{ +- g_return_if_fail (session != NULL); +- g_free (session->priv->class); +- session->priv->class = g_strdup (class); +-} +- +-void + session_set_display_server (Session *session, DisplayServer *display_server) + { + g_return_if_fail (session != NULL); +@@ -615,7 +604,7 @@ + write_string (session, session->priv->username); + write_data (session, &session->priv->do_authenticate, sizeof (session->priv->do_authenticate)); + write_data (session, &session->priv->is_interactive, sizeof (session->priv->is_interactive)); +- write_string (session, session->priv->class); ++ write_string (session, NULL); /* Used to be class, now we just use the environment variable */ + write_string (session, session->priv->tty); + write_string (session, session->priv->remote_host_name); + write_string (session, session->priv->xdisplay); +@@ -874,7 +863,6 @@ + g_free (self->priv->messages); + g_free (self->priv->authentication_result_string); + g_free (self->priv->log_filename); +- g_free (self->priv->class); + g_free (self->priv->tty); + g_free (self->priv->xdisplay); + if (self->priv->x_authority) + +=== modified file 'src/session.h' +--- src/session.h 2013-08-14 20:14:16 +0000 ++++ src/session.h 2013-10-21 22:55:16 +0000 +@@ -57,10 +57,6 @@ + SESSION_TYPE_REMOTE + } SessionType; + +-#define XDG_SESSION_CLASS_USER "user" +-#define XDG_SESSION_CLASS_GREETER "greeter" +-#define XDG_SESSION_CLASS_LOCK_SCREEN "lock-screen" +- + GType session_get_type (void); + + Session *session_new (void); +@@ -83,8 +79,6 @@ + + void session_set_log_file (Session *session, const gchar *filename); + +-void session_set_class (Session *session, const gchar *class); +- + void session_set_display_server (Session *session, DisplayServer *display_server); + + DisplayServer *session_get_display_server (Session *session); + |