build: add runuhttpd sdk target
[project/luci.git] / build / setup.lua
index dbe9bdcc9ad0c7a17d535887ef6ffd5170043cdc..d8fd5ddb9790ddeb6780936ee8a59257594e278a 100644 (file)
@@ -1,11 +1,47 @@
-            local SYSROOT = os.getenv("LUCI_SYSROOT")
-            require "uci"
-            require "luci.model.uci".cursor = function(config, save)
-                    return uci.cursor(config or SYSROOT .. "/etc/config", save or SYSROOT .. "/tmp/.uci")
-            end
+local SYSROOT = os.getenv("LUCI_SYSROOT")
 
-            local x = require "luci.uvl".UVL.__init__
-            require "luci.uvl".UVL.__init__ = function(self, schemedir)
-                    x(self, schemedir or SYSROOT .. "/lib/uci/schema")
-            end
+-- override uci access
+local uci_core  = require "uci"
+local uci_model = require "luci.model.uci"
 
+uci_model.cursor = function(config, save)
+       return uci_core.cursor(config or SYSROOT .. "/etc/config", save or SYSROOT .. "/tmp/.uci")
+end
+
+uci_model.cursor_state = function()
+       return uci_core.cursor(SYSROOT .. "/etc/config", SYSROOT .. "/var/state")
+end
+
+uci_model.inst = uci_model.cursor()
+uci_model.inst_state = uci_model.cursor_state()
+
+-- override uvl access
+local uvl_model = require "luci.uvl"
+local uvl_init  = uvl_model.UVL.__init__
+
+uvl_model.UVL.__init__ = function(self, schemedir)
+       uvl_init(self, schemedir or SYSROOT .. "/lib/uci/schema")
+end
+
+-- allow any password in local sdk
+local sys = require "luci.sys"
+sys.user.checkpasswd = function() return true end
+
+-- dummy sysinfo on Darwin
+require "nixio"
+
+if not nixio.sysinfo then
+       function nixio.sysinfo()
+               return {
+                       bufferram = 0,
+                       freehigh = 0,
+                       freeram = 0,
+                       freeswap = 0,
+                       loads = { 0.0, 0.0, 0.0 },
+                       mem_unit = 1024,
+                       procs = 0,
+                       sharedram = 0,
+                       totalhigh = 0
+               }
+       end
+end