Skip to content
Snippets Groups Projects
Unverified Commit 6cf03bab authored by Matthias Schiffer's avatar Matthias Schiffer
Browse files

treewide: replace normal uses of luci.model.uci with simple-uci to reduce LuCI dependencies

We also make use of the boolean support of simple-uci to make scripts
clearer.
parent 6f48fc42
No related branches found
No related tags found
No related merge requests found
Showing
with 81 additions and 91 deletions
#!/usr/bin/lua #!/usr/bin/lua
local uci = require 'luci.model.uci' local uci = require('simple-uci').cursor()
local c = uci.cursor()
uci:delete('alfred', 'alfred')
uci:section('alfred', 'alfred', 'alfred', {
c:delete('alfred', 'alfred') interface = 'local-node',
c:section('alfred', 'alfred', 'alfred', mode = 'slave',
{ batmanif = 'bat0',
interface = 'local-node', start_vis = true,
mode = 'slave', run_facters = false,
batmanif = 'bat0', })
start_vis = '1',
run_facters = '0', uci:save('alfred')
}
)
c:save('alfred')
#!/usr/bin/lua #!/usr/bin/lua
local site = require 'gluon.site_config' local site = require 'gluon.site_config'
local uci = require 'luci.model.uci' local uci = require('simple-uci').cursor()
local c = uci.cursor()
for name, config in pairs(site.autoupdater.branches) do for name, config in pairs(site.autoupdater.branches) do
c:delete('autoupdater', name) uci:delete('autoupdater', name)
c:section('autoupdater', 'branch', name, uci:section('autoupdater', 'branch', name, {
{ name = config.name,
name = config.name, mirror = config.mirrors,
mirror = config.mirrors, good_signatures = config.good_signatures,
good_signatures = config.good_signatures, pubkey = config.pubkeys,
pubkey = config.pubkeys, })
}
)
end end
if not c:get('autoupdater', 'settings') then if not uci:get('autoupdater', 'settings') then
local enabled = 0 local enabled = false
local branch = site.autoupdater.branch local branch = site.autoupdater.branch
local f = io.open('/lib/gluon/autoupdater/default_branch') local f = io.open('/lib/gluon/autoupdater/default_branch')
if f then if f then
enabled = 1 enabled = true
branch = f:read('*line') branch = f:read('*line')
f:close() f:close()
end end
c:section('autoupdater', 'autoupdater', 'settings', uci:section('autoupdater', 'autoupdater', 'settings', {
{ enabled = enabled,
enabled = enabled, branch = branch,
branch = branch, })
}
)
end end
c:set('autoupdater', 'settings', 'version_file', '/lib/gluon/release') uci:set('autoupdater', 'settings', 'version_file', '/lib/gluon/release')
c:save('autoupdater') uci:save('autoupdater')
local autoupdater_util = require 'autoupdater.util' local autoupdater_util = require 'autoupdater.util'
......
...@@ -6,7 +6,7 @@ local util = require 'gluon.util' ...@@ -6,7 +6,7 @@ local util = require 'gluon.util'
local ip = require 'luci.ip' local ip = require 'luci.ip'
local lutil = require 'luci.util' local lutil = require 'luci.util'
local uci = require('luci.model.uci').cursor() local uci = require('simple-uci').cursor()
local ip4, netmask, ip6 local ip4, netmask, ip6
...@@ -58,15 +58,15 @@ uci:save('network') ...@@ -58,15 +58,15 @@ uci:save('network')
local dnsmasq = uci:get_first('dhcp', 'dnsmasq') local dnsmasq = uci:get_first('dhcp', 'dnsmasq')
uci:set('dhcp', dnsmasq, 'boguspriv', 0) uci:set('dhcp', dnsmasq, 'boguspriv', false)
uci:set('dhcp', dnsmasq, 'localise_queries', 0) uci:set('dhcp', dnsmasq, 'localise_queries', false)
uci:set('dhcp', dnsmasq, 'rebind_protection', 0) uci:set('dhcp', dnsmasq, 'rebind_protection', false)
uci:delete('dhcp', 'client') uci:delete('dhcp', 'client')
uci:section('dhcp', 'dhcp', 'client', uci:section('dhcp', 'dhcp', 'client',
{ {
interface = 'client', interface = 'client',
ignore = 1, ignore = true,
} }
) )
......
...@@ -3,16 +3,18 @@ ...@@ -3,16 +3,18 @@
local site = require 'gluon.site_config' local site = require 'gluon.site_config'
local util = require 'gluon.util' local util = require 'gluon.util'
local uci = require('luci.model.uci').cursor() local uci = require('simple-uci').cursor()
local function is_disabled(config, name) local function is_disabled(config, name)
local disabled = config and config.disabled local disabled
if uci:get('wireless', name) then if uci:get('wireless', name) then
disabled = uci:get_bool('wireless', name, 'disabled') disabled = uci:get_bool('wireless', name, 'disabled')
else
disabled = config and config.disabled
end end
return disabled and 1 or 0 return disabled
end end
local function configure_client(config, radio, index, suffix) local function configure_client(config, radio, index, suffix)
...@@ -38,7 +40,7 @@ local function configure_client(config, radio, index, suffix) ...@@ -38,7 +40,7 @@ local function configure_client(config, radio, index, suffix)
ssid = config.ssid, ssid = config.ssid,
macaddr = macaddr, macaddr = macaddr,
ifname = suffix and 'client' .. suffix, ifname = suffix and 'client' .. suffix,
disabled = disabled, disabled = disabled or false,
} }
) )
end end
......
local cbi = require "luci.cbi" local cbi = require "luci.cbi"
local i18n = require "luci.i18n" local i18n = require "luci.i18n"
local uci = luci.model.uci.cursor() local uci = require("simple-uci").cursor()
local M = {} local M = {}
......
local cbi = require "luci.cbi" local cbi = require "luci.cbi"
local i18n = require "luci.i18n" local i18n = require "luci.i18n"
local uci = luci.model.uci.cursor() local uci = require("simple-uci").cursor()
local site = require 'gluon.site_config' local site = require 'gluon.site_config'
local M = {} local M = {}
......
...@@ -4,7 +4,7 @@ local gluon_luci = require 'gluon.luci' ...@@ -4,7 +4,7 @@ local gluon_luci = require 'gluon.luci'
local sysconfig = require 'gluon.sysconfig' local sysconfig = require 'gluon.sysconfig'
local pretty_hostname = require 'pretty_hostname' local pretty_hostname = require 'pretty_hostname'
local uci = luci.model.uci.cursor() local uci = require("simple-uci").cursor()
local hostname = pretty_hostname.get(uci) local hostname = pretty_hostname.get(uci)
local contact = uci:get_first('gluon-node-info', 'owner', 'contact') local contact = uci:get_first('gluon-node-info', 'owner', 'contact')
......
local wizard_dir = "/lib/gluon/config-mode/wizard/" local wizard_dir = "/lib/gluon/config-mode/wizard/"
local i18n = luci.i18n local i18n = luci.i18n
local uci = luci.model.uci.cursor() local uci = require("simple-uci").cursor()
local fs = require "nixio.fs" local fs = require "nixio.fs"
local util = require "nixio.util" local util = require "nixio.util"
local f, s local f, s
......
local cbi = require "luci.cbi" local cbi = require "luci.cbi"
local i18n = require "luci.i18n" local i18n = require "luci.i18n"
local uci = luci.model.uci.cursor() local uci = require("simple-uci").cursor()
local site = require 'gluon.site_config' local site = require 'gluon.site_config'
local M = {} local M = {}
......
local cbi = require "luci.cbi" local cbi = require "luci.cbi"
local i18n = require "luci.i18n" local i18n = require "luci.i18n"
local pretty_hostname = require "pretty_hostname" local pretty_hostname = require "pretty_hostname"
local uci = luci.model.uci.cursor() local uci = require("simple-uci").cursor()
local M = {} local M = {}
......
local uci = luci.model.uci.cursor() local uci = require("simple-uci").cursor()
local meshvpn_enabled = uci:get("fastd", "mesh_vpn", "enabled", "0") local meshvpn_enabled = uci:get_bool("fastd", "mesh_vpn", "enabled")
if meshvpn_enabled ~= "1" then if not meshvpn_enabled then
return nil return nil
else else
local i18n = require "luci.i18n" local i18n = require "luci.i18n"
......
local cbi = require "luci.cbi" local cbi = require "luci.cbi"
local i18n = require "luci.i18n" local i18n = require "luci.i18n"
local uci = luci.model.uci.cursor() local uci = require("simple-uci").cursor()
local M = {} local M = {}
......
...@@ -15,7 +15,7 @@ define Package/gluon-core ...@@ -15,7 +15,7 @@ define Package/gluon-core
SECTION:=gluon SECTION:=gluon
CATEGORY:=Gluon CATEGORY:=Gluon
TITLE:=Base files of Gluon TITLE:=Base files of Gluon
DEPENDS:=+gluon-site +libgluonutil +lua-platform-info +lua-hash +luci-base +luci-lib-jsonc +odhcp6c +firewall +pretty-hostname DEPENDS:=+gluon-site +libgluonutil +lua-platform-info +lua-simple-uci +lua-hash +luci-base +luci-lib-jsonc +odhcp6c +firewall +pretty-hostname
endef endef
define Package/gluon-core/description define Package/gluon-core/description
......
...@@ -4,7 +4,7 @@ local sysconfig = require 'gluon.sysconfig' ...@@ -4,7 +4,7 @@ local sysconfig = require 'gluon.sysconfig'
local gluon_util = require 'gluon.util' local gluon_util = require 'gluon.util'
local platform = require 'gluon.platform' local platform = require 'gluon.platform'
local uci = require('luci.model.uci').cursor() local uci = require('simple-uci').cursor()
if not (sysconfig.lan_ifname or sysconfig.wan_ifname) then if not (sysconfig.lan_ifname or sysconfig.wan_ifname) then
......
...@@ -7,7 +7,7 @@ local sysconfig = require 'gluon.sysconfig' ...@@ -7,7 +7,7 @@ local sysconfig = require 'gluon.sysconfig'
if not sysconfig.gluon_version then if not sysconfig.gluon_version then
local site = require 'gluon.site_config' local site = require 'gluon.site_config'
local util = require 'gluon.util' local util = require 'gluon.util'
local uci = require('luci.model.uci').cursor() local uci = require('simple-uci').cursor()
local system = uci:get_first('system', 'system') local system = uci:get_first('system', 'system')
......
#!/usr/bin/lua #!/usr/bin/lua
local uci = require('luci.model.uci').cursor() local uci = require('simple-uci').cursor()
local sysctl = require 'gluon.sysctl' local sysctl = require 'gluon.sysctl'
local sysconfig = require 'gluon.sysconfig' local sysconfig = require 'gluon.sysconfig'
...@@ -9,9 +9,9 @@ uci:section('network', 'interface', 'wan', ...@@ -9,9 +9,9 @@ uci:section('network', 'interface', 'wan',
{ {
ifname = sysconfig.wan_ifname, ifname = sysconfig.wan_ifname,
type = 'bridge', type = 'bridge',
multicast_querier = 0, multicast_querier = false,
peerdns = 0, peerdns = false,
auto = 1, auto = true,
} }
) )
uci:delete('network', 'wan', 'igmp_snooping') uci:delete('network', 'wan', 'igmp_snooping')
...@@ -24,9 +24,9 @@ end ...@@ -24,9 +24,9 @@ end
uci:section('network', 'interface', 'wan6', uci:section('network', 'interface', 'wan6',
{ {
ifname = 'br-wan', ifname = 'br-wan',
peerdns = 0, peerdns = false,
ip6table = 1, ip6table = 1,
sourcefilter = 0, sourcefilter = false,
} }
) )
......
#!/usr/bin/lua #!/usr/bin/lua
local site = require 'gluon.site_config' local site = require 'gluon.site_config'
local uci = require 'luci.model.uci' local uci = require 'simple-uci'
if not site.ntp_servers or #site.ntp_servers == 0 then if not site.ntp_servers or #site.ntp_servers == 0 then
os.exit(0) os.exit(0)
......
#!/usr/bin/lua #!/usr/bin/lua
local site = require 'gluon.site_config' local site = require 'gluon.site_config'
local uci = require 'luci.model.uci' local uci = require('simple-uci').cursor()
local c = uci.cursor()
local function reject_input_on_wan(zone) local function reject_input_on_wan(zone)
if zone.name == 'wan' then if zone.name == 'wan' then
c:set('firewall', zone['.name'], 'input', 'REJECT') uci:set('firewall', zone['.name'], 'input', 'REJECT')
c:set('firewall', zone['.name'], 'conntrack', '1') uci:set('firewall', zone['.name'], 'conntrack', true)
end end
return true return true
end end
c:foreach('firewall', 'zone', reject_input_on_wan) uci:foreach('firewall', 'zone', reject_input_on_wan)
c:section('firewall', 'rule', 'wan_ssh', uci:section('firewall', 'rule', 'wan_ssh', {
{ name = 'wan_ssh',
name = 'wan_ssh', src = 'wan',
src = 'wan', dest_port = '22',
dest_port = '22', proto = 'tcp',
proto = 'tcp', target = 'ACCEPT',
target = 'ACCEPT', })
}
)
c:save('firewall') uci:save('firewall')
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
local sysconfig = require 'gluon.sysconfig' local sysconfig = require 'gluon.sysconfig'
local site = require 'gluon.site_config' local site = require 'gluon.site_config'
if (not sysconfig.gluon_version) and (site.poe_passthrough == true) then if (not sysconfig.gluon_version) and site.poe_passthrough then
local uci = require('luci.model.uci').cursor() local uci = require('simple-uci').cursor()
if uci:get('system', 'gpio_switch_poe_passthrough') then if uci:get('system', 'gpio_switch_poe_passthrough') then
uci:set('system', 'gpio_switch_poe_passthrough', 'value', 1) uci:set('system', 'gpio_switch_poe_passthrough', 'value', true)
uci:save('system') uci:save('system')
end end
end end
...@@ -4,7 +4,7 @@ local util = require 'gluon.util' ...@@ -4,7 +4,7 @@ local util = require 'gluon.util'
local site = require 'gluon.site_config' local site = require 'gluon.site_config'
local sysconfig = require 'gluon.sysconfig' local sysconfig = require 'gluon.sysconfig'
local uci = require('luci.model.uci').cursor() local uci = require('simple-uci').cursor()
-- Initial -- Initial
if not sysconfig.gluon_version then if not sysconfig.gluon_version then
...@@ -22,6 +22,8 @@ end ...@@ -22,6 +22,8 @@ end
local function is_disabled(name) local function is_disabled(name)
if uci:get('wireless', name) then if uci:get('wireless', name) then
return uci:get_bool('wireless', name, 'disabled') return uci:get_bool('wireless', name, 'disabled')
else
return false
end end
end end
...@@ -82,7 +84,7 @@ local function configure_ibss(config, radio, index, suffix, disabled) ...@@ -82,7 +84,7 @@ local function configure_ibss(config, radio, index, suffix, disabled)
macaddr = macaddr, macaddr = macaddr,
mcast_rate = config.mcast_rate, mcast_rate = config.mcast_rate,
ifname = suffix and 'ibss' .. suffix, ifname = suffix and 'ibss' .. suffix,
disabled = disabled and 1 or 0, disabled = disabled,
} }
) )
end end
...@@ -116,11 +118,11 @@ local function configure_mesh(config, radio, index, suffix, disabled) ...@@ -116,11 +118,11 @@ local function configure_mesh(config, radio, index, suffix, disabled)
network = name, network = name,
mode = 'mesh', mode = 'mesh',
mesh_id = config.id, mesh_id = config.id,
mesh_fwding = 0, mesh_fwding = false,
macaddr = macaddr, macaddr = macaddr,
mcast_rate = config.mcast_rate, mcast_rate = config.mcast_rate,
ifname = suffix and 'mesh' .. suffix, ifname = suffix and 'mesh' .. suffix,
disabled = disabled and 1 or 0, disabled = disabled,
macfilter = macfilter, macfilter = macfilter,
maclist = maclist, maclist = maclist,
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment