|
a/trunk/wharfie/lib/actions.py |
|
b/trunk/wharfie/lib/actions.py |
|
... |
|
... |
24 |
################################################################################ |
24 |
################################################################################ |
25 |
|
25 |
|
26 |
from lib import makefile as make |
26 |
from lib import makefile as make |
27 |
from lib import files |
27 |
from lib import files |
28 |
|
28 |
|
29 |
g_cmdUnitCount = 0 |
29 |
g_cmdUnitCount = 0 |
|
|
30 |
g_workingDir = "/" |
30 |
|
31 |
|
31 |
def run(name, dep, cmd): |
32 |
def run(name, dep, cmd): |
32 |
makeTarget = { |
33 |
makeTarget = { |
33 |
'comment' : "%s %s" % (cmd[0], cmd[1]), |
34 |
'comment' : "%s %s" % (cmd[0], cmd[1]), |
34 |
'name': name, |
35 |
'name': name, |
|
... |
|
... |
127 |
'dep': dep, |
128 |
'dep': dep, |
128 |
'hostcmd': myHostCmd |
129 |
'hostcmd': myHostCmd |
129 |
}; |
130 |
}; |
130 |
return makeTarget; |
131 |
return makeTarget; |
131 |
|
132 |
|
|
|
133 |
def workingdir(name, dep, cmd): |
|
|
134 |
global g_workingDir; |
|
|
135 |
g_workingDir = cmd[1] |
|
|
136 |
|
132 |
def entrypoint(name, dep, cmd): |
137 |
def entrypoint(name, dep, cmd): |
133 |
global g_cmdUnitCount; |
138 |
global g_cmdUnitCount; |
134 |
|
139 |
global g_workingDir; |
|
|
140 |
|
135 |
args = eval(cmd[1]) |
141 |
args = eval(cmd[1]) |
136 |
unitCmd = "%s %s" % (cmd[0], " ".join(args).replace("'", "'\"'\"'")) |
142 |
unitCmd = "%s %s" % (cmd[0], " ".join(args).replace("'", "'\"'\"'")) |
137 |
unitName = "wharfie%u.service" % g_cmdUnitCount |
143 |
unitName = "wharfie%u.service" % g_cmdUnitCount |
138 |
myTrgCmd = ''' |
144 |
myTrgCmd = ''' |
139 |
echo '[Unit]\nDescription=Wharfie Unit\n\n[Service]\nType=simple\nExecStart=%s\n\n[Install]\nWantedBy=multi-user.target\n' > /etc/systemd/system/%s; |
145 |
echo '[Unit]\nDescription=Wharfie Unit\n\n[Service]\nType=simple\nWorkingDirectory=%s\nExecStart=%s\n\n[Install]\nWantedBy=multi-user.target\n' > /etc/systemd/system/%s; |
140 |
systemctl enable %s; |
146 |
systemctl enable %s; |
141 |
''' % (unitCmd, unitName, unitName) |
147 |
''' % (g_workingDir, unitCmd, unitName, unitName) |
142 |
makeTarget = { |
148 |
makeTarget = { |
143 |
'comment' : "%s %s" % (cmd[0], cmd[1]), |
149 |
'comment' : "%s %s" % (cmd[0], cmd[1]), |
144 |
'name': name, |
150 |
'name': name, |
145 |
'dep': dep, |
151 |
'dep': dep, |
146 |
'trgcmd': myTrgCmd |
152 |
'trgcmd': myTrgCmd |