diff options
Diffstat (limited to 'community/lxdm')
-rw-r--r-- | community/lxdm/PKGBUILD | 82 | ||||
-rw-r--r-- | community/lxdm/lxdm-0.4.1-Xsession-source-profile.patch | 11 | ||||
-rw-r--r-- | community/lxdm/lxdm-0.4.1-conf.patch | 11 | ||||
-rw-r--r-- | community/lxdm/lxdm-0.4.1-event-check-bug.patch | 21 | ||||
-rw-r--r-- | community/lxdm/lxdm-0.4.1-industrial-greeter-ui.patch | 13 | ||||
-rw-r--r-- | community/lxdm/lxdm-0.4.1-kill_user_processes.patch | 35 | ||||
-rw-r--r-- | community/lxdm/lxdm-0.4.1-modern-systems.patch | 26 | ||||
-rw-r--r-- | community/lxdm/lxdm-0.4.1-nolang-show-sessions.patch | 13 | ||||
-rw-r--r-- | community/lxdm/lxdm-0.4.1-pam-env-vars.patch | 50 | ||||
-rw-r--r-- | community/lxdm/lxdm.install | 22 | ||||
-rw-r--r-- | community/lxdm/lxdm.pam | 10 | ||||
-rw-r--r-- | community/lxdm/lxdm.service | 9 |
12 files changed, 303 insertions, 0 deletions
diff --git a/community/lxdm/PKGBUILD b/community/lxdm/PKGBUILD new file mode 100644 index 000000000..8316a95aa --- /dev/null +++ b/community/lxdm/PKGBUILD @@ -0,0 +1,82 @@ +# $Id: PKGBUILD 95338 2013-08-09 22:46:10Z dwallace $ +# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> +# Contributor: AndyRTR <andyrtr@archlinux.org> +# Contributor: kiefer <jorgelmadrid@gmail.com> + +pkgname=lxdm +pkgver=0.4.1 +pkgrel=23 +pkgdesc='Lightweight X11 Display Manager' +arch=('i686' 'x86_64') +url="http://sourceforge.net/projects/lxdm/" +license=('GPL') +groups=('lxde') +depends=('gtk2' 'xorg-server') +makedepends=('intltool') +optdepends=('librsvg: display the default background') +install=${pkgname}.install +backup=('etc/lxdm/lxdm.conf' 'etc/pam.d/lxdm' 'etc/lxdm/Xsession' + 'etc/lxdm/PreLogin' 'etc/lxdm/LoginReady' 'etc/lxdm/PostLogin' + 'etc/lxdm/PostLogout' 'etc/lxdm/PreReboot' 'etc/lxdm/PreShutdown') +source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz + lxdm.pam lxdm.service + lxdm-0.4.1-Xsession-source-profile.patch + lxdm-0.4.1-conf.patch + lxdm-0.4.1-event-check-bug.patch + lxdm-0.4.1-industrial-greeter-ui.patch + lxdm-0.4.1-modern-systems.patch + lxdm-0.4.1-nolang-show-sessions.patch + lxdm-0.4.1-pam-env-vars.patch + lxdm-0.4.1-kill_user_processes.patch + ) +md5sums=('8da1cfc2be6dc9217c85a7cf51e1e821' + '9cc734228696a3c6f06d91bba61b03c1' + 'b86317143ae44d7ed38c150fe4f25502' + 'd2e4a4a22ee2aa1a986be154c647b6c6' + 'c50dd01b715b0a236407d48066191601' + 'a1e3c46a8bef691bc544028f5b6cfe22' + '2c4afdbe3532be4f90d8f6240d352766' + 'baed9055e8825a5511712bc095197519' + '28475239d0c8b4fd778ec49f5ec72962' + '4c1d43e81e9a256e8d1ea7686c24b3d3' + '3ac63085f9df9296dfa645fa623af0e2') + +prepare(){ + cd $srcdir/$pkgname-$pkgver + patch -Np1 -i $srcdir/lxdm-0.4.1-event-check-bug.patch + patch -Np1 -i $srcdir/lxdm-0.4.1-nolang-show-sessions.patch + patch -Np1 -i $srcdir/lxdm-0.4.1-pam-env-vars.patch + patch -Np1 -i $srcdir/lxdm-0.4.1-kill_user_processes.patch +} + +build() { + cd $srcdir/$pkgname-$pkgver + + + ./configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib/lxdm \ + --bindir=/usr/bin \ + --sbindir=/usr/bin + make + + patch -Np0 -i $srcdir/lxdm-0.4.1-modern-systems.patch + patch -Np0 -i $srcdir/lxdm-0.4.1-conf.patch + patch -Np0 -i $srcdir/lxdm-0.4.1-Xsession-source-profile.patch + patch -Np0 -i $srcdir/lxdm-0.4.1-industrial-greeter-ui.patch +} + + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir sbindir=/usr/bin install + + install -m644 $srcdir/lxdm.pam $pkgdir/etc/pam.d/lxdm + install -Dm644 $srcdir/lxdm.service $pkgdir/usr/lib/systemd/system/lxdm.service + install -d $pkgdir/var/lib/lxdm + echo "GDK_CORE_DEVICE_EVENTS\t\t\tDEFAULT=1" > $pkgdir/var/lib/lxdm/.pam_environment + chmod 644 $pkgdir/var/lib/lxdm/.pam_environment + + # fix the greeter location + sed -i -e 's/local\/libexec/lib\/lxdm/' $pkgdir/etc/lxdm/lxdm.conf + sed -i 's:sbin:bin:' $pkgdir/usr/bin/lxdm + +} diff --git a/community/lxdm/lxdm-0.4.1-Xsession-source-profile.patch b/community/lxdm/lxdm-0.4.1-Xsession-source-profile.patch new file mode 100644 index 000000000..035ff0383 --- /dev/null +++ b/community/lxdm/lxdm-0.4.1-Xsession-source-profile.patch @@ -0,0 +1,11 @@ +--- 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 new file mode 100644 index 000000000..1744e557e --- /dev/null +++ b/community/lxdm/lxdm-0.4.1-conf.patch @@ -0,0 +1,11 @@ +--- 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 new file mode 100644 index 000000000..cebfc6133 --- /dev/null +++ b/community/lxdm/lxdm-0.4.1-event-check-bug.patch @@ -0,0 +1,21 @@ +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 new file mode 100644 index 000000000..a2a366809 --- /dev/null +++ b/community/lxdm/lxdm-0.4.1-industrial-greeter-ui.patch @@ -0,0 +1,13 @@ +--- 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 new file mode 100644 index 000000000..f267b105a --- /dev/null +++ b/community/lxdm/lxdm-0.4.1-kill_user_processes.patch @@ -0,0 +1,35 @@ +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 new file mode 100644 index 000000000..a703a386d --- /dev/null +++ b/community/lxdm/lxdm-0.4.1-modern-systems.patch @@ -0,0 +1,26 @@ +--- 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 new file mode 100644 index 000000000..f3b94a57a --- /dev/null +++ b/community/lxdm/lxdm-0.4.1-nolang-show-sessions.patch @@ -0,0 +1,13 @@ +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 new file mode 100644 index 000000000..ab8605ff1 --- /dev/null +++ b/community/lxdm/lxdm-0.4.1-pam-env-vars.patch @@ -0,0 +1,50 @@ +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.install b/community/lxdm/lxdm.install new file mode 100644 index 000000000..3bbb59a2e --- /dev/null +++ b/community/lxdm/lxdm.install @@ -0,0 +1,22 @@ +post_install() { + getent group lxdm >/dev/null && groupmod -g 121 lxdm || groupadd -g 121 lxdm + getent passwd lxdm >/dev/null && usermod -u 121 -g 121 lxdm || useradd -r -d /var/lib/lxdm -u 121 -g 121 lxdm + chown -R 121:121 /var/lib/lxdm + chgrp 121 /etc/lxdm/lxdm.conf + chmod +r /etc/lxdm/lxdm.conf + systemd-tmpfiles --create lxdm.conf +} + +post_upgrade() { + post_install $1 + if [[ $(vercmp $2 0.4.1-22) < 0 ]]; then + groupmod -g 121 lxdm + usermod -g 121 -u 121 lxdm + fi +} + +post_remove() { + userdel -f lxdm + groupdel lxdm + true +} diff --git a/community/lxdm/lxdm.pam b/community/lxdm/lxdm.pam new file mode 100644 index 000000000..57f33b221 --- /dev/null +++ b/community/lxdm/lxdm.pam @@ -0,0 +1,10 @@ +#%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 new file mode 100644 index 000000000..026d62b50 --- /dev/null +++ b/community/lxdm/lxdm.service @@ -0,0 +1,9 @@ +[Unit] +Description=LXDE Display Manager +After=systemd-user-sessions.service + +[Service] +ExecStart=/usr/bin/lxdm + +[Install] +Alias=display-manager.service |