aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2018-05-23 14:55:14 -0300
committerHisham Muhammad <hisham@gobolinux.org>2018-05-31 11:16:09 -0300
commitaecf82e80e1a450857efe55c6dfe3be4354fab75 (patch)
treef214c05c7612565beaf958b1ac6077d740ddaa29
parent6d22624e505d81ce58de2343a86c960518573e85 (diff)
downloadluarocks-aecf82e80e1a450857efe55c6dfe3be4354fab75.tar.gz
luarocks-aecf82e80e1a450857efe55c6dfe3be4354fab75.tar.bz2
luarocks-aecf82e80e1a450857efe55c6dfe3be4354fab75.zip
cfg: load_config_file is only used with one file at a time now
-rw-r--r--src/luarocks/core/cfg.lua43
1 files changed, 18 insertions, 25 deletions
diff --git a/src/luarocks/core/cfg.lua b/src/luarocks/core/cfg.lua
index 834dba79..a17ca509 100644
--- a/src/luarocks/core/cfg.lua
+++ b/src/luarocks/core/cfg.lua
@@ -200,22 +200,19 @@ local merge_overrides = function(overrides)
200 util.deep_merge(cfg, overrides) 200 util.deep_merge(cfg, overrides)
201end 201end
202 202
203-- load config file from a list until first succesful one. Info is 203-- Load config file and merge its contents into the `cfg` module table.
204-- added to `cfg` module table, returns filepath of succesfully loaded 204-- @return filepath of succesfully loaded file or nil if it failed
205-- file or nil if it failed 205local load_config_file = function(filepath)
206local load_config_file = function(list) 206 local result, err, errcode = persist.load_into_table(filepath, env_for_config_file())
207 for _, filepath in ipairs(list) do 207 if (not result) and errcode ~= "open" then
208 local result, err, errcode = persist.load_into_table(filepath, env_for_config_file()) 208 -- errcode is either "load" or "run"; bad config file, so error out
209 if (not result) and errcode ~= "open" then 209 io.stderr:write(err.."\n")
210 -- errcode is either "load" or "run"; bad config file, so error out 210 os.exit(cfg.errorcodes.CONFIGFILE)
211 io.stderr:write(err.."\n") 211 end
212 os.exit(cfg.errorcodes.CONFIGFILE) 212 if result then
213 end 213 -- success in loading and running, merge contents and exit
214 if result then 214 merge_overrides(result)
215 -- succes in loading and running, merge contents and exit 215 return filepath
216 merge_overrides(result)
217 return filepath
218 end
219 end 216 end
220 return nil -- nothing was loaded 217 return nil -- nothing was loaded
221end 218end
@@ -224,9 +221,9 @@ end
224-- Load system configuration file 221-- Load system configuration file
225do 222do
226 sys_config_file_default = sys_config_dir.."/config-"..cfg.lua_version..".lua" 223 sys_config_file_default = sys_config_dir.."/config-"..cfg.lua_version..".lua"
227 sys_config_file = load_config_file({ 224 sys_config_file = load_config_file(
228 site_config.LUAROCKS_SYSCONFIG or sys_config_file_default, 225 site_config.LUAROCKS_SYSCONFIG or sys_config_file_default
229 }) 226 )
230 sys_config_ok = (sys_config_file ~= nil) 227 sys_config_ok = (sys_config_file ~= nil)
231end 228end
232 229
@@ -244,8 +241,7 @@ if not site_config.LUAROCKS_FORCE_CONFIG then
244 241
245 -- first try environment provided file, so we can explicitly warn when it is missing 242 -- first try environment provided file, so we can explicitly warn when it is missing
246 if config_env_value then 243 if config_env_value then
247 local list = { config_env_value } 244 home_config_file = load_config_file(config_env_value)
248 home_config_file = load_config_file(list)
249 home_config_ok = (home_config_file ~= nil) 245 home_config_ok = (home_config_file ~= nil)
250 if not home_config_ok then 246 if not home_config_ok then
251 io.stderr:write("Warning: could not load configuration file `"..config_env_value.."` given in environment variable "..config_env_var.."\n") 247 io.stderr:write("Warning: could not load configuration file `"..config_env_value.."` given in environment variable "..config_env_var.."\n")
@@ -254,10 +250,7 @@ if not site_config.LUAROCKS_FORCE_CONFIG then
254 250
255 -- try the alternative defaults if there was no environment specified file or it didn't work 251 -- try the alternative defaults if there was no environment specified file or it didn't work
256 if not home_config_ok then 252 if not home_config_ok then
257 local list = { 253 home_config_file = load_config_file(home_config_file_default)
258 home_config_file_default,
259 }
260 home_config_file = load_config_file(list)
261 home_config_ok = (home_config_file ~= nil) 254 home_config_ok = (home_config_file ~= nil)
262 end 255 end
263end 256end