diff --git a/package/gluon-config-mode-core/files/lib/gluon/config-mode/view/wizard/reboot.html b/package/gluon-config-mode-core/files/lib/gluon/config-mode/view/wizard/reboot.html index 6c65010b..13f2b52f 100644 --- a/package/gluon-config-mode-core/files/lib/gluon/config-mode/view/wizard/reboot.html +++ b/package/gluon-config-mode-core/files/lib/gluon/config-mode/view/wizard/reboot.html @@ -1,19 +1,12 @@

<%:Your node's setup is now complete.%>

<% - local fs = require "nixio.fs" - local util = require "nixio.util" - - local parts_dir = "/lib/gluon/config-mode/reboot/" - local files = util.consume(fs.dir(parts_dir) or function() end) - table.sort(files) + local util = require "gluon.util" local parts = {} - for _, entry in ipairs(files) do - if entry:sub(1, 1) ~= '.' then - local p = assert(loadfile(parts_dir .. entry)) - setfenv(p, getfenv()) - table.insert(parts, p) - end + for _, entry in ipairs(util.glob('/lib/gluon/config-mode/reboot/*')) do + local p = assert(loadfile(entry)) + setfenv(p, getfenv()) + table.insert(parts, p) end for _, p in ipairs(parts) do diff --git a/package/gluon-config-mode-core/luasrc/lib/gluon/config-mode/model/gluon-config-mode/wizard.lua b/package/gluon-config-mode-core/luasrc/lib/gluon/config-mode/model/gluon-config-mode/wizard.lua index ca400a9e..d32b56ac 100644 --- a/package/gluon-config-mode-core/luasrc/lib/gluon/config-mode/model/gluon-config-mode/wizard.lua +++ b/package/gluon-config-mode-core/luasrc/lib/gluon/config-mode/model/gluon-config-mode/wizard.lua @@ -1,22 +1,13 @@ -local fs = require "nixio.fs" local util = require "gluon.util" -local nixio_util = require "nixio.util" - local uci = require("simple-uci").cursor() -local wizard_dir = "/lib/gluon/config-mode/wizard/" - -local files = nixio_util.consume(fs.dir(wizard_dir) or function() end) -table.sort(files) local wizard = {} -for _, entry in ipairs(files) do - if entry:sub(1, 1) ~= '.' then - local f = assert(loadfile(wizard_dir .. entry)) - setfenv(f, getfenv()) - local w = f() - table.insert(wizard, w) - end +for _, entry in ipairs(util.glob('/lib/gluon/config-mode/wizard/*')) do + local f = assert(loadfile(entry)) + setfenv(f, getfenv()) + local w = f() + table.insert(wizard, w) end local f = Form(translate("Welcome!")) @@ -45,7 +36,8 @@ for _, w in ipairs(wizard) do end function f:write() - local nixio = require "nixio" + local fcntl = require 'posix.fcntl' + local unistd = require 'posix.unistd' uci:set("gluon-setup-mode", uci:get_first("gluon-setup-mode", "setup_mode"), "configured", true) @@ -60,15 +52,16 @@ function f:write() f.package = "gluon-config-mode-core" f.hidenav = true - if nixio.fork() == 0 then + if unistd.fork() == 0 then -- Replace stdout with /dev/null - nixio.dup(nixio.open('/dev/null', 'w'), nixio.stdout) + local null = fcntl.open('/dev/null', fcntl.O_WRONLY) + unistd.dup2(null, unistd.STDOUT_FILENO) -- Sleep a little so the browser can fetch everything required to -- display the reboot page, then reboot the device. - nixio.nanosleep(1) + unistd.sleep(1) - nixio.execp("reboot") + unistd.execp('reboot', {[0] = 'reboot'}) end end diff --git a/package/gluon-config-mode-domain-select/luasrc/lib/gluon/config-mode/wizard/0200-domain-select.lua b/package/gluon-config-mode-domain-select/luasrc/lib/gluon/config-mode/wizard/0200-domain-select.lua index 9496e99f..85977f68 100644 --- a/package/gluon-config-mode-domain-select/luasrc/lib/gluon/config-mode/wizard/0200-domain-select.lua +++ b/package/gluon-config-mode-domain-select/luasrc/lib/gluon/config-mode/wizard/0200-domain-select.lua @@ -2,7 +2,6 @@ return function(form, uci) local site_i18n = i18n 'gluon-site' - local fs = require 'nixio.fs' local json = require 'jsonc' local site = require 'gluon.site' local util = require 'gluon.util' @@ -22,7 +21,7 @@ return function(form, uci) local function get_domain_list() local list = {} - for domain_path in fs.glob('/lib/gluon/domains/*.json') do + for _, domain_path in ipairs(util.glob('/lib/gluon/domains/*.json')) do local domain_code = domain_path:match('([^/]+)%.json$') local domain = assert(json.load(domain_path)) diff --git a/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua b/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua index 16282eba..b94d194a 100644 --- a/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua +++ b/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua @@ -1,7 +1,7 @@ local site_i18n = i18n 'gluon-site' local uci = require("simple-uci").cursor() -local fs = require "nixio.fs" +local unistd = require 'posix.unistd' local platform = require 'gluon.platform' local site = require 'gluon.site' @@ -11,8 +11,8 @@ local util = require "gluon.util" local pretty_hostname = require 'pretty_hostname' -local has_fastd = fs.access('/lib/gluon/mesh-vpn/fastd') -local has_tunneldigger = fs.access('/lib/gluon/mesh-vpn/tunneldigger') +local has_fastd = unistd.access('/lib/gluon/mesh-vpn/fastd') +local has_tunneldigger = unistd.access('/lib/gluon/mesh-vpn/tunneldigger') local hostname = pretty_hostname.get(uci) diff --git a/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/wizard/0300-mesh-vpn.lua b/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/wizard/0300-mesh-vpn.lua index 1ad50794..98f27048 100644 --- a/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/wizard/0300-mesh-vpn.lua +++ b/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/wizard/0300-mesh-vpn.lua @@ -1,7 +1,7 @@ -local fs = require "nixio.fs" +local unistd = require 'posix.unistd' -local has_fastd = fs.access('/lib/gluon/mesh-vpn/fastd') -local has_tunneldigger = fs.access('/lib/gluon/mesh-vpn/tunneldigger') +local has_fastd = unistd.access('/lib/gluon/mesh-vpn/fastd') +local has_tunneldigger = unistd.access('/lib/gluon/mesh-vpn/tunneldigger') return function(form, uci) if not (has_fastd or has_tunneldigger) then diff --git a/package/gluon-config-mode-theme/files/lib/gluon/config-mode/view/theme/layout.html b/package/gluon-config-mode-theme/files/lib/gluon/config-mode/view/theme/layout.html index 874419a7..c80cd4b3 100644 --- a/package/gluon-config-mode-theme/files/lib/gluon/config-mode/view/theme/layout.html +++ b/package/gluon-config-mode-theme/files/lib/gluon/config-mode/view/theme/layout.html @@ -9,12 +9,12 @@ You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 -%> <% - local uci = require("simple-uci").cursor() - local fs = require "nixio.fs" local pretty_hostname = require "pretty_hostname" + local uci = require("simple-uci").cursor() + local util = require "gluon.util" local hostname = pretty_hostname.get(uci) - local release = fs.readfile("/lib/gluon/release") + local release = util.readfile("/lib/gluon/release") local root = node() local rnode = node(unpack(request))