X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;f=modules%2Fluci-base%2Fluasrc%2Fmodel%2Fipkg.lua;h=e653b0346558d81322e9c9c5fcdf05f2c3301188;hb=dfba318140e1a84359e221b7a9154337595dbded;hp=2e26bd7a163f00d33e4ef080f2f4aedb3058fdf5;hpb=60f62f841f6816b83dab9a9028c4d0799992c56c;p=project%2Fluci.git diff --git a/modules/luci-base/luasrc/model/ipkg.lua b/modules/luci-base/luasrc/model/ipkg.lua index 2e26bd7a1..e653b0346 100644 --- a/modules/luci-base/luasrc/model/ipkg.lua +++ b/modules/luci-base/luasrc/model/ipkg.lua @@ -127,22 +127,29 @@ local function _list(action, pat, cb) (pat and (" '%s'" % pat:gsub("'", "")) or "")) if fd then - local name, version, desc + local name, version, sz, desc while true do local line = fd:read("*l") if not line then break end - name, version, desc = line:match("^(.-) %- (.-) %- (.+)") + name, version, sz, desc = line:match("^(.-) %- (.-) %- (.-) %- (.+)") if not name then - name, version = line:match("^(.-) %- (.+)") + name, version, sz = line:match("^(.-) %- (.-) %- (.+)") desc = "" end - cb(name, version, desc) + if name and version then + if #version > 26 then + version = version:sub(1,21) .. ".." .. version:sub(-3,-1) + end + + cb(name, version, sz, desc) + end name = nil version = nil + sz = nil desc = nil end @@ -151,15 +158,15 @@ local function _list(action, pat, cb) end function list_all(pat, cb) - _list("list", pat, cb) + _list("list --size", pat, cb) end function list_installed(pat, cb) - _list("list_installed", pat, cb) + _list("list_installed --size", pat, cb) end function find(pat, cb) - _list("find", pat, cb) + _list("find --size", pat, cb) end @@ -233,4 +240,3 @@ function compare_versions(ver1, comp, ver2) -- all equal and not compare greater or lower then true return not (comp == "<" or comp == ">") end -