Magellan Linux

Contents of /mcore-src/trunk/mcore-tools/src/modules/systemd/systemd.client.class.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2165 - (show annotations) (download)
Fri Jan 10 14:00:18 2014 UTC (10 years, 3 months ago) by niro
File size: 2128 byte(s)
-use variable pathes
1 # $Id$
2
3 provide basic-init systemd
4 require basic-system
5
6 set_system_service()
7 {
8 local command="$1"
9 local service="$2"
10 local opts="$3"
11
12 [[ -z ${command} ]] && help_system_service && return 1
13 [[ -z ${service} ]] && help_system_service && return 1
14
15 local chrooted
16 if [[ -n ${MROOT} ]] && [[ ${MROOT} != / ]]
17 then
18 chrooted="system_chroot"
19 case ${command} in
20 start|stop|restart|reload)
21 eecho "Command not available while \$MROOT is set"
22 return 1
23 ;;
24 esac
25 fi
26
27 if [[ -n $(${chrooted} systemctl status ${service} | grep 'Reason: No such file or directory') ]]
28 then
29 eecho "Service '${service}' unkown!"
30 return 1
31 fi
32
33 # auto-append .service to fix issues while $MROOT is set
34 if [[ -n $(echo ${service} | grep -v '.service$\|.target$\|.mount$\|.socket$\|.timer$') ]]
35 then
36 service="${service}.service"
37 decho "\$service replaced with '${service}'"
38 fi
39
40 case "${command}" in
41 start) ${chrooted} systemctl start "${service}" ;;
42 stop) ${chrooted} systemctl stop "${service}" ;;
43 restart) ${chrooted} systemctl try-restart "${service}" ;;
44 reload) ${chrooted} systemctl reload-or-try-restart "${service}" ;;
45 enable) ${chrooted} systemctl enable "${service}" ;;
46 disable) ${chrooted} systemctl disable "${service}" ;;
47 *) help_system_service && return ;;
48 esac
49 }
50
51 get_system_service()
52 {
53 local command="$1"
54 local service="$2"
55
56 [[ -z ${command} ]] && help_system_service && return 1
57 [[ -z ${service} ]] && help_system_service && return 1
58
59 local chrooted
60 if [[ -n ${MROOT} ]] && [[ ${MROOT} != / ]]
61 then
62 chrooted="system_chroot"
63 case ${command} in
64 status)
65 eecho "Command not available while \$MROOT is set"
66 return 1
67 ;;
68 esac
69 fi
70
71 if [[ -n $(${chrooted} systemctl status ${service} | grep 'Reason: No such file or directory') ]]
72 then
73 eecho "Service '${service}' unkown!"
74 return 1
75 fi
76
77 case "${command}" in
78 status) ${chrooted} systemctl status "${service}" ;;
79 enabled) ${chrooted} systemctl is-enabled "${service}"; rvecho "$?" ;;
80 runlevel) rvecho "$(readline ${MROOT}@@SYSTEMDSYSTEMCONFDIR@@/default.target)" ;;
81 *) help_system_service && return ;;
82 esac
83 }