From aa8b4727fc2f9b42fb956e8d4bf40ac3845ffa98 Mon Sep 17 00:00:00 2001 From: Robby Workman Date: Mon, 18 Oct 2010 23:05:35 +0100 Subject: system/lxdm: Updated for version 0.3.0. Signed-off-by: Michiel van Wessem --- system/lxdm/lxdm.SlackBuild | 30 ++++++++++++++++------ system/lxdm/lxdm.info | 8 +++--- .../lxdm-0.3.0-set_DESKTOP_SESSION_in_env.diff | 14 ++++++++++ system/lxdm/patches/lxdm-0.3.0-without_pam.diff | 19 ++++++++++++++ system/lxdm/patches/remove_suse_from_Xsession.diff | 14 ++++++++++ .../lxdm/patches/source_profile_in_Xsession.diff | 17 ++++++++++++ system/lxdm/source_profile_in_Xsession.diff | 17 ------------ system/lxdm/xinitrc | 27 +++++++++++++++++++ 8 files changed, 117 insertions(+), 29 deletions(-) create mode 100644 system/lxdm/patches/lxdm-0.3.0-set_DESKTOP_SESSION_in_env.diff create mode 100644 system/lxdm/patches/lxdm-0.3.0-without_pam.diff create mode 100644 system/lxdm/patches/remove_suse_from_Xsession.diff create mode 100644 system/lxdm/patches/source_profile_in_Xsession.diff delete mode 100644 system/lxdm/source_profile_in_Xsession.diff create mode 100644 system/lxdm/xinitrc diff --git a/system/lxdm/lxdm.SlackBuild b/system/lxdm/lxdm.SlackBuild index b64e88cda137..8f9a68c4eb2f 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 2f6b2d489dbf..c584170ee750 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 000000000000..4648db02e361 --- /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 000000000000..e9a8c5ae974f --- /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 000000000000..df1da70b83a4 --- /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/patches/source_profile_in_Xsession.diff b/system/lxdm/patches/source_profile_in_Xsession.diff new file mode 100644 index 000000000000..8f19e312842a --- /dev/null +++ b/system/lxdm/patches/source_profile_in_Xsession.diff @@ -0,0 +1,17 @@ +diff -Nur lxdm-0.2.0.orig//data/Xsession lxdm-0.2.0/data/Xsession +--- lxdm-0.2.0.orig//data/Xsession 2010-04-12 11:49:44.000000000 -0500 ++++ lxdm-0.2.0/data/Xsession 2010-06-26 04:55:43.301983179 -0500 +@@ -2,6 +2,13 @@ + + # use bash for "exec -l", howto run login shell by /bin/sh ? + ++# First read /etc/profile and .profile ++test -f /etc/profile && . /etc/profile ++test -f "$HOME/.profile" && . "$HOME/.profile" ++# Second read /etc/xprofile and .xprofile for X specific setup ++test -f /etc/xprofile && . /etc/xprofile ++test -f "$HOME/.xprofile" && . "$HOME/.xprofile" ++ + if [ $# -eq 1 -a -n "$1" ]; then + LXSESSION=$1 + else diff --git a/system/lxdm/source_profile_in_Xsession.diff b/system/lxdm/source_profile_in_Xsession.diff deleted file mode 100644 index 8f19e312842a..000000000000 --- a/system/lxdm/source_profile_in_Xsession.diff +++ /dev/null @@ -1,17 +0,0 @@ -diff -Nur lxdm-0.2.0.orig//data/Xsession lxdm-0.2.0/data/Xsession ---- lxdm-0.2.0.orig//data/Xsession 2010-04-12 11:49:44.000000000 -0500 -+++ lxdm-0.2.0/data/Xsession 2010-06-26 04:55:43.301983179 -0500 -@@ -2,6 +2,13 @@ - - # use bash for "exec -l", howto run login shell by /bin/sh ? - -+# First read /etc/profile and .profile -+test -f /etc/profile && . /etc/profile -+test -f "$HOME/.profile" && . "$HOME/.profile" -+# Second read /etc/xprofile and .xprofile for X specific setup -+test -f /etc/xprofile && . /etc/xprofile -+test -f "$HOME/.xprofile" && . "$HOME/.xprofile" -+ - if [ $# -eq 1 -a -n "$1" ]; then - LXSESSION=$1 - else diff --git a/system/lxdm/xinitrc b/system/lxdm/xinitrc new file mode 100644 index 000000000000..d861e47f5684 --- /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 + -- cgit v1.2.3