Rewrote host environment targets to work out of the box
[project/luci.git] / libs / httpd / host / runluci
index b82efce..6f6cdde 100755 (executable)
@@ -4,19 +4,25 @@ require("luci.httpd.server")
 require("luci.httpd.handler.file")
 require("luci.httpd.handler.luci")
 
-DOCROOT = arg[1]
+SYSROOT = arg[1]
+DOCROOT = SYSROOT .. arg[2]
 PORT = 8080
 
 collectgarbage("setpause", 150)
 
 serversocket = luci.httpd.Socket("0.0.0.0", PORT)
 
-
 server  = luci.httpd.server.Server()
 vhost   = luci.httpd.server.VHost()
 
 server:set_default_vhost(vhost)
 
+if pcall(require, "uci") and pcall(require, "luci.model.uci") then
+       luci.model.uci.confdir_default = SYSROOT .. luci.model.uci.confdir_default
+       luci.model.uci.savedir_state   = SYSROOT .. luci.model.uci.savedir_state
+       luci.model.uci.set_confdir(luci.model.uci.confdir_default)
+end
+
 
 filehandler = luci.httpd.handler.file.Simple(DOCROOT)
 vhost:set_default_handler(filehandler)
@@ -27,7 +33,7 @@ vhost:set_handler("/luci", lucihandler)
 io.stderr:write("Starting LuCI HTTPD on port " .. PORT .. "...\n")
 io.stderr:write("Point your browser to http://localhost:" .. PORT .. "/luci\n")
 
-daemon = luci.httpd.Daemon()
+--daemon = luci.httpd.Daemon()
 --daemon.debug = true
-daemon:register(serversocket, server:create_daemon_handlers())
-daemon:run()
+luci.httpd.register(serversocket, server:create_daemon_handlers())
+luci.httpd.run()