From 9b249227220ea01c3ae40b4e3491f031a5307194 Mon Sep 17 00:00:00 2001 From: Thijs Schreijer Date: Sat, 14 Nov 2015 17:33:32 +0100 Subject: write config directory only if explictly given, use defaults otherwise --- install.bat | 7 ++++++- src/luarocks/cfg.lua | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/install.bat b/install.bat index 42b01c43..f64d6783 100644 --- a/install.bat +++ b/install.bat @@ -8,6 +8,7 @@ local vars = {} vars.PREFIX = nil vars.VERSION = "2.2" vars.SYSCONFDIR = nil +vars.SYSCONFFORCE = nil vars.CONFBACKUPDIR = nil vars.SYSCONFFILENAME = nil vars.CONFIG_FILE = nil @@ -199,6 +200,7 @@ local function parse_options(args) vars.PREFIX = option.value elseif name == "/CONFIG" then vars.SYSCONFDIR = option.value + vars.SYSCONFFORCE = true elseif name == "/TREE" then vars.TREE_ROOT = option.value elseif name == "/SCRIPTS" then @@ -650,6 +652,7 @@ vars.SYSCONFFILENAME = S"config-$LUA_VERSION.lua" vars.CONFIG_FILE = vars.SYSCONFDIR.."\\"..vars.SYSCONFFILENAME if SELFCONTAINED then vars.SYSCONFDIR = vars.PREFIX + vars.SYSCONFFORCE = true vars.TREE_ROOT = vars.PREFIX..[[\systree]] REGISTRY = false end @@ -835,7 +838,6 @@ else end f:write(S[=[ site_config.LUAROCKS_UNAME_M=[[$UNAME_M]] -site_config.LUAROCKS_SYSCONFIG=[[$CONFIG_FILE]] site_config.LUAROCKS_ROCKS_TREE=[[$TREE_ROOT]] site_config.LUAROCKS_PREFIX=[[$PREFIX]] site_config.LUAROCKS_DOWNLOADER=[[wget]] @@ -844,6 +846,9 @@ site_config.LUAROCKS_MD5CHECKER=[[md5sum]] if FORCE_CONFIG then f:write("site_config.LUAROCKS_FORCE_CONFIG=true\n") end +if vars.SYSCONFFORCE then -- only write this value when explcitly given, otherwise rely on defaults + f:write("site_config.LUAROCKS_SYSCONFIG=[[$CONFIG_FILE]]\n") +end f:write("return site_config\n") f:close() print(S([[Created LuaRocks site-config file: $LUADIR\luarocks\]]..site_config..[[.lua]])) diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua index e3d6e74b..79b399f0 100644 --- a/src/luarocks/cfg.lua +++ b/src/luarocks/cfg.lua @@ -149,7 +149,7 @@ local sys_config_file_default, home_config_file_default local sys_config_dir, home_config_dir local sys_config_ok, home_config_ok = false, false local extra_luarocks_module_dir -sys_config_dir = site_config.LUAROCKS_SYSCONFDIR +sys_config_dir = site_config.LUAROCKS_SYSCONFDIR or site_config.LUAROCKS_PREFIX if cfg.platforms.windows then cfg.home = os.getenv("APPDATA") or "c:" sys_config_dir = sys_config_dir or "c:/luarocks" -- cgit v1.2.3-55-g6feb From 60e536fdb410694ece41ce5ac8517ffc4826391c Mon Sep 17 00:00:00 2001 From: Thijs Schreijer Date: Wed, 25 Nov 2015 00:09:17 +0100 Subject: fix: bad errormessage and missing quotes --- src/luarocks/cfg.lua | 4 +++- src/luarocks/fs/lua.lua | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua index e3d6e74b..a22cf121 100644 --- a/src/luarocks/cfg.lua +++ b/src/luarocks/cfg.lua @@ -663,7 +663,7 @@ function cfg.init_package_paths() end function cfg.which_config() - return { + local ret = { system = { file = sys_config_file or sys_config_file_default, ok = sys_config_ok, @@ -673,6 +673,8 @@ function cfg.which_config() ok = home_config_ok, } } + ret.nearest = (ret.user.ok and ret.user.file) or ret.system.file + return ret end cfg.user_agent = "LuaRocks/"..cfg.program_version.." "..cfg.arch diff --git a/src/luarocks/fs/lua.lua b/src/luarocks/fs/lua.lua index 73ae2698..18e6b01a 100644 --- a/src/luarocks/fs/lua.lua +++ b/src/luarocks/fs/lua.lua @@ -134,10 +134,10 @@ function fs_lua.is_tool_available(tool_cmd, tool_name, arg) arg = arg or "--version" assert(type(arg) == "string") - if not fs.execute_quiet(tool_cmd, arg) then + if not fs.execute_quiet(fs.Q(tool_cmd), arg) then local msg = "'%s' program not found. Make sure %s is installed and is available in your PATH " .. - "(or you may want to edit the 'variables.%s' value in file 'config.lua')" - return nil, msg:format(tool_cmd, tool_name, tool_cmd:upper()) + "(or you may want to edit the 'variables.%s' value in file '%s')" + return nil, msg:format(tool_cmd, tool_name, tool_name:upper(), cfg.which_config().nearest) else return true end -- cgit v1.2.3-55-g6feb