diff options
| author | Thijs Schreijer <thijs@thijsschreijer.nl> | 2015-07-10 19:02:44 +0200 |
|---|---|---|
| committer | Thijs Schreijer <thijs@thijsschreijer.nl> | 2015-07-10 19:02:44 +0200 |
| commit | cc90426cad683caade7a24a7129445784152b448 (patch) | |
| tree | d4216575cad1dcc6071dcc7a97190e39e3de7ee0 | |
| parent | 634ff0af63a250859863cee25b8ab21e2404a267 (diff) | |
| parent | ddefaeb8e5c52a7f63e573e04f720879edfee91a (diff) | |
| download | luarocks-cc90426cad683caade7a24a7129445784152b448.tar.gz luarocks-cc90426cad683caade7a24a7129445784152b448.tar.bz2 luarocks-cc90426cad683caade7a24a7129445784152b448.zip | |
Merge pull request #407 from Tieske/pref_versioned
Prefer versioned config files
| -rw-r--r-- | install.bat | 35 | ||||
| -rw-r--r-- | src/luarocks/cfg.lua | 10 |
2 files changed, 28 insertions, 17 deletions
diff --git a/install.bat b/install.bat index d83dfbf1..57e3611c 100644 --- a/install.bat +++ b/install.bat | |||
| @@ -8,6 +8,8 @@ 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.SYSCONFFILENAME = nil | ||
| 12 | vars.CONFIG_FILE = nil | ||
| 11 | vars.TREE_ROOT = nil | 13 | vars.TREE_ROOT = nil |
| 12 | vars.TREE_BIN = nil | 14 | vars.TREE_BIN = nil |
| 13 | vars.TREE_LMODULE = nil | 15 | vars.TREE_LMODULE = nil |
| @@ -360,7 +362,14 @@ local function look_for_headers (directory) | |||
| 360 | die(S"lua.h not found in $LUA_INCDIR") | 362 | die(S"lua.h not found in $LUA_INCDIR") |
| 361 | end | 363 | end |
| 362 | 364 | ||
| 363 | for _, e in ipairs{ [[\]], [[\include\]]} do | 365 | for _, e in ipairs{ |
| 366 | S([[\include\lua\$LUA_VERSION]]), | ||
| 367 | S([[\include\lua$LUA_SHORTV]]), | ||
| 368 | S([[\include\lua$LUA_VERSION]]), | ||
| 369 | S([[\include\$LUA_VERSION]]), | ||
| 370 | [[\include\]], | ||
| 371 | [[\]], | ||
| 372 | } do | ||
| 364 | print(" checking for "..directory..e.."\\lua.h") | 373 | print(" checking for "..directory..e.."\\lua.h") |
| 365 | if exists(directory..e.."\\lua.h") then | 374 | if exists(directory..e.."\\lua.h") then |
| 366 | vars.LUA_INCDIR = directory..e | 375 | vars.LUA_INCDIR = directory..e |
| @@ -610,6 +619,8 @@ else | |||
| 610 | datapath = os.getenv("ProgramW6432") .. [[\LuaRocks]] | 619 | datapath = os.getenv("ProgramW6432") .. [[\LuaRocks]] |
| 611 | end | 620 | end |
| 612 | vars.SYSCONFDIR = vars.SYSCONFDIR or vars.PREFIX | 621 | vars.SYSCONFDIR = vars.SYSCONFDIR or vars.PREFIX |
| 622 | vars.SYSCONFFILENAME = S"config-$LUA_VERSION.lua" | ||
| 623 | vars.CONFIG_FILE = vars.SYSCONFDIR.."\\"..vars.SYSCONFFILENAME | ||
| 613 | vars.TREE_ROOT = vars.TREE_ROOT or datapath..[[\systree]] | 624 | vars.TREE_ROOT = vars.TREE_ROOT or datapath..[[\systree]] |
| 614 | if SELFCONTAINED then | 625 | if SELFCONTAINED then |
| 615 | vars.SYSCONFDIR = vars.PREFIX | 626 | vars.SYSCONFDIR = vars.PREFIX |
| @@ -625,7 +636,7 @@ print(S[[ | |||
| 625 | 636 | ||
| 626 | Will configure LuaRocks with the following paths: | 637 | Will configure LuaRocks with the following paths: |
| 627 | LuaRocks : $FULL_PREFIX | 638 | LuaRocks : $FULL_PREFIX |
| 628 | Config file : $SYSCONFDIR\config.lua | 639 | Config file : $CONFIG_FILE |
| 629 | Rocktree : $TREE_ROOT | 640 | Rocktree : $TREE_ROOT |
| 630 | 641 | ||
| 631 | Lua interpreter : $LUA_BINDIR\$LUA_INTERPRETER | 642 | Lua interpreter : $LUA_BINDIR\$LUA_INTERPRETER |
| @@ -793,10 +804,11 @@ print() | |||
| 793 | print("Configuring LuaRocks...") | 804 | print("Configuring LuaRocks...") |
| 794 | 805 | ||
| 795 | -- Create a site-config file | 806 | -- Create a site-config file |
| 796 | if exists(S[[$LUADIR\luarocks\site_config.lua]]) then | 807 | local site_config = S("site_config_$LUA_VERSION"):gsub("%.","_") |
| 797 | exec(S[[RENAME "$LUADIR\luarocks\site_config.lua" site_config.lua.bak]]) | 808 | if exists(S([[$LUADIR\luarocks\]]..site_config..[[.lua]])) then |
| 809 | exec(S([[RENAME "$LUADIR\luarocks\]]..site_config..[[.lua" site_config.lua.bak]])) | ||
| 798 | end | 810 | end |
| 799 | local f = io.open(vars.LUADIR.."\\luarocks\\site_config.lua", "w") | 811 | local f = io.open(vars.LUADIR.."\\luarocks\\"..site_config..".lua", "w") |
| 800 | f:write(S[=[ | 812 | f:write(S[=[ |
| 801 | local site_config = {} | 813 | local site_config = {} |
| 802 | site_config.LUA_INCDIR=[[$LUA_INCDIR]] | 814 | site_config.LUA_INCDIR=[[$LUA_INCDIR]] |
| @@ -811,7 +823,7 @@ else | |||
| 811 | end | 823 | end |
| 812 | f:write(S[=[ | 824 | f:write(S[=[ |
| 813 | site_config.LUAROCKS_UNAME_M=[[$UNAME_M]] | 825 | site_config.LUAROCKS_UNAME_M=[[$UNAME_M]] |
| 814 | site_config.LUAROCKS_SYSCONFIG=[[$SYSCONFDIR\config.lua]] | 826 | site_config.LUAROCKS_SYSCONFIG=[[$CONFIG_FILE]] |
| 815 | site_config.LUAROCKS_ROCKS_TREE=[[$TREE_ROOT]] | 827 | site_config.LUAROCKS_ROCKS_TREE=[[$TREE_ROOT]] |
| 816 | site_config.LUAROCKS_PREFIX=[[$PREFIX]] | 828 | site_config.LUAROCKS_PREFIX=[[$PREFIX]] |
| 817 | site_config.LUAROCKS_DOWNLOADER=[[wget]] | 829 | site_config.LUAROCKS_DOWNLOADER=[[wget]] |
| @@ -820,24 +832,23 @@ site_config.LUAROCKS_MD5CHECKER=[[md5sum]] | |||
| 820 | if FORCE_CONFIG then | 832 | if FORCE_CONFIG then |
| 821 | f:write("site_config.LUAROCKS_FORCE_CONFIG=true\n") | 833 | f:write("site_config.LUAROCKS_FORCE_CONFIG=true\n") |
| 822 | end | 834 | end |
| 823 | if exists(vars.LUADIR.."\\luarocks\\site_config.lua.bak") then | 835 | if exists(vars.LUADIR.."\\luarocks\\"..site_config..".lua.bak") then |
| 824 | for line in io.lines(vars.LUADIR.."\\luarocks\\site_config.lua.bak", "r") do | 836 | for line in io.lines(vars.LUADIR.."\\luarocks\\"..site_config..".lua.bak", "r") do |
| 825 | f:write(line) | 837 | f:write(line) |
| 826 | f:write("\n") | 838 | f:write("\n") |
| 827 | end | 839 | end |
| 828 | exec(S[[DEL /F /Q "$LUADIR\luarocks\site_config.lua.bak"]]) | 840 | exec(S([[DEL /F /Q "$LUADIR\luarocks\]]..site_config..[[.lua.bak"]])) |
| 829 | end | 841 | end |
| 830 | f:write("return site_config\n") | 842 | f:write("return site_config\n") |
| 831 | f:close() | 843 | f:close() |
| 832 | print(S[[Created LuaRocks site-config file: $LUADIR\luarocks\site_config.lua]]) | 844 | print(S([[Created LuaRocks site-config file: $LUADIR\luarocks\]]..site_config..[[.lua]])) |
| 833 | 845 | ||
| 834 | -- create config file | 846 | -- create config file |
| 835 | vars.CONFIG_FILE = vars.SYSCONFDIR.."\\config.lua" | ||
| 836 | if not exists(vars.SYSCONFDIR) then | 847 | if not exists(vars.SYSCONFDIR) then |
| 837 | mkdir(vars.SYSCONFDIR) | 848 | mkdir(vars.SYSCONFDIR) |
| 838 | end | 849 | end |
| 839 | if exists(vars.CONFIG_FILE) then | 850 | if exists(vars.CONFIG_FILE) then |
| 840 | local nname = backup(vars.CONFIG_FILE, "config.bak") | 851 | local nname = backup(vars.CONFIG_FILE, vars.SYSCONFFILENAME..".bak") |
| 841 | print("***************") | 852 | print("***************") |
| 842 | print(S"*** WARNING *** LuaRocks config file already exists: '$CONFIG_FILE'. The old file has been renamed to '"..nname.."'") | 853 | print(S"*** WARNING *** LuaRocks config file already exists: '$CONFIG_FILE'. The old file has been renamed to '"..nname.."'") |
| 843 | print("***************") | 854 | print("***************") |
diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua index f5d7fb5e..31b3211a 100644 --- a/src/luarocks/cfg.lua +++ b/src/luarocks/cfg.lua | |||
| @@ -216,10 +216,10 @@ end | |||
| 216 | 216 | ||
| 217 | -- Load system configuration file | 217 | -- Load system configuration file |
| 218 | do | 218 | do |
| 219 | sys_config_file_default = sys_config_dir.."/config.lua" | 219 | sys_config_file_default = sys_config_dir.."/config-"..cfg.lua_version..".lua" |
| 220 | sys_config_file = load_config_file({ | 220 | sys_config_file = load_config_file({ |
| 221 | site_config.LUAROCKS_SYSCONFIG or sys_config_dir.."/config-"..cfg.lua_version..".lua", | 221 | site_config.LUAROCKS_SYSCONFIG or sys_config_file_default, |
| 222 | sys_config_file_default, | 222 | sys_config_dir.."/config.lua", |
| 223 | }) | 223 | }) |
| 224 | sys_config_ok = (sys_config_file ~= nil) | 224 | sys_config_ok = (sys_config_file ~= nil) |
| 225 | end | 225 | end |
| @@ -227,11 +227,11 @@ end | |||
| 227 | -- Load user configuration file (if allowed) | 227 | -- Load user configuration file (if allowed) |
| 228 | if not site_config.LUAROCKS_FORCE_CONFIG then | 228 | if not site_config.LUAROCKS_FORCE_CONFIG then |
| 229 | 229 | ||
| 230 | home_config_file_default = home_config_dir.."/config.lua" | 230 | home_config_file_default = home_config_dir.."/config-"..cfg.lua_version..".lua" |
| 231 | local list = { | 231 | local list = { |
| 232 | os.getenv("LUAROCKS_CONFIG_" .. version_suffix) or os.getenv("LUAROCKS_CONFIG"), | 232 | os.getenv("LUAROCKS_CONFIG_" .. version_suffix) or os.getenv("LUAROCKS_CONFIG"), |
| 233 | home_config_dir.."/config-"..cfg.lua_version..".lua", | ||
| 234 | home_config_file_default, | 233 | home_config_file_default, |
| 234 | home_config_dir.."/config.lua", | ||
| 235 | } | 235 | } |
| 236 | -- first entry might be a silent nil, check and remove if so | 236 | -- first entry might be a silent nil, check and remove if so |
| 237 | if not list[1] then table.remove(list, 1) end | 237 | if not list[1] then table.remove(list, 1) end |
