summaryrefslogtreecommitdiff
path: root/community/lxdm
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-09-14 02:29:04 -0700
committerroot <root@rshg054.dnsready.net>2013-09-14 02:29:04 -0700
commit4037e15db64f7056ae2222c22605b41d95d5b3c3 (patch)
tree197b645a67f31a4de4492502880ebf5e47e4ecd0 /community/lxdm
parentab0da22f3d1d275faa99cd8139037a6ec60e2df3 (diff)
Sat Sep 14 02:27:34 PDT 2013
Diffstat (limited to 'community/lxdm')
-rw-r--r--community/lxdm/PKGBUILD8
-rw-r--r--community/lxdm/git-fixes.patch178
-rw-r--r--community/lxdm/lxdm-0.4.1-Xsession-source-profile.patch11
-rw-r--r--community/lxdm/lxdm-0.4.1-conf.patch11
-rw-r--r--community/lxdm/lxdm-0.4.1-event-check-bug.patch21
-rw-r--r--community/lxdm/lxdm-0.4.1-industrial-greeter-ui.patch13
-rw-r--r--community/lxdm/lxdm-0.4.1-kill_user_processes.patch35
-rw-r--r--community/lxdm/lxdm-0.4.1-modern-systems.patch26
-rw-r--r--community/lxdm/lxdm-0.4.1-nolang-show-sessions.patch13
-rw-r--r--community/lxdm/lxdm-0.4.1-pam-env-vars.patch50
-rw-r--r--community/lxdm/lxdm.pam10
-rw-r--r--community/lxdm/lxdm.service9
12 files changed, 138 insertions, 247 deletions
diff --git a/community/lxdm/PKGBUILD b/community/lxdm/PKGBUILD
index f0f50a4b6..4ccae3d07 100644
--- a/community/lxdm/PKGBUILD
+++ b/community/lxdm/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 97058 2013-09-11 23:48:41Z bgyorgy $
+# $Id: PKGBUILD 97132 2013-09-13 13:17:58Z bgyorgy $
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
# Contributor: AndyRTR <andyrtr@archlinux.org>
# Contributor: kiefer <jorgelmadrid@gmail.com>
pkgname=lxdm
pkgver=0.4.1
-pkgrel=26
+pkgrel=27
pkgdesc='Lightweight X11 Display Manager'
arch=('i686' 'x86_64')
url="http://sourceforge.net/projects/lxdm/"
license=('GPL')
groups=('lxde')
depends=('gtk2' 'xorg-server' 'iso-codes')
-makedepends=('git' 'intltool')
+makedepends=('intltool')
optdepends=('gtk-engines: default GTK+ theme'
'librsvg: display the default background')
install=$pkgname.install
@@ -23,7 +23,7 @@ source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz
git-fixes.patch
default-config.patch)
md5sums=('8da1cfc2be6dc9217c85a7cf51e1e821'
- '62ca036a270732ee39b11b9ee27ae338'
+ '03d0779fbac1a9964776c82e69fbc53e'
'c61ec8ffd3fe8bd2a6a9178393622f4c')
prepare(){
diff --git a/community/lxdm/git-fixes.patch b/community/lxdm/git-fixes.patch
index 0137378e0..6a331cf0b 100644
--- a/community/lxdm/git-fixes.patch
+++ b/community/lxdm/git-fixes.patch
@@ -2192,7 +2192,7 @@ index 0000000..24a6c38
+#endif /*_LXCOMMON_H_*/
+
diff --git a/src/lxdm.c b/src/lxdm.c
-index 5c279af..85ef3be 100644
+index 5c279af..8ac8478 100644
--- a/src/lxdm.c
+++ b/src/lxdm.c
@@ -24,9 +24,6 @@
@@ -2256,10 +2256,39 @@ index 5c279af..85ef3be 100644
static GSList *session_list;
static void lxdm_startx(LXSession *s);
-@@ -153,18 +159,6 @@ void stop_pid(int pid)
- while( waitpid(-1, 0, WNOHANG) > 0 ) ;
+@@ -128,7 +134,7 @@ static void set_active_vt(int vt)
+ if( fd < 0 )
+ fd = 0;
+ ioctl(fd, VT_ACTIVATE, vt);
+- if( fd != 0 )
++ if(fd!=0)
+ close(fd);
}
+@@ -142,28 +148,19 @@ void stop_pid(int pid)
+ {
+ if( kill(pid, SIGTERM) )
+ kill(pid, SIGKILL);
+- while( 1 )
+- {
+- int wpid, status;
+- wpid = waitpid(pid,&status,0);
+- if(wpid<0 || pid == wpid)
+- break;
+- }
+ }
+- while( waitpid(-1, 0, WNOHANG) > 0 ) ;
+-}
++ while( 1 )
++ {
++ int wpid, status;
++ wpid = waitpid(pid,&status,0);
++ if(pid == wpid)
++ break;
++ if(wpid<0 && errno!=EINTR)
++ break;
++ }
+
-#if HAVE_LIBPAM
-static void close_pam_session(pam_handle_t *pamh)
-{
@@ -2269,13 +2298,13 @@ index 5c279af..85ef3be 100644
- //err=pam_setcred(pamh, PAM_DELETE_CRED);
- pam_end(pamh, err);
- pamh = NULL;
--}
++ while( waitpid(-1, 0, WNOHANG) > 0 ) ;
+ }
-#endif
--
+
static LXSession *lxsession_find_greeter(void)
{
- GSList *p;
-@@ -271,7 +265,7 @@ static int lxsession_alloc_tty(void)
+@@ -271,7 +268,7 @@ static int lxsession_alloc_tty(void)
static int lxsession_alloc_display(void)
{
int i;
@@ -2284,7 +2313,7 @@ index 5c279af..85ef3be 100644
{
if(!display_is_used(i))
return i;
-@@ -299,6 +293,7 @@ static LXSession *lxsession_add(void)
+@@ -299,6 +296,7 @@ static LXSession *lxsession_add(void)
return NULL;
}
s->env=NULL;
@@ -2292,7 +2321,7 @@ index 5c279af..85ef3be 100644
session_list=g_slist_prepend(session_list,s);
lxdm_startx(s);
return s;
-@@ -354,10 +349,7 @@ static void lxsession_stop(LXSession *s)
+@@ -354,10 +352,7 @@ static void lxsession_stop(LXSession *s)
{
xconn_clean(s->dpy);
}
@@ -2304,7 +2333,24 @@ index 5c279af..85ef3be 100644
#if HAVE_LIBCK_CONNECTOR
if( s->ckc != NULL )
{
-@@ -467,7 +459,7 @@ static char *lxsession_xserver_command(LXSession *s)
+@@ -427,6 +422,7 @@ static char *lxsession_xserver_command(LXSession *s)
+ int arc;
+ char **arg;
+ int i;
++ int novtswitch=0;
+
+ if(s->option)
+ {
+@@ -462,12 +458,16 @@ static char *lxsession_xserver_command(LXSession *s)
+ g_free(arg[i]);
+ arc--;memcpy(arg+i,arg+i+1,(arc-i)*sizeof(char*));
+ }
++ else if(!strcmp(p,"-novtswitch"))
++ {
++ novtswitch=1;
++ }
+ else
+ {
i++;
}
}
@@ -2313,7 +2359,7 @@ index 5c279af..85ef3be 100644
arg = g_renew(char *, arg, arc + 10);
if(nr_tty)
{
-@@ -477,8 +469,11 @@ printf("arc %d\n",arc);
+@@ -477,8 +477,15 @@ printf("arc %d\n",arc);
arg[arc++] = g_strdup_printf(":%d",s->display);
if(s->tty>0)
arg[arc++] = g_strdup_printf("vt%02d", s->tty);
@@ -2324,10 +2370,14 @@ index 5c279af..85ef3be 100644
+ arg[arc++] = g_strdup("-nolisten");
+ arg[arc++] = g_strdup("tcp");
+ }
++ if(!novtswitch)
++ {
++ arg[arc++] = g_strdup("-novtswitch");
++ }
arg[arc] = NULL;
p=g_strjoinv(" ", arg);
g_strfreev(arg);
-@@ -518,15 +513,17 @@ void lxdm_get_tty(void)
+@@ -518,15 +525,17 @@ void lxdm_get_tty(void)
{
nr_tty=1;
}
@@ -2348,7 +2398,7 @@ index 5c279af..85ef3be 100644
if(plymouth)
{
nr_tty=1;
-@@ -550,13 +547,13 @@ void lxdm_quit_self(int code)
+@@ -550,13 +559,13 @@ void lxdm_quit_self(int code)
static void log_init(void)
{
int fd_log;
@@ -2363,7 +2413,7 @@ index 5c279af..85ef3be 100644
}
static void log_ignore(const gchar *log_domain, GLogLevelFlags log_level,
-@@ -647,6 +644,19 @@ static void replace_env(char** env, const char* name, const char* new_val)
+@@ -647,6 +656,19 @@ static void replace_env(char** env, const char* name, const char* new_val)
*(penv + 1) = NULL;
}
@@ -2383,7 +2433,7 @@ index 5c279af..85ef3be 100644
#ifndef DISABLE_XAUTH
static inline void xauth_write_uint16(int fd,uint16_t data)
-@@ -665,15 +675,20 @@ static inline void xauth_write_string(int fd,const char *s)
+@@ -665,15 +687,20 @@ static inline void xauth_write_string(int fd,const char *s)
write(fd,s,len);
}
@@ -2408,7 +2458,7 @@ index 5c279af..85ef3be 100644
xauth_write_string(fd,"MIT-MAGIC-COOKIE-1");
xauth_write_uint16(fd,16);
write(fd,data,16);
-@@ -695,139 +710,55 @@ static void create_server_auth(LXSession *s)
+@@ -695,139 +722,55 @@ static void create_server_auth(LXSession *s)
authfile = g_strdup_printf("/var/run/lxdm/lxdm-:%d.auth",s->display);
@@ -2475,7 +2525,8 @@ index 5c279af..85ef3be 100644
-static char *user_pass[2];
-
-static int do_conv(int num, const struct pam_message **msg,struct pam_response **resp, void *arg)
--{
++int lxdm_auth_user(int type,char *user, char *pass, struct passwd **ppw)
+ {
- int result = PAM_SUCCESS;
- int i;
- *resp = (struct pam_response *) calloc(num, sizeof(struct pam_response));
@@ -2504,8 +2555,7 @@ index 5c279af..85ef3be 100644
-#endif
-
-int lxdm_auth_user(char *user, char *pass, struct passwd **ppw)
-+int lxdm_auth_user(int type,char *user, char *pass, struct passwd **ppw)
- {
+-{
- struct passwd *pw;
-#if !HAVE_LIBPAM
- struct spwd *sp;
@@ -2572,7 +2622,7 @@ index 5c279af..85ef3be 100644
s=lxsession_find_greeter();
if(!s) s=lxsession_find_idle();
if(!s) s=lxsession_add();
-@@ -836,97 +767,12 @@ int lxdm_auth_user(char *user, char *pass, struct passwd **ppw)
+@@ -836,97 +779,12 @@ int lxdm_auth_user(char *user, char *pass, struct passwd **ppw)
g_critical("lxsession_add fail\n");
exit(0);
}
@@ -2606,8 +2656,12 @@ index 5c279af..85ef3be 100644
- *ppw = pw;
- g_debug("user %s auth ok\n",pw->pw_name);
- return AUTH_SUCCESS;
--}
--
++ ret=lxdm_auth_user_authenticate(&s->auth,user,pass,type);
++ if(ret==AUTH_SUCCESS)
++ *ppw=&s->auth.pw;
++ return ret;
+ }
+
-#if HAVE_LIBPAM
-void setup_pam_session(LXSession *s,struct passwd *pw,char *session_name)
-{
@@ -2663,18 +2717,14 @@ index 5c279af..85ef3be 100644
- free(penv[i]);
- }
- free(penv);
-+ ret=lxdm_auth_user_authenticate(&s->auth,user,pass,type);
-+ if(ret==AUTH_SUCCESS)
-+ *ppw=&s->auth.pw;
-+ return ret;
- }
-
+-}
+-
-#endif
-
static void close_left_fds(void)
{
struct dirent **list;
-@@ -945,9 +791,15 @@ static void close_left_fds(void)
+@@ -945,9 +803,15 @@ static void close_left_fds(void)
close(fd);
}
free(list);
@@ -2691,7 +2741,7 @@ index 5c279af..85ef3be 100644
{
int fd;
-@@ -968,9 +820,6 @@ void switch_user(struct passwd *pw, char *run, char **env)
+@@ -968,9 +832,6 @@ void switch_user(struct passwd *pw, char *run, char **env)
dup2(fd,STDERR_FILENO);
close(fd);
}
@@ -2701,7 +2751,7 @@ index 5c279af..85ef3be 100644
/* reset signal */
signal(SIGCHLD, SIG_DFL);
-@@ -1114,7 +963,7 @@ void lxdm_startx(LXSession *s)
+@@ -1114,7 +975,7 @@ void lxdm_startx(LXSession *s)
g_strfreev(args);
lxcom_add_child_watch(s->server, on_xserver_stop, s);
@@ -2710,7 +2760,7 @@ index 5c279af..85ef3be 100644
for( i = 0; i < 100; i++ )
{
if(lxcom_last_sig==SIGINT || lxcom_last_sig==SIGTERM)
-@@ -1124,6 +973,7 @@ void lxdm_startx(LXSession *s)
+@@ -1124,6 +985,7 @@ void lxdm_startx(LXSession *s)
g_usleep(50 * 1000);
//g_message("retry %d\n",i);
}
@@ -2718,7 +2768,7 @@ index 5c279af..85ef3be 100644
if(s->dpy==NULL)
exit(EXIT_FAILURE);
-@@ -1200,6 +1050,11 @@ static void on_session_stop(void *data,int pid, int status)
+@@ -1200,6 +1062,11 @@ static void on_session_stop(void *data,int pid, int status)
{
lxsession_free(s);
}
@@ -2730,7 +2780,7 @@ index 5c279af..85ef3be 100644
gchar *argv[] = { "/etc/lxdm/PostLogout", NULL };
g_spawn_async(NULL, argv, s->env, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL);
}
-@@ -1212,7 +1067,7 @@ gboolean lxdm_get_session_info(char *session,char **pname,char **pexec)
+@@ -1212,7 +1079,7 @@ gboolean lxdm_get_session_info(char *session,char **pname,char **pexec)
name=g_key_file_get_string(config, "base", "session", 0);
if(!name && getenv("PREFERRED"))
name = g_strdup(getenv("PREFERRED"));
@@ -2739,7 +2789,7 @@ index 5c279af..85ef3be 100644
name = g_strdup(getenv("DESKTOP"));
if(!name) name=g_strdup("LXDE");
}
-@@ -1291,7 +1146,7 @@ static void lxdm_save_login(char *session,char *lang)
+@@ -1291,7 +1158,7 @@ static void lxdm_save_login(char *session,char *lang)
lang="";
var=g_key_file_new();
g_key_file_set_list_separator(var, ' ');
@@ -2748,7 +2798,7 @@ index 5c279af..85ef3be 100644
old=g_key_file_get_string(var,"base","last_session",0);
if(0!=g_strcmp0(old,session))
{
-@@ -1343,7 +1198,7 @@ static void lxdm_save_login(char *session,char *lang)
+@@ -1343,7 +1210,7 @@ static void lxdm_save_login(char *session,char *lang)
char* data = g_key_file_to_data(var, &len, NULL);
mkdir("/var/lib/lxdm",0755);
chmod("/var/lib/lxdm",0755);
@@ -2757,7 +2807,16 @@ index 5c279af..85ef3be 100644
g_free(data);
}
g_key_file_free(var);
-@@ -1423,12 +1278,10 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option)
+@@ -1357,6 +1224,8 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option)
+ LXSession *s,*prev;
+
+ lxdm_save_login(session,lang);
++ if(!strcmp(session,"__default__"))
++ session=NULL;
+
+ if(!session ||!session[0] || !lang || !lang[0])
+ {
+@@ -1423,12 +1292,10 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option)
s->ckc=NULL;
}
#endif
@@ -2772,7 +2831,7 @@ index 5c279af..85ef3be 100644
#else
if(!s->ckc)
#endif
-@@ -1451,9 +1304,20 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option)
+@@ -1451,9 +1318,20 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option)
"x11-display", &n,
"is-local",&is_local,
NULL))
@@ -2794,7 +2853,7 @@ index 5c279af..85ef3be 100644
char** env, *path;
int n_env,i;
n_env = g_strv_length(environ);
-@@ -1483,17 +1347,22 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option)
+@@ -1483,17 +1361,22 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option)
replace_env(env, "LANGUAGE=", lang);
}
s->env = env;
@@ -2823,7 +2882,7 @@ index 5c279af..85ef3be 100644
g_free(session_name);
g_free(session_exec);
if(alloc_session)
-@@ -1519,7 +1388,7 @@ void lxdm_do_shutdown(void)
+@@ -1519,7 +1402,7 @@ void lxdm_do_shutdown(void)
char *cmd;
cmd = g_key_file_get_string(config, "cmd", "shutdown", 0);
if( !cmd ) cmd = g_strdup("shutdown -h now");
@@ -2832,7 +2891,7 @@ index 5c279af..85ef3be 100644
g_spawn_command_line_async(cmd,0);
g_free(cmd);
lxdm_quit_self(0);
-@@ -1548,10 +1417,30 @@ int lxdm_do_auto_login(void)
+@@ -1548,10 +1431,30 @@ int lxdm_do_auto_login(void)
if(count==1)
pass = g_key_file_get_string(config, "base", "password", 0);
#endif
@@ -2863,7 +2922,7 @@ index 5c279af..85ef3be 100644
if(p[0]=='@')
{
option=p+1;
-@@ -1559,11 +1448,16 @@ int lxdm_do_auto_login(void)
+@@ -1559,11 +1462,16 @@ int lxdm_do_auto_login(void)
session=g_key_file_get_string(config,option,"session",0);
lang=g_key_file_get_string(config,option,"lang",0);
}
@@ -2881,7 +2940,7 @@ index 5c279af..85ef3be 100644
if(ret==AUTH_SUCCESS)
{
lxdm_do_login(pw,session,lang,option);
-@@ -1571,9 +1465,11 @@ int lxdm_do_auto_login(void)
+@@ -1571,9 +1479,11 @@ int lxdm_do_auto_login(void)
}
g_free(user);g_free(session);g_free(lang);
}
@@ -2894,7 +2953,7 @@ index 5c279af..85ef3be 100644
}
static void log_sigsegv(void)
-@@ -1677,8 +1573,23 @@ GKeyFile *lxdm_user_list(void)
+@@ -1677,8 +1587,23 @@ GKeyFile *lxdm_user_list(void)
g_key_file_set_comment(kf,NULL,NULL,"lxdm user list",NULL);
while((pw=getpwent())!=NULL)
{
@@ -2918,6 +2977,37 @@ index 5c279af..85ef3be 100644
if(strncmp(pw->pw_dir,"/home/",6))
{
if(!strv_find(white,pw->pw_name))
+@@ -1780,21 +1705,21 @@ int main(int arc, char *arg[])
+ return res?0:-1;
+ }
+ }
+- if( getuid() != 0 )
++ if(getuid() != 0)
+ {
+ fprintf(stderr, "only root is allowed to use this program\n");
+ exit(EXIT_FAILURE);
+ }
+
+- if( daemonmode )
++ if(daemonmode)
+ {
+ (void)daemon(1, 1);
+ }
+ log_init();
+
+- if( debugmode )
++ if(!debugmode)
+ {
+- /* turn of debug output */
++ /* turn off debug output */
+ g_log_set_handler(NULL, G_LOG_LEVEL_DEBUG, log_ignore, NULL);
+ }
+
+@@ -1832,3 +1757,4 @@ int main(int arc, char *arg[])
+
+ return 0;
+ }
++
diff --git a/src/lxdm.h b/src/lxdm.h
index 4c79ca3..568573f 100644
--- a/src/lxdm.h
diff --git a/community/lxdm/lxdm-0.4.1-Xsession-source-profile.patch b/community/lxdm/lxdm-0.4.1-Xsession-source-profile.patch
deleted file mode 100644
index 035ff0383..000000000
--- a/community/lxdm/lxdm-0.4.1-Xsession-source-profile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- data/Xsession.orig 2011-07-29 15:42:33.000000000 +0200
-+++ data/Xsession 2011-12-03 09:09:14.592876087 +0100
-@@ -9,6 +9,8 @@
- LXSESSION=/usr/bin/startlxde
- fi
-
-+[ -f /etc/profile ] && . /etc/profile
-+[ -f ~/.profile ] && . ~/.profile
- [ -f /etc/xprofile ] && . /etc/xprofile
- [ -f ~/.xprofile ] && . ~/.xprofile
-
diff --git a/community/lxdm/lxdm-0.4.1-conf.patch b/community/lxdm/lxdm-0.4.1-conf.patch
deleted file mode 100644
index 1744e557e..000000000
--- a/community/lxdm/lxdm-0.4.1-conf.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- data/lxdm.conf.orig 2011-11-01 17:57:59.208757577 +0100
-+++ data/lxdm.conf 2011-11-01 18:03:55.608741945 +0100
-@@ -27,7 +27,7 @@
- gtk_theme=Clearlooks
-
- ## background of the greeter
--bg=/usr/share/backgrounds/default.png
-+# bg=/usr/share/backgrounds/default.png
-
- ## if show bottom pane
- bottom_pane=1
diff --git a/community/lxdm/lxdm-0.4.1-event-check-bug.patch b/community/lxdm/lxdm-0.4.1-event-check-bug.patch
deleted file mode 100644
index cebfc6133..000000000
--- a/community/lxdm/lxdm-0.4.1-event-check-bug.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: dgod <dgod.osa@gmail.com>
-Date: Sun, 25 Dec 2011 07:23:19 +0000 (+0800)
-Subject: fix event check bug caused cpu 100%
-X-Git-Url: http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde%2Flxdm;a=commitdiff_plain;h=d4e41ecb;hp=f0951bdf736026b041001e846d2cb93f7f2852e1
-
-fix event check bug caused cpu 100%
----
-
-diff --git a/src/lxcom.c b/src/lxcom.c
-index 02763eb..18ee12e 100644
---- a/src/lxcom.c
-+++ b/src/lxcom.c
-@@ -89,7 +89,7 @@ static gboolean lxcom_prepare (GSource *source,gint *timeout)
-
- static gboolean lxcom_check(GSource *source)
- {
-- return TRUE;
-+ return (((LXComSource*)source)->poll.revents&G_IO_IN)?TRUE:FALSE;
- }
-
- static gboolean lxcom_dispatch (GSource *source,GSourceFunc callback,gpointer user_data)
diff --git a/community/lxdm/lxdm-0.4.1-industrial-greeter-ui.patch b/community/lxdm/lxdm-0.4.1-industrial-greeter-ui.patch
deleted file mode 100644
index a2a366809..000000000
--- a/community/lxdm/lxdm-0.4.1-industrial-greeter-ui.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- data/themes/Industrial/greeter.ui.orig 2012-05-09 23:54:03.743980613 -0300
-+++ data/themes/Industrial/greeter.ui 2012-05-10 00:26:20.340687396 -0300
-@@ -201,7 +201,9 @@
- </packing>
- </child>
- <child>
-- <object class="GtkComboBoxEntry" id="keyboard"/>
-+ <object class="GtkComboBoxEntry" id="keyboard">
-+ <property name="text_column">0</property>
-+ </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">3</property>
diff --git a/community/lxdm/lxdm-0.4.1-kill_user_processes.patch b/community/lxdm/lxdm-0.4.1-kill_user_processes.patch
deleted file mode 100644
index f267b105a..000000000
--- a/community/lxdm/lxdm-0.4.1-kill_user_processes.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff -aur lxdm/src/xconn.c lxdm.modified/src/xconn.c
---- lxdm/src/xconn.c 2012-12-23 19:27:04.512531088 -0800
-+++ lxdm/src/xconn.c 2012-12-23 19:28:31.659227448 -0800
-@@ -172,7 +172,7 @@
- free(c);
- }
-
--#if 0
-+//#if 0
- static xcb_window_t xconn_get_root(xconn_t c)
- {
- const xcb_setup_t *setup;
-@@ -181,11 +181,11 @@
- xcb_screen_t *screen = iter.data;
- return screen->root;
- }
--#endif
-+//#endif
-
- void xconn_clean(xconn_t c)
- {
--#if 0
-+//#if 0
- xcb_query_tree_cookie_t wintree;
- xcb_query_tree_reply_t *rep;
- xcb_window_t *children;
-@@ -202,7 +202,7 @@
- xcb_kill_client(c->c,children[i]);
- free(rep);
- xcb_flush(c->c);
--#endif
-+//#endif
- }
-
- #endif
diff --git a/community/lxdm/lxdm-0.4.1-modern-systems.patch b/community/lxdm/lxdm-0.4.1-modern-systems.patch
deleted file mode 100644
index a703a386d..000000000
--- a/community/lxdm/lxdm-0.4.1-modern-systems.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- data/lxdm.orig 2010-01-24 16:58:42.262866825 -0200
-+++ data/lxdm 2010-01-19 11:56:34.308668692 -0200
-@@ -1,21 +1,13 @@
- #!/bin/sh
-
--[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
--
--if [ -z "$LANG" -a -e /etc/sysconfig/language ]; then
-- . /etc/sysconfig/language
-- if [ -n "$RC_LANG"]; then
-- LANG=$RC_LANG
-- fi
-+if [ -r /etc/profile.d/locale.sh ]; then
-+ . /etc/profile.d/locale.sh
- fi
-
- if [ -n "$LANG" ]; then
- export LANG
- fi
-
--[ -f /etc/sysconfig/desktop ] && . /etc/sysconfig/desktop
--[ -f /etc/sysconfig/windowmanager ] && . /etc/sysconfig/windowmanager
--
- if [ -n "$DEFAULT_WM" ]; then
- PREFERRED=$DEFAULT_WM
- fi
diff --git a/community/lxdm/lxdm-0.4.1-nolang-show-sessions.patch b/community/lxdm/lxdm-0.4.1-nolang-show-sessions.patch
deleted file mode 100644
index f3b94a57a..000000000
--- a/community/lxdm/lxdm-0.4.1-nolang-show-sessions.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/greeter.c b/src/greeter.c
-index c0c150d..1f6b88e 100644
---- a/src/greeter.c
-+++ b/src/greeter.c
-@@ -114,7 +114,7 @@ static char *get_session_exec(void)
- GtkTreeModel* model;
- GtkTreeIter it;
- gchar *res;
-- if(!lang)
-+ if(!sessions)
- return g_strdup("");
-
- if(!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(sessions), &it))
diff --git a/community/lxdm/lxdm-0.4.1-pam-env-vars.patch b/community/lxdm/lxdm-0.4.1-pam-env-vars.patch
deleted file mode 100644
index ab8605ff1..000000000
--- a/community/lxdm/lxdm-0.4.1-pam-env-vars.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/src/lxdm.c b/src/lxdm.c
-index 369aedf..cd1d486 100644
---- a/src/lxdm.c
-+++ b/src/lxdm.c
-@@ -935,16 +935,23 @@ void setup_pam_session(LXSession *s,struct passwd *pw,char *session_name)
- g_warning( "pam open session error \"%s\"\n", pam_strerror(s->pamh, err));
- }
-
--void append_pam_environ(pam_handle_t *pamh,char **env)
-+static char **append_pam_environ(pam_handle_t *pamh,char **env)
- {
-- int i,j,n;
-+ int i,j,n,a;
- char **penv;
-- if(!pamh) return;
-+ if(!pamh) return env;
- penv=pam_getenvlist(pamh);
-- if(!penv) return;
-+ if(!penv) return env;
-+ a=g_strv_length(penv);
-+ if(a==0)
-+ {
-+ free(penv);
-+ return env;
-+ }
-+ env=g_renew(char *,env,g_strv_length(env)+1+a+10);
- for(i=0;penv[i]!=NULL;i++)
- {
-- //printf("PAM %s\n",penv[i]);
-+ fprintf(stderr,"PAM %s\n",penv[i]);
- n=strcspn(penv[i],"=")+1;
- for(j=0;env[j]!=NULL;j++)
- {
-@@ -960,6 +967,7 @@ void append_pam_environ(pam_handle_t *pamh,char **env)
- free(penv[i]);
- }
- free(penv);
-+ return env;
- }
-
- #endif
-@@ -1540,7 +1548,7 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option)
- if(s->child==0)
- {
- #if HAVE_LIBPAM
-- append_pam_environ(s->pamh,env);
-+ env=append_pam_environ(s->pamh,env);
- pam_end(s->pamh,0);
- #endif
- switch_user(pw, session_exec, env);
diff --git a/community/lxdm/lxdm.pam b/community/lxdm/lxdm.pam
deleted file mode 100644
index 57f33b221..000000000
--- a/community/lxdm/lxdm.pam
+++ /dev/null
@@ -1,10 +0,0 @@
-#%PAM-1.0
-auth requisite pam_nologin.so
-auth required pam_env.so
-auth required pam_unix.so
-account required pam_unix.so
-session required pam_limits.so
-session required pam_unix.so
-password required pam_unix.so
--session optional pam_loginuid.so
--session optional pam_systemd.so
diff --git a/community/lxdm/lxdm.service b/community/lxdm/lxdm.service
deleted file mode 100644
index 026d62b50..000000000
--- a/community/lxdm/lxdm.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=LXDE Display Manager
-After=systemd-user-sessions.service
-
-[Service]
-ExecStart=/usr/bin/lxdm
-
-[Install]
-Alias=display-manager.service