From 9ed48ef2a62df5406c589ef9a43da51df8d9645c Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sat, 19 May 2018 13:07:37 +0200 Subject: [PATCH 1/1] luci-base: break circular luci.config <> luci.model.uci dependency On certain environments, mainly with the embedded uhttpd interpreter, the luci.config class cannot be loaded due to a circular dependency with the luci.model.uci class. Break up the dependency by deferring the loading of luci.config in luci.model.uci until it is actually needed. Fixes #1803, FS#1553. Signed-off-by: Jo-Philipp Wich --- modules/luci-base/luasrc/model/uci.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/luci-base/luasrc/model/uci.lua b/modules/luci-base/luasrc/model/uci.lua index 34323f08b..461ba9d5a 100644 --- a/modules/luci-base/luasrc/model/uci.lua +++ b/modules/luci-base/luasrc/model/uci.lua @@ -3,7 +3,6 @@ local os = require "os" local util = require "luci.util" -local conf = require "luci.config" local table = require "table" @@ -148,7 +147,8 @@ function apply(self, rollback) local _, err if rollback then - local timeout = tonumber(conf.apply and conf.apply.rollback or "") or 0 + local conf = require "luci.config" + local timeout = tonumber(conf and conf.apply and conf.apply.rollback or "") or 0 _, err = call("apply", { timeout = (timeout > 30) and timeout or 30, -- 2.11.0