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:
parent
ad1f104bbd
commit
db6de6284f
3 changed files with 133 additions and 30 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
54
cde/programs/dtconfig/sun/dtlogin.xml
Normal file
54
cde/programs/dtconfig/sun/dtlogin.xml
Normal 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>
|
Loading…
Reference in a new issue