From 709c4d66e0b107ca606941b988bad717c0b45d9b Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Tue, 17 Mar 2009 14:32:59 -0400 Subject: rename packages/ to recipes/ per earlier agreement See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko Acked-by: Mike Westerhof Acked-by: Philip Balister Acked-by: Khem Raj Acked-by: Marcin Juszkiewicz Acked-by: Koen Kooi Acked-by: Frans Meulenbroeks --- recipes/login-manager/files/login-manager | 102 ++++++++++++++++++++++++++++++ recipes/login-manager/login-manager.bb | 18 ++++++ 2 files changed, 120 insertions(+) create mode 100644 recipes/login-manager/files/login-manager create mode 100644 recipes/login-manager/login-manager.bb (limited to 'recipes/login-manager') diff --git a/recipes/login-manager/files/login-manager b/recipes/login-manager/files/login-manager new file mode 100644 index 0000000000..deadaa61c2 --- /dev/null +++ b/recipes/login-manager/files/login-manager @@ -0,0 +1,102 @@ +#! /bin/sh +# +# Copyright Matthias Hentges (c) 2005 +# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license) +# +# Date: 09-FEB-06 +# +# This script checks if a keyboard is present and then runs a propper LM. +# On devices w/o keyboard, a LM from the NO_KBD_LMS variable is selected. +# +# If more than one usable login-manager is found, the first one is used. +# +# Users can force their favorite login-manager to be selected via symlinking +# a LM from /etc/X11/login-managers to /etc/X11/login-managers/default. +# + +LM_PATH="/etc/X11/login-managers" + +# A list of login-manager which display an OSD keyboard +NO_KBD_LMS="gpe-dm" + +# +# * * * No user-variables behind this point * * * +# + +run_wm() { + if test -z "$1" + then + echo -e "\t* No valid login-managers found" + exit 0 + fi + + echo "$1" > /tmp/_running_lm + echo -e "\t* Starting `basename "$1"`\n--\n" + + "$1" start + + exit 0 +} + +get_valid_lms() { + if test "$HAS_KBD" = no + then + for lm in $NO_KBD_LMS + do + if echo "$LM_FILES" | grep -iq "$lm" + then + test -x "$LM_PATH/$lm" && VALID_LMS="$VALID_LMS $lm" || echo -e "\t* Discarding [$lm]: Not executable" + fi + done + else + for lm in $LM_FILES + do + test -x "$LM_PATH/$lm" && VALID_LMS="$VALID_LMS $lm" || echo -e "\t* Discarding [$lm]: Not executable" + done + fi + SELECTED_LM="$LM_PATH/`echo "$VALID_LMS" | awk '{print $1}'`" +} + +do_start(){ +# DISPLAY_MODE="$(fbset | grep mode | sed -n "s/.*\"\(.*\)\-.*/\1/p")" + HARDWARE_MODEL="`cat /proc/cpuinfo | sed -n "s/^Hardware.*\:\ \(.*\)/\1/p"`" + LM_FILES="`ls -1 "$LM_PATH" | grep -v default`" + + echo "$HARDWARE_MODEL" | grep -iq "SHARP" && HAS_KBD=yes || HAS_KBD="no" + + echo "Launching login-manager" + echo -e "\t* Model has keyboard: $HAS_KBD" + + # The user is always right + if test -x "$LM_PATH/default" >/dev/null 2>&1 + then + echo "\t* Using default manager" + run_wm "$LM_PATH/default" + fi + + get_valid_lms + + echo -e "\t* Valid modes:$VALID_LMS" + + run_wm "$SELECTED_LM" +} + +do_stop(){ + echo "Stopping login-manager..." + `cat /tmp/_running_lm` stop + + for x in Xfbdev Xomap Xorg Xepson + do + killall "$x" >/dev/null 2>&1 + done +} + +case "$1" in + start) do_start;; + stop) do_stop;; + restart) do_stop + do_start;; + *) echo "Usage: `basename $0` [start|stop|restart]" + exit 0;; +esac + diff --git a/recipes/login-manager/login-manager.bb b/recipes/login-manager/login-manager.bb new file mode 100644 index 0000000000..ada7c364e7 --- /dev/null +++ b/recipes/login-manager/login-manager.bb @@ -0,0 +1,18 @@ +LICENSE = "GPL" +inherit update-rc.d + +DESCRIPTION = "Initscript for login-managers" +SECTION = "base" +PRIORITY = "optional" +PR = "r1" + +INITSCRIPT_NAME = "login-manager" +INITSCRIPT_PARAMS = "start 99 5 . stop 20 0 1 6 ." + +SRC_URI = "file://login-manager" + +do_install() { + install -d ${D}/etc/init.d + install -m 0755 ${WORKDIR}/login-manager ${D}/etc/init.d/ +} + -- cgit v1.2.3