diff options
-rw-r--r-- | install.bat | 7 | ||||
-rw-r--r-- | src/luarocks/cfg.lua | 6 | ||||
-rw-r--r-- | src/luarocks/fs/lua.lua | 6 |
3 files changed, 13 insertions, 6 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 = {} | |||
8 | vars.PREFIX = nil | 8 | vars.PREFIX = nil |
9 | vars.VERSION = "2.2" | 9 | vars.VERSION = "2.2" |
10 | vars.SYSCONFDIR = nil | 10 | vars.SYSCONFDIR = nil |
11 | vars.SYSCONFFORCE = nil | ||
11 | vars.CONFBACKUPDIR = nil | 12 | vars.CONFBACKUPDIR = nil |
12 | vars.SYSCONFFILENAME = nil | 13 | vars.SYSCONFFILENAME = nil |
13 | vars.CONFIG_FILE = nil | 14 | vars.CONFIG_FILE = nil |
@@ -199,6 +200,7 @@ local function parse_options(args) | |||
199 | vars.PREFIX = option.value | 200 | vars.PREFIX = option.value |
200 | elseif name == "/CONFIG" then | 201 | elseif name == "/CONFIG" then |
201 | vars.SYSCONFDIR = option.value | 202 | vars.SYSCONFDIR = option.value |
203 | vars.SYSCONFFORCE = true | ||
202 | elseif name == "/TREE" then | 204 | elseif name == "/TREE" then |
203 | vars.TREE_ROOT = option.value | 205 | vars.TREE_ROOT = option.value |
204 | elseif name == "/SCRIPTS" then | 206 | elseif name == "/SCRIPTS" then |
@@ -650,6 +652,7 @@ vars.SYSCONFFILENAME = S"config-$LUA_VERSION.lua" | |||
650 | vars.CONFIG_FILE = vars.SYSCONFDIR.."\\"..vars.SYSCONFFILENAME | 652 | vars.CONFIG_FILE = vars.SYSCONFDIR.."\\"..vars.SYSCONFFILENAME |
651 | if SELFCONTAINED then | 653 | if SELFCONTAINED then |
652 | vars.SYSCONFDIR = vars.PREFIX | 654 | vars.SYSCONFDIR = vars.PREFIX |
655 | vars.SYSCONFFORCE = true | ||
653 | vars.TREE_ROOT = vars.PREFIX..[[\systree]] | 656 | vars.TREE_ROOT = vars.PREFIX..[[\systree]] |
654 | REGISTRY = false | 657 | REGISTRY = false |
655 | end | 658 | end |
@@ -835,7 +838,6 @@ else | |||
835 | end | 838 | end |
836 | f:write(S[=[ | 839 | f:write(S[=[ |
837 | site_config.LUAROCKS_UNAME_M=[[$UNAME_M]] | 840 | site_config.LUAROCKS_UNAME_M=[[$UNAME_M]] |
838 | site_config.LUAROCKS_SYSCONFIG=[[$CONFIG_FILE]] | ||
839 | site_config.LUAROCKS_ROCKS_TREE=[[$TREE_ROOT]] | 841 | site_config.LUAROCKS_ROCKS_TREE=[[$TREE_ROOT]] |
840 | site_config.LUAROCKS_PREFIX=[[$PREFIX]] | 842 | site_config.LUAROCKS_PREFIX=[[$PREFIX]] |
841 | site_config.LUAROCKS_DOWNLOADER=[[wget]] | 843 | site_config.LUAROCKS_DOWNLOADER=[[wget]] |
@@ -844,6 +846,9 @@ site_config.LUAROCKS_MD5CHECKER=[[md5sum]] | |||
844 | if FORCE_CONFIG then | 846 | if FORCE_CONFIG then |
845 | f:write("site_config.LUAROCKS_FORCE_CONFIG=true\n") | 847 | f:write("site_config.LUAROCKS_FORCE_CONFIG=true\n") |
846 | end | 848 | end |
849 | if vars.SYSCONFFORCE then -- only write this value when explcitly given, otherwise rely on defaults | ||
850 | f:write("site_config.LUAROCKS_SYSCONFIG=[[$CONFIG_FILE]]\n") | ||
851 | end | ||
847 | f:write("return site_config\n") | 852 | f:write("return site_config\n") |
848 | f:close() | 853 | f:close() |
849 | print(S([[Created LuaRocks site-config file: $LUADIR\luarocks\]]..site_config..[[.lua]])) | 854 | 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..e41b632c 100644 --- a/src/luarocks/cfg.lua +++ b/src/luarocks/cfg.lua | |||
@@ -149,7 +149,7 @@ local sys_config_file_default, home_config_file_default | |||
149 | local sys_config_dir, home_config_dir | 149 | local sys_config_dir, home_config_dir |
150 | local sys_config_ok, home_config_ok = false, false | 150 | local sys_config_ok, home_config_ok = false, false |
151 | local extra_luarocks_module_dir | 151 | local extra_luarocks_module_dir |
152 | sys_config_dir = site_config.LUAROCKS_SYSCONFDIR | 152 | sys_config_dir = site_config.LUAROCKS_SYSCONFDIR or site_config.LUAROCKS_PREFIX |
153 | if cfg.platforms.windows then | 153 | if cfg.platforms.windows then |
154 | cfg.home = os.getenv("APPDATA") or "c:" | 154 | cfg.home = os.getenv("APPDATA") or "c:" |
155 | sys_config_dir = sys_config_dir or "c:/luarocks" | 155 | sys_config_dir = sys_config_dir or "c:/luarocks" |
@@ -663,7 +663,7 @@ function cfg.init_package_paths() | |||
663 | end | 663 | end |
664 | 664 | ||
665 | function cfg.which_config() | 665 | function cfg.which_config() |
666 | return { | 666 | local ret = { |
667 | system = { | 667 | system = { |
668 | file = sys_config_file or sys_config_file_default, | 668 | file = sys_config_file or sys_config_file_default, |
669 | ok = sys_config_ok, | 669 | ok = sys_config_ok, |
@@ -673,6 +673,8 @@ function cfg.which_config() | |||
673 | ok = home_config_ok, | 673 | ok = home_config_ok, |
674 | } | 674 | } |
675 | } | 675 | } |
676 | ret.nearest = (ret.user.ok and ret.user.file) or ret.system.file | ||
677 | return ret | ||
676 | end | 678 | end |
677 | 679 | ||
678 | cfg.user_agent = "LuaRocks/"..cfg.program_version.." "..cfg.arch | 680 | 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) | |||
134 | arg = arg or "--version" | 134 | arg = arg or "--version" |
135 | assert(type(arg) == "string") | 135 | assert(type(arg) == "string") |
136 | 136 | ||
137 | if not fs.execute_quiet(tool_cmd, arg) then | 137 | if not fs.execute_quiet(fs.Q(tool_cmd), arg) then |
138 | local msg = "'%s' program not found. Make sure %s is installed and is available in your PATH " .. | 138 | local msg = "'%s' program not found. Make sure %s is installed and is available in your PATH " .. |
139 | "(or you may want to edit the 'variables.%s' value in file 'config.lua')" | 139 | "(or you may want to edit the 'variables.%s' value in file '%s')" |
140 | return nil, msg:format(tool_cmd, tool_name, tool_cmd:upper()) | 140 | return nil, msg:format(tool_cmd, tool_name, tool_name:upper(), cfg.which_config().nearest) |
141 | else | 141 | else |
142 | return true | 142 | return true |
143 | end | 143 | end |