modules/admin-full: display raw opkg output, the error codes are useless with recent versions

This commit is contained in:
Jo-Philipp Wich 2011-06-23 10:14:26 +00:00
parent 307f307a8e
commit e88fd858a1
2 changed files with 27 additions and 23 deletions

View file

@ -47,6 +47,9 @@ function action_packages()
local changes = false
local install = { }
local remove = { }
local stdout = { "" }
local stderr = { "" }
local out, err
-- Search query
local query = luci.http.formvalue("query")
@ -65,19 +68,25 @@ function action_packages()
-- Do install
if ninst then
_, install[ninst] = ipkg.install(ninst)
install[ninst], out, err = ipkg.install(ninst)
stdout[#stdout+1] = out
stderr[#stderr+1] = err
changes = true
end
if uinst then
_, install[uinst] = ipkg.install(uinst)
install[uinst], out, err = ipkg.install(uinst)
stdout[#stdout+1] = out
stderr[#stderr+1] = err
changes = true
end
-- Remove packets
local rem = submit and luci.http.formvalue("remove")
if rem then
_, remove[rem] = ipkg.remove(rem)
remove[rem], out, err = ipkg.remove(rem)
stdout[#stdout+1] = out
stderr[#stderr+1] = err
changes = true
end
@ -85,19 +94,29 @@ function action_packages()
-- Update all packets
local update = luci.http.formvalue("update")
if update then
_, update = ipkg.update()
update, out, err = ipkg.update()
stdout[#stdout+1] = out
stderr[#stderr+1] = err
end
-- Upgrade all packets
local upgrade = luci.http.formvalue("upgrade")
if upgrade then
_, upgrade = ipkg.upgrade()
upgrade, out, err = ipkg.upgrade()
stdout[#stdout+1] = out
stderr[#stderr+1] = err
end
luci.template.render("admin_system/packages", {
query=query, install=install, remove=remove, update=update, upgrade=upgrade
query = query,
install = install,
remove = remove,
update = update,
upgrade = upgrade,
stdout = table.concat(stdout, ""),
stderr = table.concat(stderr, "")
})
-- Remove index cache

View file

@ -24,11 +24,6 @@ function rowstyle()
return (rowcnt % 2) + 1
end
function opkg_error(code)
code = bit.rshift(tonumber(code), 8)
return translate("OPKG error code %i" % code)
end
local fstat = fs.statvfs(opkg.overlay_root())
local space_total = fstat and fstat.blocks or 0
local space_free = fstat and fstat.bfree or 0
@ -80,18 +75,8 @@ local filter = { }
<% if (install and next(install)) or (remove and next(remove)) or update or upgrade then %>
<br /><hr /><br />
<% if update then %>
<%:Package lists updated%>: <% if update == 0 then %><span class="ok"><%:OK%></span><% else %><span class="error"><%:Error%> (<%=opkg_error(update)%>)</span><% end %><br />
<% end %>
<% if upgrade then%>
<%:Upgrade installed packages%>: <% if upgrade == 0 then %><span class="ok"><%:OK%></span><% else %><span class="error"><%:Error%> (<%=opkg_error(upgrade)%>)</span><% end %><br />
<% end %>
<% if install then for k,v in pairs(install) do %>
<%:Install%> '<%=k%>': <% if v == 0 then %><span class="ok"><%:OK%></span><% else %><span class="error"><%:Error%> (<%=opkg_error(v)%>)</span><% end %><br />
<% end end %>
<% if remove then for k,v in pairs(remove) do %>
<%:Remove%> '<%=k%>': <% if v == 0 then %><span class="ok"><%:OK%></span><% else %><span class="error"><%:Error%> (<%=opkg_error(v)%>)</span><% end %><br />
<% end end %>
<% if #stdout > 0 then %><pre><%=pcdata(stdout)%></pre><% end %>
<% if #stderr > 0 then %><pre class="error"><%=pcdata(stderr)%></pre><% end %>
<% end %>
</fieldset>
<br />