diff options
Diffstat (limited to 'applications/luci-app-ddns')
-rw-r--r-- | applications/luci-app-ddns/Makefile | 2 | ||||
-rwxr-xr-x | applications/luci-app-ddns/root/usr/libexec/rpcd/luci.ddns | 19 |
2 files changed, 13 insertions, 8 deletions
diff --git a/applications/luci-app-ddns/Makefile b/applications/luci-app-ddns/Makefile index 1b70170308..a529e22e22 100644 --- a/applications/luci-app-ddns/Makefile +++ b/applications/luci-app-ddns/Makefile @@ -12,7 +12,7 @@ PKG_LICENSE:=Apache-2.0 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 diff --git a/applications/luci-app-ddns/root/usr/libexec/rpcd/luci.ddns b/applications/luci-app-ddns/root/usr/libexec/rpcd/luci.ddns index 132c186642..6db329c186 100755 --- a/applications/luci-app-ddns/root/usr/libexec/rpcd/luci.ddns +++ b/applications/luci-app-ddns/root/usr/libexec/rpcd/luci.ddns @@ -153,21 +153,26 @@ local methods = { }, 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) |