1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-15 04:32:24 +00:00

Add SMF service on Sun

This commit is contained in:
Matthew R. Trower 2018-06-18 04:20:43 -05:00 committed by Jon Trulson
parent ad1f104bbd
commit db6de6284f
3 changed files with 133 additions and 30 deletions

View file

@ -268,6 +268,12 @@ programs/dtconfig/sun/dtlogin.rc
mode = 0555
}
#
programs/dtconfig/sun/dtlogin.xml
{ sun
install_target = /usr/dt/config/dtlogin.xml
mode = 0555
}
#
programs/dtconfig/sun/dtconfig
{ sun
install_target = /usr/dt/bin/dtconfig

View file

@ -69,6 +69,20 @@ fi
RC_COPY=/etc/init.d/dtlogin
XCOMM
XCOMM Allow for configured and factory versions of dtlogin.xml
XCOMM
if [ -f CDE_CONFIGURATION_TOP/config/dtlogin.xml ]
then
SVC_MASTER=CDE_CONFIGURATION_TOP/config/dtlogin.xml
elif [ -f CDE_INSTALLATION_TOP/config/dtlogin.xml ]
then
SVC_MASTER=CDE_INSTALLATION_TOP/config/dtlogin.xml
fi
SVC_COPY=application/graphical-login/dtlogin
LEVEL_0_KILL=/etc/rc0.d/K10dtlogin
LEVEL_1_KILL=/etc/rc1.d/K10dtlogin
LEVEL_2_START=/etc/rc2.d/S99dtlogin
@ -399,6 +413,16 @@ XCOMM
case "$mode" in
'-d')
if [ -f /usr/sbin/svcadm ]; then
if svcs $SVC_COPY >/dev/null 2>&1; then
if ! svcadm disable $SVC_COPY >/dev/null; then
Message 12 "disable failed"
Message 13 "could not disable dtlogin service" "svc-dtlogin"
exit 1
fi
fi
else
/usr/bin/rm -f $LEVEL_2_START
if [ -f $LEVEL_2_START ]; then
@ -406,12 +430,26 @@ case "$mode" in
Message 13 "could not remove $LEVEL_2_START" $LEVEL_2_START
exit 1
fi
fi
Message 14 "done"
Message 15 "desktop auto-start disabled."
;;
'-e')
if [ -f /usr/sbin/svcadm ]; then
if ! svcs $SVC_COPY >/dev/null 2>&1; then
if ! svccfg import $SVC_MASTER; then
Message 16 "Enable Failed"
Message 17 "could not import $SVC_MASTER" $SVC_MASTER
exit 1
fi
elif ! svcadm enable $SVC_COPY >/dev/null; then
Message 16 "enable failed"
Message 17 "could not enable dtlogin service" svc-dtlogin
exit 1
fi
else
if [ -f $RC_MASTER ]; then
/usr/bin/rm -f $RC_COPY
fi
@ -448,6 +486,7 @@ case "$mode" in
exit 1
fi
fi
Message 14 "done"
Message 20 "desktop auto-start enabled."
;;
@ -475,6 +514,10 @@ case "$mode" in
;;
'-kill')
if [ -f /usr/sbin/svcadm ]; then
svcadm disable -t $SVC_COPY
fi
rc_master_check
$RC_MASTER stop

View file

@ -0,0 +1,54 @@
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<service_bundle type='manifest' name='export'>
<service name='application/graphical-login/dtlogin' type='service' version='0'>
<dependency name='filesystem' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/system/filesystem/local'/>
</dependency>
<dependency name='multi-user' grouping='require_all' restart_on='error' type='service'>
<service_fmri value='svc:/milestone/multi-user:default'/>
</dependency>
<dependency name='sysconfig' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/milestone/sysconfig'/>
</dependency>
<dependency name='fc-cache' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/application/font/fc-cache'/>
</dependency>
<dependency name='utmpx' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/system/utmp'/>
</dependency>
<dependency name='hal' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/system/hal'/>
</dependency>
<dependency name='dbus' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/system/dbus'/>
</dependency>
<dependency name='graphical-login' grouping='exclude_all' restart_on='none' type='service'>
<service_fmri value='svc:/application/graphical-login/lightdm'/>
<service_fmri value='svc:/application/graphical-login/gdm'/>
<service_fmri value='svc:/application/graphical-login/xdm'/>
</dependency>
<instance name='default' enabled='true'>
<exec_method name='start' type='method' exec='/usr/dt/bin/dtlogin -daemon' timeout_seconds='60'/>
<exec_method name='stop' type='method' exec='/usr/dt/bin/dtconfig -kill' timeout_seconds='60'/>
<exec_method name='refresh' type='method' exec='/usr/dt/bin/dtconfig -reset' timeout_seconds='60'/>
<property_group name='dtlogin' type='application'>
<propval name='args' type='astring' value=''/>
</property_group>
<property_group name='general' type='framework'>
<propval name='action_authorization' type='astring' value='solaris.smf.manage.dt.login'/>
</property_group>
</instance>
<template>
<common_name>
<loctext xml:lang='C'>Desktop Login Manager</loctext>
</common_name>
<description>
<loctext xml:lang='C'>Desktop Login Manager</loctext>
</description>
<documentation>
<manpage title='dtlogin' section='1' manpath='/usr/dt/man'/>
</documentation>
</template>
</service>
</service_bundle>