* [gentoo-commits] gentoo-x86 commit in x11-apps/xinit/files: xdm.initd-3 x-setup.initd-1
@ 2009-09-14 16:19 William Hubbs (williamh)
0 siblings, 0 replies; only message in thread
From: William Hubbs (williamh) @ 2009-09-14 16:19 UTC (permalink / raw
To: gentoo-commits
williamh 09/09/14 16:19:03
Added: xdm.initd-3 x-setup.initd-1
Log:
rev bump for bug #156570.
(Portage version: 2.2_rc40/cvs/Linux i686)
Revision Changes Path
1.1 x11-apps/xinit/files/xdm.initd-3
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-apps/xinit/files/xdm.initd-3?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-apps/xinit/files/xdm.initd-3?rev=1.1&content-type=text/plain
Index: xdm.initd-3
===================================================================
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2
# $Header: /var/cvsroot/gentoo-x86/x11-apps/xinit/files/xdm.initd-3,v 1.1 2009/09/14 16:19:03 williamh Exp $
# This is here to serve as a note to myself, and future developers.
#
# Any Display manager (gdm,kdm,xdm) has the following problem: if
# it is started before any getty, and no vt is specified, it will
# usually run on vt2. When the getty on vt2 then starts, and the
# DM is already started, the getty will take control of the keyboard,
# leaving us with a "dead" keyboard.
#
# Resolution: add the following line to /etc/inittab
#
# x:a:once:/etc/X11/startDM.sh
#
# and have /etc/X11/startDM.sh start the DM in daemon mode if
# a lock is present (with the info of what DM should be started),
# else just fall through.
#
# How this basically works, is the "a" runlevel is a additional
# runlevel that you can use to fork processes with init, but the
# runlevel never gets changed to this runlevel. Along with the "a"
# runlevel, the "once" key word means that startDM.sh will only be
# run when we specify it to run, thus eliminating respawning
# startDM.sh when "xdm" is not added to the default runlevel, as was
# done previously.
#
# This script then just calls "telinit a", and init will run
# /etc/X11/startDM.sh after the current runlevel completes (this
# script should only be added to the actual runlevel the user is
# using).
#
# Martin Schlemmer
# aka Azarah
# 04 March 2002
# Start X Font Server before X
depend() {
need localmount x-setup
# this should start as early as possible
# we can't do 'before *' as that breaks it
# (#139824) Start after ypbind and autofs for network authentication
# (#145219 #180163) Could use lirc mouse as input device
# (#70689 comment #92) Start after consolefont to avoid display corruption
after bootmisc consolefont modules netmount
after readahead-list ypbind autofs openvpn gpm lircmd
before alsasound
# Start before X
use acpid consolekit hald xfs
}
setup_dm() {
local MY_XDM="$(echo "${DISPLAYMANAGER}" | tr '[:upper:]' '[:lower:]')"
# Load our root path from profile.env
# Needed for kdm
PATH="${PATH}:$(. /etc/profile.env; echo "${ROOTPATH}")"
case "${MY_XDM}" in
kdm|kde|kde2|kde3)
EXE="$(which kdm)"
# kdm takes too long to create a pidfile for baselayout-2
#PIDFILE=/var/run/kdm.pid
PIDFILE=
;;
kdm-*)
EXE="/usr/kde/${MY_XDM#kdm-}/bin/kdm"
PIDFILE=
;;
entrance*)
EXE=/usr/sbin/entranced
PIDFILE=/var/lib/entranced.pid
;;
gdm|gnome)
EXE=/usr/bin/gdm
[ "${RC_UNAME}" != "Linux" ] && NAME=gdm-binary
PIDFILE=/var/run/gdm.pid
;;
wdm)
EXE=/usr/bin/wdm
PIDFILE=
;;
gpe)
EXE=/usr/bin/gpe-dm
PIDFILE=/var/run/gpe-dm.pid
;;
*)
EXE=
# Fix #65586, where MY_XDM is empty so EXE=somedir
[ -x "/usr/bin/${MY_XDM}" ] && [ -f "/usr/bin/${MY_XDM}" ] \
&& EXE="/usr/bin/${MY_XDM}"
if [ -z "${EXE}" ] ; then
EXE=/usr/bin/xdm
PIDFILE=/var/run/xdm.pid
fi
;;
esac
if ! [ -x "${EXE}" ] ; then
EXE=/usr/bin/xdm
PIDFILE=/var/run/xdm.pid
if ! [ -x "/usr/bin/xdm" ] ; then
echo "ERROR: Please set your DISPLAYMANAGER variable in /etc/conf.d/xdm,"
echo " or install x11-apps/xdm package"
eend 255
fi
fi
}
# Check to see if something is defined on our VT
vtstatic() {
if [ -e /etc/inittab ] ; then
grep -Eq "^[^#]+.*\<tty$1\>" /etc/inittab
elif [ -e /etc/ttys ] ; then
grep -q "^ttyv$(($1 - 1))" /etc/ttys
else
return 1
fi
}
start() {
local EXE= NAME= PIDFILE=
setup_dm
if [ -f /etc/init.d/.noxdm ] ; then
einfo "Skipping ${EXE}, /etc/init.d/.noxdm found"
rm /etc/init.d/.noxdm
return 1
fi
ebegin "Setting up ${EXE##*/}"
#save the prefered DM
save_options "service" "${EXE}"
save_options "name" "${NAME}"
save_options "pidfile" "${PIDFILE}"
if [ -n "${CHECKVT-y}" ] ; then
if vtstatic "${CHECKVT:-7}" ; then
if [ -x /sbin/telinit ] && [ "${SOFTLEVEL}" != "BOOT" ] && [ "${RC_SOFTLEVEL}" != "BOOT" ] ; then
ewarn "Something is already defined on VT ${CHECKVT:-7}, will start X later"
telinit a >/dev/null 2>/dev/null
return 0
else
eerror "Something is already defined on VT ${CHECKVT:-7}, not starting"
return 1
fi
fi
fi
/etc/X11/startDM.sh
eend 0
}
stop() {
local retval=0
local curvt=
if [ -t 0 ] ; then
if type fgconsole >/dev/null 2>/dev/null ; then
curvt="$(fgconsole 2>/dev/null)"
else
curvt="$(tty)"
case "${curvt}" in
/dev/ttyv[0-9]*) curvt="${curvt#/dev/ttyv*}" ;;
*) curvt= ;;
esac
fi
fi
local myexe="$(get_options "service")"
local myname="$(get_options "name")"
local mypidfile="$(get_options "pidfile")"
local myservice=${myexe##*/}
[ -z "${myexe}" ] && return 0
ebegin "Stopping ${myservice}"
if start-stop-daemon --quiet --test --stop --exec "${myexe}" ; then
start-stop-daemon --stop --exec "${myexe}" --retry TERM/5/TERM/5 \
${mypidfile:+--pidfile} ${mypidfile} \
${myname:+--name} ${myname}
retval=$?
fi
# switch back to original vt
if [ -n "${curvt}" ] ; then
if type chvt >/dev/null 2>/dev/null ; then
chvt "${curvt}"
else
vidcontrol -s "$((${curvt} + 1))"
fi
fi
eend ${retval} "Error stopping ${myservice}"
return ${retval}
}
# vim: set ts=4 :
1.1 x11-apps/xinit/files/x-setup.initd-1
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-apps/xinit/files/x-setup.initd-1?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-apps/xinit/files/x-setup.initd-1?rev=1.1&content-type=text/plain
Index: x-setup.initd-1
===================================================================
#!/sbin/runscript
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-apps/xinit/files/x-setup.initd-1,v 1.1 2009/09/14 16:19:03 williamh Exp $
start() {
if check_bootparam "nox" ; then
touch /etc/init.d/.noxdm
fi
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-09-14 16:19 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-14 16:19 [gentoo-commits] gentoo-x86 commit in x11-apps/xinit/files: xdm.initd-3 x-setup.initd-1 William Hubbs (williamh)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox