diff options
Diffstat (limited to 'updater-ng/files/turris.lua')
-rw-r--r-- | updater-ng/files/turris.lua | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/updater-ng/files/turris.lua b/updater-ng/files/turris.lua deleted file mode 100644 index ae9b701..0000000 --- a/updater-ng/files/turris.lua +++ /dev/null @@ -1,108 +0,0 @@ ---[[ -This file is part of updater-ng. Don't edit it. -]] - -local uci_cursor = nil -if uci then - uci_cursor = uci.cursor(root_dir .. "/etc/config") -else - ERROR("UCI library is not available. Configuration not used.") -end -local function uci_cnf(name, default) - if uci_cursor then - return uci_cursor:get("updater", "turris", name) or default - else - return default - end -end - --- Configuration variables -local mode = uci_cnf("mode", "branch") -- should we follow branch or version? -local branch = uci_cnf("branch", "hbs") -- which branch to follow -local version = uci_cnf("version", nil) -- which version to follow - --- Verify that we have sensible configuration -if mode == "version" and not version then - WARN("Mode configured to be 'version' but no version provided. Changing mode to 'branch' instead.") - mode = "branch" -end - --- Detect host board -local product = os_release["OPENWRT_DEVICE_PRODUCT"] or os_release["LEDE_DEVICE_PRODUCT"] -if product:match("[Mm]ox") then - board = "mox" -elseif product:match("[Oo]mnia") then - board = "omnia" -elseif product:match("[Tt]urris 1.x") then - board = "turris1x" -else - DIE("Unsupported Turris board: " .. tostring(product)) -end -Export('board') - --- Detect container -local env = io.open("/proc/1/environ", "rb") -for name, value in env:read("*a"):gmatch"([^=]+)=([^%z]+)%z?" do - if name == "container" then - container=value - Export("container") - end -end -env:close() - - --- Common connection settings for Turris OS scripts -local script_options = { - security = "Remote", - pubkey = { - "file:///etc/updater/keys/release.pub", - "file:///etc/updater/keys/standby.pub", - "file:///etc/updater/keys/test.pub" -- It is normal for this one to not be present in production systems - } -} - --- Turris repository server URL (or override) -local repo_url = "https://repo.turris.cz" -local config, config_error = loadfile("/etc/updater/turris-repo.lua") -if config then - config = config() - if config.url ~= nil then - repo_url = config.url - for _, field in {"pubkey", "ca", "crl", "ocsp"} do - if config[field] ~= nil then - script_options[field] = config[field] - end - end - end -else - WARN("Failed to load /etc/updater/turris-repo.lua: " .. tostring(config_error)) -end - --- Common URI to Turris OS lists -local base_url -if mode == "branch" then - base_url = repo_url .. "/" .. branch .. "/" .. board .. "/lists/" -elseif mode == "version" then - base_url = repo_url .. "/archive/" .. version .. "/" .. board .. "/lists/" -else - DIE("Invalid updater.turris.mode specified: " .. mode) -end - --- The distribution base script. It contains the repository and bunch of basic packages -Script(base_url .. "base.lua", script_options) - --- Additional enabled distribution lists forced by boot arguments -if root_dir == "/" then - local cmdf = io.open("/proc/cmdline") - if cmdf then - for cmdarg in cmdf:read():gmatch('[^ ]+') do - local key, value = cmdarg:match('([^=]+)=(.*)') - if key == "turris_lists" then - for list in value:gmatch('[^,]+') do - Script(base_url .. list .. ".lua", script_options) - end - end - end - cmdf:close() - end -end |