luci-base: Add option to check linked libraries
Some packages have different variants that have different capabilities depending on which libraries against which they are linked. Add a function to check which library a binary links against in order to determine available functionality. Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
This commit is contained in:
parent
5b79e62c0a
commit
9652d44ef2
1 changed files with 17 additions and 0 deletions
|
@ -636,6 +636,23 @@ function libpath()
|
||||||
return require "nixio.fs".dirname(ldebug.__file__)
|
return require "nixio.fs".dirname(ldebug.__file__)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function checklib(fullpathexe, wantedlib)
|
||||||
|
local fs = require "nixio.fs"
|
||||||
|
local haveldd = fs.access('/usr/bin/ldd')
|
||||||
|
if not haveldd then
|
||||||
|
return -1
|
||||||
|
end
|
||||||
|
local libs = exec("/usr/bin/ldd " .. fullpathexe)
|
||||||
|
if not libs then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
for k, v in ipairs(split(libs)) do
|
||||||
|
if v:find(wantedlib) then
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Coroutine safe xpcall and pcall versions modified for Luci
|
-- Coroutine safe xpcall and pcall versions modified for Luci
|
||||||
|
|
Loading…
Reference in a new issue