You need to sign in or sign up before continuing.
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