gluon-autoupdater: make site.conf branch setting optional
Default to the alphabetically smallest branch if none is set in site.conf. Also prevent enabling the autoupdater when no branches exist.
This commit is contained in:
parent
ee53357580
commit
d82ffb4f81
@ -1,4 +1,4 @@
|
||||
need_string(in_site({'autoupdater', 'branch'}))
|
||||
need_string(in_site({'autoupdater', 'branch'}), false)
|
||||
|
||||
need_table({'autoupdater', 'branches'}, function(branch)
|
||||
need_alphanumeric_key(branch)
|
||||
|
@ -5,6 +5,8 @@ local uci = require('simple-uci').cursor()
|
||||
local unistd = require 'posix.unistd'
|
||||
|
||||
|
||||
local min_branch
|
||||
|
||||
for name, config in pairs(site.autoupdater.branches()) do
|
||||
uci:delete('autoupdater', name)
|
||||
uci:section('autoupdater', 'branch', name, {
|
||||
@ -13,18 +15,26 @@ for name, config in pairs(site.autoupdater.branches()) do
|
||||
good_signatures = config.good_signatures,
|
||||
pubkey = config.pubkeys,
|
||||
})
|
||||
|
||||
if not min_branch or (name < min_branch) then
|
||||
min_branch = name
|
||||
end
|
||||
end
|
||||
|
||||
if not uci:get('autoupdater', 'settings') then
|
||||
local enabled = unistd.access('/lib/gluon/autoupdater/default_enabled') ~= nil
|
||||
|
||||
local branch = site.autoupdater.branch()
|
||||
local branch = site.autoupdater.branch(min_branch)
|
||||
local f = io.open('/lib/gluon/autoupdater/default_branch')
|
||||
if f then
|
||||
branch = f:read('*line')
|
||||
f:close()
|
||||
end
|
||||
|
||||
if not branch then
|
||||
enabled = false
|
||||
end
|
||||
|
||||
uci:section('autoupdater', 'autoupdater', 'settings', {
|
||||
enabled = enabled,
|
||||
branch = branch,
|
||||
|
Loading…
Reference in New Issue
Block a user