docker-image-sybase/sqlanywhere16/bin64/dbsvc_scripts/dbsvc_iface

136 lines
3.5 KiB
Bash

#!/bin/sh
# iAnywhere Solutions, Inc. One Sybase Drive, Dublin, CA 94568, USA
# Copyright (c) 2001-2008, iAnywhere Solutions, Inc. Portions copyright (c)
# 1988-2008, Sybase, Inc. All rights preserved. All unpublished rights reserved.
START_DAEMON=start_daemon
KILLPROC=killproc
PIDOFPROC=pidofproc
LOG_SUCCESS_MSG=log_success_msg
LOG_FAILURE_MSG=log_failure_msg
LOG_WARNING_MSG=log_warning_msg
dbsvc_iface_getiface()
######################
# We rely on lsb; the others are placeholders that are currently unused
{
if [ -r "/lib/lsb/init-functions" ]; then
echo "lsb"
elif [ -r "/etc/rc.status" ]; then
echo "suse"
elif [ -r "/etc/init.d/functions" ]; then
echo "rh"
fi
}
dbsvc_iface_init()
##################
# can pass optional $1 to force lsb|rh|suse
{
RUNLEVEL="235"
[ -z "$PRIORITY" ] && PRIORITY="+00"
STARTUP="Manual"
SVCDIR=/etc/init.d
PREFIX=${SVCDIR}/${SVCNAME_PFX}
dbsvc_iface_load $1
}
dbsvc_iface_load()
##################
# Allow $1 to override which interface functions we load
{
if [ -n "$1" ]; then
SVC_IFACE=$1
else
SVC_IFACE=`dbsvc_iface_getiface`
fi
# Load common init-functions (only LSB currently used)
if [ -r "/lib/lsb/init-functions" ]; then
. /lib/lsb/init-functions
elif [ -r "/etc/rc.status" ]; then
. /etc/rc.status
elif [ -r "/etc/init.d/functions" ]; then
. /etc/init.d/functions
fi
# Load interface-specific procdures (only LSB currently used)
if [ -r "${DBSVC_DIR}/dbsvc_scripts/dbsvc_iface_${SVC_IFACE}" ]; then
. "${DBSVC_DIR}/dbsvc_scripts/dbsvc_iface_${SVC_IFACE}"
dbsvc_iface_init_${SVC_IFACE}
fi
# Need to override aliases on RedHat
if is_redhat || is_redflag ; then
. "${DBSVC_DIR}/dbsvc_scripts/dbsvc_iface_rh"
fi
# Check whether we have chkconfig or update-rc.d for installing services
HAS_CHKCONFIG=0
HAS_UPDATE_RC=0
CHKCONFIG_BIN=/sbin/chkconfig
if [ -r $CHKCONFIG_BIN ]; then
HAS_CHKCONFIG=1
else
# Try PATH
CHKCONFIG_BIN=`/bin/which chkconfig 2>/dev/null`
if [ -n $CHKCONFIG_BIN ] && [ -r "$CHKCONFIG_BIN" ]; then
HAS_CHKCONFIG=1
else
CHKCONFIG_BIN=""
fi
fi
UPDATE_RC_BIN=/usr/sbin/update-rc.d
if [ -r "$UPDATE_RC_BIN" ]; then
HAS_UPDATE_RC=1
else
# Try PATH
UPDATE_RC_BIN=`/bin/which update-rc.d 2>/dev/null`
if [ -n $UPDATE_RC_BIN ] && [ -r "$UPDATE_RC_BIN" ]; then
HAS_UPDATE_RC=1
else
UPDATE_RC_BIN=""
fi
fi
}
dbsvc_iface_installsvc()
########################
{
if [ ${HAS_CHKCONFIG:-0} -ne 0 ]; then
$CHKCONFIG_BIN --add $SVCNAME_PFX$SERVICENAME > /dev/null
$CHKCONFIG_BIN --level $RUNLEVEL $SVCNAME_PFX$SERVICENAME on > /dev/null
elif [ ${HAS_UPDATE_RC:-0} -ne 0 ]; then
$UPDATE_RC_BIN $SVCNAME_PFX$SERVICENAME start 60 $RUNLEVELS . stop 80 $STOPLEVELS .
fi
}
dbsvc_iface_uninstallsvc()
##########################
{
if [ ${HAS_CHKCONFIG:-0} -ne 0 ]; then
$CHKCONFIG_BIN $SVCNAME_PFX$SERVICENAME off > /dev/null
$CHKCONFIG_BIN --del $SVCNAME_PFX$SERVICENAME > /dev/null
elif [ ${HAS_UPDATE_RC:-0} -ne 0 ]; then
$UPDATE_RC_BIN -f $SVCNAME_PFX$SERVICENAME remove
fi
}
dbsvc_iface_checkdeletedsvc()
#############################
{
if [ ${HAS_CHKCONFIG:-0} -ne 0 ]; then
ISTHERE=`$CHKCONFIG_BIN --list | grep $SVCNAME_PFX$SERVICENAME`
if [ -r $SVCNAME_PFX$SERVICENAME ] || [ "$ISTHERE" != "" ]; then
output_msg "${ERR_NODELETE}" # $SERVICENAME
fi
elif [ ${HAS_UPDATE_RC:-0} -ne 0 ]; then
if [ -r $SVCNAME_PFX$SERVICENAME ]; then
output_msg "${ERR_NODELETE}" # $SERVICENAME
fi
fi
}