Commit 0f4d8688 authored by Vitaly Lipatov's avatar Vitaly Lipatov

add support for primitive (script only) service system, add support for upstart service syste

parent e93d24b8
......@@ -36,7 +36,8 @@ check_tty
#############################
# FIXME: detect if not recognized
# FIXME: detect by real init system
# FIXME: add upstart support (Ubuntu?)
set_service_type()
{
local CMD
......@@ -69,9 +70,9 @@ case $DISTRNAME in
Fedora|LinuxXP|ASPLinux|CentOS|RHEL|Scientific)
CMD="service-chkconfig"
;;
# Slackware)
# CMD="slackpkg"
# ;;
Slackware)
CMD="service-initd"
;;
SUSE|SLED|SLES)
CMD="service-chkconfig"
;;
......
......@@ -24,10 +24,10 @@ serv_common()
local SERVICE="$1"
shift
case $SERVICETYPE in
service-chkconfig)
service-chkconfig|service-upstart)
sudocmd service $SERVICE "$@"
;;
service-update)
service-initd|service-update)
sudocmd /etc/init.d/$SERVICE "$@"
;;
systemd)
......
......@@ -28,10 +28,10 @@ serv_disable()
is_service_autostart $1 || { echo "Service $1 already disabled for startup" && return ; }
case $SERVICETYPE in
service-chkconfig)
service-chkconfig|service-upstart)
sudocmd chkconfig $1 off
;;
service-update)
service-initd|service-update)
sudocmd update-rc.d $1 remove
;;
systemd)
......
......@@ -28,10 +28,10 @@ serv_enable()
is_service_autostart $1 && echo "Service $1 already enabled for startup" && return
case $SERVICETYPE in
service-chkconfig)
service-chkconfig|service-upstart)
sudocmd chkconfig $1 on
;;
service-update)
service-initd|service-update)
sudocmd update-rc.d $1 defaults
;;
systemd)
......
......@@ -22,12 +22,15 @@
serv_list()
{
case $SERVICETYPE in
# service-chkconfig)
# sudocmd service $1 stop
# ;;
# service-update)
# sudocmd /etc/init.d/$1 stop
# ;;
service-chkconfig|service-upstart)
sudocmd service --status-all
;;
service-upstart)
sudocmd initctl list
;;
service-update)
sudocmd service --status-all
;;
systemd)
sudocmd systemctl list-units
;;
......
......@@ -22,7 +22,7 @@
serv_list_all()
{
case $SERVICETYPE in
service-chkconfig)
service-chkconfig|service-upstart)
# service --status-all for Ubuntu/Fedora
sudocmd chkconfig --list | cut -f1
;;
......
......@@ -21,7 +21,7 @@
serv_list_startup()
{
case $SERVICETYPE in
# service-chkconfig)
# service-chkconfig|service-upstart)
# # service --status-all for Ubuntu/Fedora
# #sudocmd chkconfig --list | cut -f1
# ;;
......
......@@ -22,10 +22,10 @@
serv_start()
{
case $SERVICETYPE in
service-chkconfig)
service-chkconfig|service-upstart)
sudocmd service $1 start
;;
service-update)
service-initd|service-update)
sudocmd /etc/init.d/$1 start
;;
systemd)
......
......@@ -21,10 +21,10 @@
is_service_running()
{
case $SERVICETYPE in
service-chkconfig)
service-chkconfig|service-upstart)
$SUDO service $1 status >/dev/null
;;
service-update)
service-initd|service-update)
$SUDO /etc/init.d/$1 status >/dev/null
;;
systemd)
......@@ -40,10 +40,10 @@ is_service_running()
is_service_autostart()
{
case $SERVICETYPE in
service-chkconfig)
service-chkconfig|service-upstart)
LANG=C $SUDO chkconfig $1 --list | grep -q "5:on"
;;
service-update)
service-initd|service-update)
fatal "FIXME: don't know how detect current startup state"
;;
systemd)
......@@ -60,7 +60,7 @@ serv_status()
is_service_autostart $1 && echo "Service $1 is sheduled to run on startup" || echo "Service $1 will NOT run on startup"
case $SERVICETYPE in
service-chkconfig)
service-chkconfig|service-upstart)
sudocmd service $1 status
;;
service-update)
......
......@@ -22,10 +22,10 @@
serv_stop()
{
case $SERVICETYPE in
service-chkconfig)
service-chkconfig|service-upstart)
sudocmd service $1 stop
;;
service-update)
service-initd|service-update)
sudocmd /etc/init.d/$1 stop
;;
systemd)
......
......@@ -24,11 +24,11 @@ load_helper serv-status
serv_try_restart()
{
case $SERVICETYPE in
service-chkconfig)
service-chkconfig|service-upstart)
is_service_running $1 || return 0
sudocmd service $1 restart
;;
service-update)
service-initd|service-update)
is_service_running $1 || return 0
sudocmd /etc/init.d/$1 restart
;;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment