summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/lxdm/lxdm.SlackBuild30
-rw-r--r--system/lxdm/lxdm.info8
-rw-r--r--system/lxdm/patches/lxdm-0.3.0-set_DESKTOP_SESSION_in_env.diff14
-rw-r--r--system/lxdm/patches/lxdm-0.3.0-without_pam.diff19
-rw-r--r--system/lxdm/patches/remove_suse_from_Xsession.diff14
-rw-r--r--system/lxdm/patches/source_profile_in_Xsession.diff (renamed from system/lxdm/source_profile_in_Xsession.diff)0
-rw-r--r--system/lxdm/xinitrc27
7 files changed, 100 insertions, 12 deletions
diff --git a/system/lxdm/lxdm.SlackBuild b/system/lxdm/lxdm.SlackBuild
index b64e88cda1..8f9a68c4eb 100644
--- a/system/lxdm/lxdm.SlackBuild
+++ b/system/lxdm/lxdm.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=lxdm
-VERSION=${VERSION:-0.2.0}
+VERSION=${VERSION:-0.3.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -70,7 +70,26 @@ find . \
-exec chmod 644 {} \;
# Patch the Xsession file to source /etc/profile and xprofile on session start
-patch -p1 < $CWD/source_profile_in_Xsession.diff
+patch -p1 < $CWD/patches/source_profile_in_Xsession.diff
+
+# Remove the SuSe section from Xsession file, since it causes Slackware
+# to always launch whatever WM/DE that /etc/X11/xinit/xinitrc symlink is
+# pointing to, regardless of what the user wants...
+patch -p1 < $CWD/patches/remove_suse_from_Xsession.diff
+
+# No PAM here
+patch -p1 < $CWD/patches/lxdm-0.3.0-without_pam.diff
+
+# Set DESKTOP_SESSION in the environment when starting a session
+# I'd normally say this is a bad idea, since upstream disagrees with it
+# (they say that this should not be populated except when PAM is used),
+# but xfce and consolekit devs give me the impression that it's not always
+# wrong to start a new ck session even when one is already open (i.e. the
+# XDG_SESSION_COOKIE variable is already populated), and besides, since
+# both KDM and GDM set DESKTOP_SESSION regardless of whether PAM is used,
+# this seems the path of least resistance. This patch *should* be easy
+# to maintain ; let's hope I don't eat those words. --rworkman
+patch -p1 < $CWD/patches/lxdm-0.3.0-set_DESKTOP_SESSION_in_env.diff
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -91,12 +110,7 @@ make install DESTDIR=$PKG
rm -rf $PKG/etc/pam.d
# Install a to-be-customized-if-needed /etc/lxdm/xinitrc
-cat << EOF > $PKG/etc/lxdm/xinitrc.new
-#!/bin/sh
-# This file is referenced from /etc/lxdm/Xsession
-# This is for system-specific customization if desired
-
-EOF
+cat $CWD/xinitrc > $PKG/etc/lxdm/xinitrc.new
# Don't clobber configs on upgrade
# But *do* clobber Xsession
diff --git a/system/lxdm/lxdm.info b/system/lxdm/lxdm.info
index 2f6b2d489d..c584170ee7 100644
--- a/system/lxdm/lxdm.info
+++ b/system/lxdm/lxdm.info
@@ -1,10 +1,10 @@
PRGNAM="lxdm"
-VERSION="0.2.0"
+VERSION="0.3.0"
HOMEPAGE="http://lxde.org/"
-DOWNLOAD="http://downloads.sourceforge.net/lxde/lxdm-0.2.0.tar.gz"
-MD5SUM="e539f81ba691f2b0cb2017b82dfee58f"
+DOWNLOAD="http://downloads.sourceforge.net/lxde/lxdm-0.3.0.tar.gz"
+MD5SUM="1d0688e088edab7c3c563263eb2f9654"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Robby Workman"
EMAIL="rw@rlworkman.net"
-APPROVED="Erik Hanson"
+APPROVED="michiel"
diff --git a/system/lxdm/patches/lxdm-0.3.0-set_DESKTOP_SESSION_in_env.diff b/system/lxdm/patches/lxdm-0.3.0-set_DESKTOP_SESSION_in_env.diff
new file mode 100644
index 0000000000..4648db02e3
--- /dev/null
+++ b/system/lxdm/patches/lxdm-0.3.0-set_DESKTOP_SESSION_in_env.diff
@@ -0,0 +1,14 @@
+diff -Nur lxdm-0.3.0.orig//src/lxdm.c lxdm-0.3.0/src/lxdm.c
+--- lxdm-0.3.0.orig//src/lxdm.c 2010-09-24 10:43:49.000000000 -0500
++++ lxdm-0.3.0/src/lxdm.c 2010-10-10 23:13:33.592124056 -0500
+@@ -1359,6 +1359,10 @@
+ "is-local",&is_local,
+ NULL))
+ setenv("XDG_SESSION_COOKIE", ck_connector_get_cookie(s->ckc), 1);
++ /* I really don't like doing this, but since both kdm and gdm
++ set this in the environment, and our xinitrc scripts depend
++ on it, here we go with a minor patch... */
++ setenv("DESKTOP_SESSION", session_name, 1);
+ }
+ #endif
+ char** env, *path;
diff --git a/system/lxdm/patches/lxdm-0.3.0-without_pam.diff b/system/lxdm/patches/lxdm-0.3.0-without_pam.diff
new file mode 100644
index 0000000000..e9a8c5ae97
--- /dev/null
+++ b/system/lxdm/patches/lxdm-0.3.0-without_pam.diff
@@ -0,0 +1,19 @@
+diff -Nur lxdm-0.3.0.orig//src/lxdm.c lxdm-0.3.0/src/lxdm.c
+--- lxdm-0.3.0.orig//src/lxdm.c 2010-09-24 10:43:49.000000000 -0500
++++ lxdm-0.3.0/src/lxdm.c 2010-10-10 23:01:24.711716765 -0500
+@@ -150,6 +150,7 @@
+ while( waitpid(-1, 0, WNOHANG) > 0 ) ;
+ }
+
++/* Sorry, -ENOPAM here
+ static void close_pam_session(pam_handle_t *pamh)
+ {
+ int err;
+@@ -159,6 +160,7 @@
+ pam_end(pamh, err);
+ pamh = NULL;
+ }
++*/
+
+ static LXSession *lxsession_find_greeter(void)
+ {
diff --git a/system/lxdm/patches/remove_suse_from_Xsession.diff b/system/lxdm/patches/remove_suse_from_Xsession.diff
new file mode 100644
index 0000000000..df1da70b83
--- /dev/null
+++ b/system/lxdm/patches/remove_suse_from_Xsession.diff
@@ -0,0 +1,14 @@
+diff -Nur lxdm-0.3.0.orig//data/Xsession lxdm-0.3.0/data/Xsession
+--- lxdm-0.3.0.orig//data/Xsession 2010-10-12 20:13:01.316302089 -0500
++++ lxdm-0.3.0/data/Xsession 2010-10-12 20:12:40.989504750 -0500
+@@ -31,10 +31,6 @@
+ elif [ -x /etc/X11/Xsession ]; then
+ # mandriva, debian, ubuntu
+ exec /etc/X11/Xsession $LXSESSION
+-elif [ -x /etc/X11/xinit/xinitrc ]; then
+-#suse
+- export WINDOWMANAGER=$LXSESSION
+- exec -l $SHELL -c /etc/X11/xinit/xinitrc
+ else
+ # unknown, user should custom /etc/lxdm/xinitrc self
+ if [ -x /etc/lxdm/xinitrc ]; then
diff --git a/system/lxdm/source_profile_in_Xsession.diff b/system/lxdm/patches/source_profile_in_Xsession.diff
index 8f19e31284..8f19e31284 100644
--- a/system/lxdm/source_profile_in_Xsession.diff
+++ b/system/lxdm/patches/source_profile_in_Xsession.diff
diff --git a/system/lxdm/xinitrc b/system/lxdm/xinitrc
new file mode 100644
index 0000000000..d861e47f56
--- /dev/null
+++ b/system/lxdm/xinitrc
@@ -0,0 +1,27 @@
+#!/bin/sh
+# This file is referenced from /etc/lxdm/Xsession
+# This is for system-specific customization if desired
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+sysresources=/etc/X11/xinit/.Xresources
+sysmodmap=/etc/X11/xinit/.Xmodmap
+
+# merge in defaults and keymaps
+
+if [ -f $sysresources ]; then
+ xrdb -merge $sysresources
+fi
+
+if [ -f $sysmodmap ]; then
+ xmodmap $sysmodmap
+fi
+
+if [ -f $userresources ]; then
+ xrdb -merge $userresources
+fi
+
+if [ -f $usermodmap ]; then
+ xmodmap $usermodmap
+fi
+