projects
/
project
/
luci.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #396 from fanthos/master
[project/luci.git]
/
modules
/
luci-base
/
luasrc
/
model
/
ipkg.lua
diff --git
a/modules/luci-base/luasrc/model/ipkg.lua
b/modules/luci-base/luasrc/model/ipkg.lua
index
976081b
..
e653b03
100644
(file)
--- 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
(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
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
if not name then
- name, version
= line:match("^
(.-) %- (.+)")
+ name, version
, sz = line:match("^(.-) %-
(.-) %- (.+)")
desc = ""
end
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
name = nil
version = nil
+ sz = nil
desc = nil
end
desc = nil
end
@@
-151,15
+158,15
@@
local function _list(action, pat, cb)
end
function list_all(pat, cb)
end
function list_all(pat, cb)
- _list("list", pat, cb)
+ _list("list
--size
", pat, cb)
end
function list_installed(pat, cb)
end
function list_installed(pat, cb)
- _list("list_installed", pat, cb)
+ _list("list_installed
--size
", pat, cb)
end
function find(pat, cb)
end
function find(pat, cb)
- _list("find", pat, cb)
+ _list("find
--size
", pat, cb)
end
end
@@
-211,7
+218,12
@@
function compare_versions(ver1, comp, ver2)
local av1 = util.split(ver1, "[%.%-]", nil, true)
local av2 = util.split(ver2, "[%.%-]", nil, true)
local av1 = util.split(ver1, "[%.%-]", nil, true)
local av2 = util.split(ver2, "[%.%-]", nil, true)
- for i = 1, math.max(table.getn(av1),table.getn(av2)), 1 do
+ local max = table.getn(av1)
+ if (table.getn(av1) < table.getn(av2)) then
+ max = table.getn(av2)
+ end
+
+ for i = 1, max, 1 do
local s1 = av1[i] or ""
local s2 = av2[i] or ""
local s1 = av1[i] or ""
local s2 = av2[i] or ""
@@
-228,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
-- all equal and not compare greater or lower then true
return not (comp == "<" or comp == ">")
end
-