PKG_MAINTAINER:=Ansuel Smith <ansuelsmth@gmail.com>
LUCI_TITLE:=LuCI Support for Dynamic DNS Client (ddns-scripts)
-LUCI_DEPENDS:=+luci-lib-ipkg +luci-mod-admin-full +ddns-scripts
+LUCI_DEPENDS:=+luci-mod-admin-full +ddns-scripts
LUCI_PKGARCH:=all
include ../../luci.mk
},
get_ddns_state = {
call = function()
- local ipkg = require "luci.model.ipkg"
local uci = UCI.cursor()
local dateformat = uci:get("ddns", "global", "ddns_dateformat") or "%F %R"
local services_mtime = fs.stat(ddns_package_path .. "/list", 'mtime')
uci:unload("ddns")
- local ver, srv_ver_cmd
local res = {}
+ local ver
- if ipkg then
- ver = ipkg.info(srv_name)[srv_name].Version
- else
- srv_ver_cmd = luci_helper .. " -V | awk {'print $2'} "
- ver = util.exec(srv_ver_cmd)
+ local _, ctrl = pcall(io.lines, "/usr/lib/opkg/info/%s.control" % srv_name)
+ if ctrl then
+ for line in ctrl do
+ ver = line:match("^Version: (.+)$")
+
+ if ver then
+ break
+ end
+ end
end
+ ver = ver or util.trim(util.exec("%s -V | awk {'print $2'}" % luci_helper))
+
res['_version'] = ver and #ver > 0 and ver or nil
res['_enabled'] = sys.init.enabled("ddns")
res['_curr_dateformat'] = os.date(dateformat)