libs/ipkg: use -force-defaults to ensure non-interactive execution

This commit is contained in:
Jo-Philipp Wich 2009-02-17 01:37:18 +00:00
parent cb0e180448
commit e062ec6981

View file

@ -21,7 +21,7 @@ local type = type
local pairs = pairs local pairs = pairs
local error = error local error = error
local ipkg = "opkg" local ipkg = "opkg -force-defaults"
--- LuCI IPKG/OPKG call abstraction library --- LuCI IPKG/OPKG call abstraction library
module "luci.model.ipkg" module "luci.model.ipkg"
@ -34,26 +34,26 @@ local function _action(cmd, ...)
for k, v in pairs(arg) do for k, v in pairs(arg) do
pkg = pkg .. " '" .. v:gsub("'", "") .. "'" pkg = pkg .. " '" .. v:gsub("'", "") .. "'"
end end
local c = ipkg.." "..cmd.." "..pkg.." >/dev/null 2>&1" local c = ipkg.." "..cmd.." "..pkg.." >/dev/null 2>&1"
local r = os.execute(c) local r = os.execute(c)
return (r == 0), r return (r == 0), r
end end
-- Internal parser function -- Internal parser function
local function _parselist(rawdata) local function _parselist(rawdata)
if type(rawdata) ~= "function" then if type(rawdata) ~= "function" then
error("IPKG: Invalid rawdata given") error("IPKG: Invalid rawdata given")
end end
local data = {} local data = {}
local c = {} local c = {}
local l = nil local l = nil
for line in rawdata do for line in rawdata do
if line:sub(1, 1) ~= " " then if line:sub(1, 1) ~= " " then
local key, val = line:match("(.-): ?(.*)%s*") local key, val = line:match("(.-): ?(.*)%s*")
if key and val then if key and val then
if key == "Package" then if key == "Package" then
c = {Package = val} c = {Package = val}
@ -73,7 +73,7 @@ local function _parselist(rawdata)
c[l] = c[l] .. "\n" .. line c[l] = c[l] .. "\n" .. line
end end
end end
return data return data
end end
@ -83,7 +83,7 @@ local function _lookup(act, pkg)
if pkg then if pkg then
cmd = cmd .. " '" .. pkg:gsub("'", "") .. "'" cmd = cmd .. " '" .. pkg:gsub("'", "") .. "'"
end end
-- IPKG sometimes kills the whole machine because it sucks -- IPKG sometimes kills the whole machine because it sucks
-- Therefore we have to use a sucky approach too and use -- Therefore we have to use a sucky approach too and use
-- tmpfiles instead of directly reading the output -- tmpfiles instead of directly reading the output
@ -147,4 +147,3 @@ end
function upgrade() function upgrade()
return _action("upgrade") return _action("upgrade")
end end