aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2022-04-11 17:33:05 -0300
committerHisham Muhammad <hisham@gobolinux.org>2022-04-11 17:34:16 -0300
commitde978bfcc0b90600ab3a0e0d22e4fd7dd5a6d387 (patch)
tree712b9bacf4fe1040c17ad514392a0b668341244a
parentf1a09fe49db5ee123c3edd34aa88e8bb03231ede (diff)
downloadluarocks-de978bfcc0b90600ab3a0e0d22e4fd7dd5a6d387.tar.gz
luarocks-de978bfcc0b90600ab3a0e0d22e4fd7dd5a6d387.tar.bz2
luarocks-de978bfcc0b90600ab3a0e0d22e4fd7dd5a6d387.zip
fs.is_tool_available: if it looks like a pathname, try that first
Some uses of is_tool_available use binary names that can be overriden by the user via configuration.
-rw-r--r--src/luarocks/fs/lua.lua15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/luarocks/fs/lua.lua b/src/luarocks/fs/lua.lua
index 2619d136..96017daa 100644
--- a/src/luarocks/fs/lua.lua
+++ b/src/luarocks/fs/lua.lua
@@ -123,7 +123,20 @@ function fs_lua.is_tool_available(tool_cmd, tool_name)
123 ok = tool_available_cache[tool_name] 123 ok = tool_available_cache[tool_name]
124 else 124 else
125 local tool_cmd_no_args = tool_cmd:gsub(" .*", "") 125 local tool_cmd_no_args = tool_cmd:gsub(" .*", "")
126 ok = fs.search_in_path(tool_cmd_no_args) 126
127 -- if it looks like the tool has a pathname, try that first
128 if tool_cmd_no_args:match("[/\\]") then
129 local fd = io.open(tool_cmd_no_args, "r")
130 if fd then
131 fd:close()
132 ok = true
133 end
134 end
135
136 if not ok then
137 ok = fs.search_in_path(tool_cmd_no_args)
138 end
139
127 tool_available_cache[tool_name] = (ok == true) 140 tool_available_cache[tool_name] = (ok == true)
128 end 141 end
129 142