From b04e84a80d731df451bf6a5d5080e5761f1bee6b Mon Sep 17 00:00:00 2001 From: kb-light Date: Wed, 22 Nov 2017 21:32:59 +0100 Subject: [PATCH] gluon-web-autoupdater: introduce minute value --- package/gluon-web-autoupdater/i18n/de.po | 14 ++++++++++ package/gluon-web-autoupdater/i18n/fr.po | 10 +++++++ .../i18n/gluon-web-autoupdater.pot | 10 +++++++ .../lib/gluon/web/model/admin/autoupdater.lua | 26 +++++++++++++++++++ 4 files changed, 60 insertions(+) diff --git a/package/gluon-web-autoupdater/i18n/de.po b/package/gluon-web-autoupdater/i18n/de.po index 9f1fbecf..ea53a5d7 100644 --- a/package/gluon-web-autoupdater/i18n/de.po +++ b/package/gluon-web-autoupdater/i18n/de.po @@ -18,3 +18,17 @@ msgstr "Branch" msgid "Enable" msgstr "Aktivieren" + +msgid "Minute" +msgstr "Minute" + +msgid "" +"This value forces the autoupdater to check for updates at the specified " +"minute. Normally there is no need to set this value because it is selected " +"automatically. You may want to set this to a specific value if you have " +"multiple nodes which should not update at the same time." +msgstr "" +"Dieser Wert zwingt den Autoupdater, in der festgelegten Minute nach neuen " +"Updates zu suchen. Normalerweise muss dieser Wert nicht gesetzt werden, da " +"er automatisch gewählt wird. Wenn du jedoch mehrere Knoten betreibst und " +"diese nicht zur gleichen Zeit updaten dürfen, könntest du diesen Wert setzen." diff --git a/package/gluon-web-autoupdater/i18n/fr.po b/package/gluon-web-autoupdater/i18n/fr.po index fec24176..18e78552 100644 --- a/package/gluon-web-autoupdater/i18n/fr.po +++ b/package/gluon-web-autoupdater/i18n/fr.po @@ -18,3 +18,13 @@ msgstr "Branche" msgid "Enable" msgstr "Activer" + +msgid "Minute" +msgstr "Minute" + +msgid "" +"This value forces the autoupdater to check for updates at the specified " +"minute. Normally there is no need to set this value because it is selected " +"automatically. You may want to set this to a specific value if you have " +"multiple nodes which should not update at the same time." +msgstr "" diff --git a/package/gluon-web-autoupdater/i18n/gluon-web-autoupdater.pot b/package/gluon-web-autoupdater/i18n/gluon-web-autoupdater.pot index 1cce85c3..93082759 100644 --- a/package/gluon-web-autoupdater/i18n/gluon-web-autoupdater.pot +++ b/package/gluon-web-autoupdater/i18n/gluon-web-autoupdater.pot @@ -9,3 +9,13 @@ msgstr "" msgid "Enable" msgstr "" + +msgid "Minute" +msgstr "" + +msgid "" +"This value forces the autoupdater to check for updates at the specified " +"minute. Normally there is no need to set this value because it is selected " +"automatically. You may want to set this to a specific value if you have " +"multiple nodes which should not update at the same time." +msgstr "" diff --git a/package/gluon-web-autoupdater/luasrc/lib/gluon/web/model/admin/autoupdater.lua b/package/gluon-web-autoupdater/luasrc/lib/gluon/web/model/admin/autoupdater.lua index adf7cbd6..ac1ccf73 100644 --- a/package/gluon-web-autoupdater/luasrc/lib/gluon/web/model/admin/autoupdater.lua +++ b/package/gluon-web-autoupdater/luasrc/lib/gluon/web/model/admin/autoupdater.lua @@ -32,8 +32,34 @@ function o:write(data) uci:set("autoupdater", autoupdater, "branch", data) end +o = s:option(Value, "minute", translate("Minute"), translate( + "This value forces the autoupdater to check for updates at the " + .. "specified minute. Normally there is no need to set this value " + .. "because it is selected automatically. You may want to set this to " + .. "a specific value if you have multiple nodes which should not " + .. "update at the same time." +)) +o.datatype = "irange(0, 59)" +o.default = uci:get("gluon", "autoupdater", "minute") +o.optional = true + +function o:write(data) + if data == uci:get("gluon", "autoupdater", "minute") then + return + end + uci:set("gluon", "autoupdater", "minute", data) + + if data then + local f = io.open("/usr/lib/micron.d/autoupdater", "w") + f:write(string.format("%i 4 * * * /usr/sbin/autoupdater\n", data)) + f:write(string.format("%i 0-3,5-23 * * * /usr/sbin/autoupdater --fallback\n", data)) + f:close() + end +end + function f:write() uci:commit("autoupdater") + uci:commit("gluon") end return f