--- a/trunk/wharfie/lib/actions.py +++ b/trunk/wharfie/lib/actions.py @@ -27,6 +27,7 @@ from lib import files g_cmdUnitCount = 0 +g_workingDir = "/" def run(name, dep, cmd): makeTarget = { @@ -129,16 +130,21 @@ }; return makeTarget; +def workingdir(name, dep, cmd): + global g_workingDir; + g_workingDir = cmd[1] + def entrypoint(name, dep, cmd): global g_cmdUnitCount; - + global g_workingDir; + args = eval(cmd[1]) unitCmd = "%s %s" % (cmd[0], " ".join(args).replace("'", "'\"'\"'")) unitName = "wharfie%u.service" % g_cmdUnitCount myTrgCmd = ''' - echo '[Unit]\nDescription=Wharfie Unit\n\n[Service]\nType=simple\nExecStart=%s\n\n[Install]\nWantedBy=multi-user.target\n' > /etc/systemd/system/%s; + 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; systemctl enable %s; - ''' % (unitCmd, unitName, unitName) + ''' % (g_workingDir, unitCmd, unitName, unitName) makeTarget = { 'comment' : "%s %s" % (cmd[0], cmd[1]), 'name': name,