self.schemedir = schemedir or default_schemedir
self.packages = { }
self.beenthere = { }
+ self.depseen = { }
self.uci = luci.model.uci
self.err = luci.uvl.errors
self.dep = luci.uvl.dependencies
local sc = { }
self.beenthere = { }
+ self.depseen = { }
if not co:config() then
return false, co:errors()
local so = co:section( section )
self.beenthere = { }
+ self.depseen = { }
if not co:config() then
return false, co:errors()
function UVL._validate_section( self, section )
+ self.beenthere[section:cid()] = true
+
if section:config() then
if section:scheme('named') == true and
section:config('.anonymous') == true
function UVL._validate_option( self, option, nodeps )
+ self.beenthere[option:cid()] = true
+
if not option:scheme() and not option:parent():scheme('dynamic') then
return false, option:error(ERR.OPT_UNKNOWN(option))
local derr = ERR.DEPENDENCY(object)
- if not self.beenthere[object:cid()] then
- self.beenthere[object:cid()] = true
+ if not self.depseen[object:cid()] then
+ self.depseen[object:cid()] = true
else
return false, derr:child(ERR.DEP_RECURSIVE(object))
end