diff options
Diffstat (limited to 'x11/kde4-workspace/files/kdm4.in')
-rw-r--r-- | x11/kde4-workspace/files/kdm4.in | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/x11/kde4-workspace/files/kdm4.in b/x11/kde4-workspace/files/kdm4.in new file mode 100644 index 000000000000..b3486424f8c7 --- /dev/null +++ b/x11/kde4-workspace/files/kdm4.in @@ -0,0 +1,55 @@ +#!/bin/sh +# +# PROVIDE: kdm4 +# REQUIRE: LOGIN cleanvar moused syscons dbus hald +# +# Add the following to /etc/rc.conf to start kdm at boot time: +# +# kdm4_enable="YES" +# + +. %%RC_SUBR%% + +kdm4_enable=${kdm4_enable-"NO"} + +export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/kde4/bin:/usr/local/kde4/sbin + +GENKDMCONF=%%PREFIX%%/bin/genkdmconf +KDMCONFDIR=%%PREFIX%%/share/config/kdm + +name=kdm4 +rcvar=`set_rcvar` +command="%%PREFIX%%/bin/kdm-bin" +pidfile="/var/run/kdm.pid" +procname="%%PREFIX%%/bin/kdm-bin" +start_cmd="kdm_start" + +kdm_start() +{ + if ! checkyesno kdm4_enable ; then + return 0 + fi + echo "Starting ${name}." + + #Configure kdm if needed + if [ ! -r ${KDMCONFDIR}/kdmrc ]; then + echo "Generating KDM configuration"; + ${GENKDMCONF} --no-old --in ${KDMCONFDIR}; + else + echo "Updating KDM configuration"; + ${GENKDMCONF} --in ${KDMCONFDIR}; + fi + + ( iter=0 + while ! ps -axoargs | grep "^/usr/libexec/getty " | grep -qv grep >/dev/null 2>&1; do + if [ ${iter} -eq 60 ]; then + break + fi + sleep 10 + iter=$(expr ${iter} + 1) + done + ${command} ${kdm4_flags} ) & +} + +load_rc_config ${name} +run_rc_command "$1" |