summaryrefslogtreecommitdiff
path: root/community-staging/lxdm
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-10-15 00:36:27 -0700
committerroot <root@rshg054.dnsready.net>2012-10-15 00:36:27 -0700
commite9dd04abd0ede1143ea4af10059e37c2f599e1fd (patch)
tree349cdcd294bfe80d37acf0f2c9a189c7d3bc6386 /community-staging/lxdm
parent4eb56e1b3a80c84f2dddf2692310369dc9cbd31a (diff)
Mon Oct 15 00:36:26 PDT 2012
Diffstat (limited to 'community-staging/lxdm')
-rw-r--r--community-staging/lxdm/PKGBUILD38
-rw-r--r--community-staging/lxdm/lxdm-pam2
-rw-r--r--community-staging/lxdm/lxdm.install26
-rw-r--r--community-staging/lxdm/pam-env-vars.patch50
-rw-r--r--community-staging/lxdm/service2
5 files changed, 83 insertions, 35 deletions
diff --git a/community-staging/lxdm/PKGBUILD b/community-staging/lxdm/PKGBUILD
index a35c35f31..1430d5160 100644
--- a/community-staging/lxdm/PKGBUILD
+++ b/community-staging/lxdm/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 72524 2012-06-16 08:50:39Z bpiotrowski $
-# Maintainer: Bartłomiej Piotrowski
+# $Id: PKGBUILD 77741 2012-10-14 07:48:01Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
# Contributor: AndyRTR <andyrtr@archlinux.org>
# Contributor: kiefer <jorgelmadrid@gmail.com>
pkgname=lxdm
pkgver=0.4.1
-pkgrel=12
+pkgrel=16
pkgdesc='Lightweight X11 Display Manager'
arch=('i686' 'x86_64')
url="http://sourceforge.net/projects/lxdm/"
license=('GPL')
groups=('lxde')
-depends=('gtk2' 'xorg-server' 'consolekit')
+depends=('gtk2' 'xorg-server')
makedepends=('intltool')
install=${pkgname}.install
backup=('etc/lxdm/lxdm.conf' 'etc/pam.d/lxdm' 'etc/lxdm/Xsession'
@@ -19,43 +19,45 @@ backup=('etc/lxdm/lxdm.conf' 'etc/pam.d/lxdm' 'etc/lxdm/Xsession'
'etc/lxdm/PostLogout' 'etc/lxdm/PreReboot' 'etc/lxdm/PreShutdown')
source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz
glib2-2.32.0.patch lxdm.patch lxdm.conf.patch Xsession.patch
- greeter-session.patch rc.d lxdm-pam service)
+ greeter-session.patch pam-env-vars.patch rc.d lxdm-pam service)
md5sums=('8da1cfc2be6dc9217c85a7cf51e1e821'
'a1e3c46a8bef691bc544028f5b6cfe22'
'baed9055e8825a5511712bc095197519'
'c50dd01b715b0a236407d48066191601'
'd2e4a4a22ee2aa1a986be154c647b6c6'
'28475239d0c8b4fd778ec49f5ec72962'
+ '4c1d43e81e9a256e8d1ea7686c24b3d3'
'705f394052fdd0dec22e95321d170de0'
- 'b20fe3c8487a039050986d60e45233a9'
- '4aaa9a7175cf327d9f7651c2586ef922')
+ '34908bc0ec15b6ae4e1074f39fce44df'
+ 'e8cc66eb1a2405d2d9d184a727cbd9d8')
build() {
- cd $srcdir/$pkgname-$pkgver
+ cd $srcdir/$pkgname-$pkgver
- patch -Np1 -i $srcdir/glib2-2.32.0.patch
+ patch -Np1 -i $srcdir/glib2-2.32.0.patch
patch -Np1 -i $srcdir/greeter-session.patch
+ patch -Np1 -i $srcdir/pam-env-vars.patch
./configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib/lxdm
- make
+ make
- patch -Np0 -i $srcdir/lxdm.patch
+ patch -Np0 -i $srcdir/lxdm.patch
patch -Np0 -i $srcdir/lxdm.conf.patch
patch -Np0 -i $srcdir/Xsession.patch
}
package() {
- cd $srcdir/$pkgname-$pkgver
- make DESTDIR=$pkgdir install
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
- install -m644 $srcdir/lxdm-pam $pkgdir/etc/pam.d/lxdm
- install -Dm755 $srcdir/rc.d $pkgdir/etc/rc.d/lxdm
- install -Dm644 $srcdir/service $pkgdir/usr/lib/systemd/system/lxdm.service
+ install -m644 $srcdir/lxdm-pam $pkgdir/etc/pam.d/lxdm
+ install -Dm755 $srcdir/rc.d $pkgdir/etc/rc.d/lxdm
+ install -Dm644 $srcdir/service $pkgdir/usr/lib/systemd/system/lxdm.service
install -d $pkgdir/var/{lib,run}/lxdm
- # fix the greeter location
- sed -i -e 's/local\/libexec/lib\/lxdm/' $pkgdir/etc/lxdm/lxdm.conf
+ # fix the greeter location
+ sed -i -e 's/local\/libexec/lib\/lxdm/' $pkgdir/etc/lxdm/lxdm.conf
# avoid conflict with filesystem>=2012.06
rm -r $pkgdir/var/run
diff --git a/community-staging/lxdm/lxdm-pam b/community-staging/lxdm/lxdm-pam
index 3f5df04a7..c62f62721 100644
--- a/community-staging/lxdm/lxdm-pam
+++ b/community-staging/lxdm/lxdm-pam
@@ -6,3 +6,5 @@ account required pam_unix.so
session required pam_limits.so
session required pam_unix.so
password required pam_unix.so
+-session optional pam_systemd.so
+-session optional pam_loginuid.so
diff --git a/community-staging/lxdm/lxdm.install b/community-staging/lxdm/lxdm.install
index eaf2339cd..4d1285dc5 100644
--- a/community-staging/lxdm/lxdm.install
+++ b/community-staging/lxdm/lxdm.install
@@ -1,24 +1,18 @@
-pkgname=lxdm
-
post_install() {
- if [ -z "`getent group "lxdm" 2> /dev/null`" ]; then
- groupadd lxdm
- chown root:lxdm /etc/lxdm/lxdm.conf
- fi
- chown -R root:lxdm /var/lib/lxdm > /dev/null
- chmod +r /etc/lxdm/lxdm.conf
+ if ! getent group lxdm > /dev/null ; then
+ groupadd --system lxdm
+ chgrp -R lxdm /var/lib/lxdm
+ chgrp lxdm /etc/lxdm/lxdm.conf
+ chmod +r /etc/lxdm/lxdm.conf
+ fi
}
post_upgrade() {
- post_install
+ post_install $1
}
post_remove() {
- getent group "lxdm" &>/dev/null && groupdel lxdm #1>/dev/null
- return 0
+ if ! getent group lxdm > /dev/null ; then
+ groupdel lxdm
+ fi
}
-
-op=$1
-shift
-
-$op "$@"
diff --git a/community-staging/lxdm/pam-env-vars.patch b/community-staging/lxdm/pam-env-vars.patch
new file mode 100644
index 000000000..ab8605ff1
--- /dev/null
+++ b/community-staging/lxdm/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-staging/lxdm/service b/community-staging/lxdm/service
index b76e1190e..e1840476c 100644
--- a/community-staging/lxdm/service
+++ b/community-staging/lxdm/service
@@ -6,4 +6,4 @@ After=systemd-user-sessions.service
ExecStart=/usr/sbin/lxdm
[Install]
-WantedBy=graphical.target
+Alias=display-manager.service