diff options
-rw-r--r-- | system/lxdm/lxdm.SlackBuild | 30 | ||||
-rw-r--r-- | system/lxdm/lxdm.info | 8 | ||||
-rw-r--r-- | system/lxdm/patches/lxdm-0.3.0-set_DESKTOP_SESSION_in_env.diff | 14 | ||||
-rw-r--r-- | system/lxdm/patches/lxdm-0.3.0-without_pam.diff | 19 | ||||
-rw-r--r-- | system/lxdm/patches/remove_suse_from_Xsession.diff | 14 | ||||
-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/xinitrc | 27 |
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 + |