aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThijs Schreijer <thijs@thijsschreijer.nl>2013-12-02 14:09:35 +0100
committerThijs Schreijer <thijs@thijsschreijer.nl>2013-12-02 14:09:35 +0100
commit52b6e37e53c7f99134f3b2aa9c07595221c1f7b2 (patch)
treec04cbea4d1102060c169a02267c349d3484a7f7a
parentaeff1458076fdefccea990a6d62139084ee605e2 (diff)
downloadluarocks-52b6e37e53c7f99134f3b2aa9c07595221c1f7b2.tar.gz
luarocks-52b6e37e53c7f99134f3b2aa9c07595221c1f7b2.tar.bz2
luarocks-52b6e37e53c7f99134f3b2aa9c07595221c1f7b2.zip
Commandline options where silently ignored if config.lua already existed. Now a backup is made and the options are written.
Additional paths to the local tree are now listed after installing
Diffstat (limited to '')
-rw-r--r--install.bat98
1 files changed, 64 insertions, 34 deletions
diff --git a/install.bat b/install.bat
index 1e4763fc..8373f856 100644
--- a/install.bat
+++ b/install.bat
@@ -88,6 +88,19 @@ local function permission()
88 return exec("net session >nul 2>&1") -- fails if not admin 88 return exec("net session >nul 2>&1") -- fails if not admin
89end 89end
90 90
91-- rename file (full path) to backup (name only), appending number if required
92-- returns the new name (name only)
93local function backup(filename, backupname)
94 local path = filename:match("(.+)%\\.-$").."\\"
95 local nname = backupname
96 local i = 0
97 while exists(path..nname) do
98 i = i + 1
99 nname = backupname..tostring(i)
100 end
101 exec([[REN "]]..filename..[[" "]]..nname..[[" > NUL]])
102 return nname
103end
91 104
92-- interpolate string with values from 'vars' table 105-- interpolate string with values from 'vars' table
93local function S (tmpl) 106local function S (tmpl)
@@ -699,51 +712,56 @@ vars.CONFIG_FILE = vars.SYSCONFDIR.."\\config.lua"
699if not exists(vars.SYSCONFDIR) then 712if not exists(vars.SYSCONFDIR) then
700 mkdir(vars.SYSCONFDIR) 713 mkdir(vars.SYSCONFDIR)
701end 714end
702if not exists(vars.CONFIG_FILE) then 715if exists(vars.CONFIG_FILE) then
703 local f = io.open(vars.CONFIG_FILE, "w") 716 local nname = backup(vars.CONFIG_FILE, "config.bak")
704 f:write([=[ 717 print("***************")
718 print(S"*** WARNING *** LuaRocks config file already exists: '$CONFIG_FILE'. The old file has been renamed to '"..nname.."'")
719 print("***************")
720end
721local f = io.open(vars.CONFIG_FILE, "w")
722f:write([=[
705rocks_servers = { 723rocks_servers = {
706 [[http://luarocks.org/repositories/rocks]] 724 [[http://luarocks.org/repositories/rocks]]
707} 725}
708rocks_trees = { 726rocks_trees = {
709]=]) 727]=])
710 if FORCE_CONFIG then 728if FORCE_CONFIG then
711 f:write(" home..[[/luarocks]],\n") 729 f:write(" home..[[/luarocks]],\n")
712 end 730end
713 f:write(S" [[$ROCKS_TREE]]\n") 731f:write(S" [[$ROCKS_TREE]]\n")
714 f:write("}\n") 732f:write("}\n")
715 if vars.SCRIPTS_DIR then 733if vars.SCRIPTS_DIR then
716 f:write(S"scripts_dir=[[$SCRIPTS_DIR]]\n") 734 f:write(S"scripts_dir=[[$SCRIPTS_DIR]]\n")
717 end 735end
718 f:write("variables = {\n") 736f:write("variables = {\n")
719 if USE_MINGW and vars.LUA_RUNTIME == "MSVCRT" then 737if USE_MINGW and vars.LUA_RUNTIME == "MSVCRT" then
720 f:write(" MSVCRT = 'm', -- make MinGW use MSVCRT.DLL as runtime\n") 738 f:write(" MSVCRT = 'm', -- make MinGW use MSVCRT.DLL as runtime\n")
721 else
722 f:write(" MSVCRT = '"..vars.LUA_RUNTIME.."',\n")
723 end
724 f:write(S" LUALIB = '$LUA_LIBNAME'\n")
725 f:write("}\n")
726 f:write("verbose = false -- set to 'true' to enable verbose output\n")
727 f:close()
728 print(S"Created LuaRocks config file: $CONFIG_FILE")
729else 739else
730 print(S"LuaRocks config file already exists: $CONFIG_FILE") 740 f:write(" MSVCRT = '"..vars.LUA_RUNTIME.."',\n")
731end 741end
742f:write(S" LUALIB = '$LUA_LIBNAME'\n")
743f:write("}\n")
744f:write("verbose = false -- set to 'true' to enable verbose output\n")
745f:close()
746
747print(S"Created LuaRocks config file: $CONFIG_FILE")
748
732 749
733print() 750print()
734print("Creating rocktrees...") 751print("Creating rocktrees...")
735if not exists(vars.ROCKS_TREE) then 752if not exists(vars.ROCKS_TREE) then
736 mkdir(vars.ROCKS_TREE) 753 mkdir(vars.ROCKS_TREE)
737 print(S[[Created rocktree: "$ROCKS_TREE"]]) 754 print(S[[Created system rocktree : "$ROCKS_TREE"]])
738else 755else
739 print(S[[Rocktree exists: "$ROCKS_TREE"]]) 756 print(S[[System rocktree exists : "$ROCKS_TREE"]])
740end 757end
741local APPDATA = os.getenv("APPDATA") 758
742if not exists(APPDATA.."\\luarocks") then 759vars.LOCAL_TREE = os.getenv("APPDATA")..[[\LuaRocks]]
743 mkdir(APPDATA.."\\luarocks") 760if not exists(vars.LOCAL_TREE) then
744 print([[Created rocktree: "]]..APPDATA..[[\luarocks"]]) 761 mkdir(vars.LOCAL_TREE)
762 print(S[[Created local user rocktree: "$LOCAL_TREE"]])
745else 763else
746 print([[Rocktree exists: "]]..APPDATA..[[\luarocks"]]) 764 print(S[[Local user rocktree exists : "$LOCAL_TREE"]])
747end 765end
748 766
749-- Load registry information 767-- Load registry information
@@ -768,12 +786,24 @@ exec( S[[del "$FULL_PREFIX\pe-parser.lua" > nul]] )
768-- *********************************************************** 786-- ***********************************************************
769 787
770print(S[[ 788print(S[[
789
771*** LuaRocks is installed! *** 790*** LuaRocks is installed! ***
772 791
773 You may want to add the following elements to your paths; 792You may want to add the following elements to your paths;
774PATH : $LUA_BINDIR;$FULL_PREFIX 793Lua interpreter;
775LUA_PATH : $ROCKS_TREE\share\lua\$LUA_VERSION\?.lua;$ROCKS_TREE\share\lua\$LUA_VERSION\?\init.lua 794 PATH : $LUA_BINDIR
776LUA_CPATH: $ROCKS_TREE\lib\lua\$LUA_VERSION\?.dll 795 PATHEXT : .LUA
796LuaRocks;
797 PATH : $FULL_PREFIX
798 LUA_PATH : $FULL_PREFIX\lua\?.lua;$FULL_PREFIX\lua\?\init.lua
799Local user rocktree (Note: %APPDATA% is user dependent);
800 PATH : %APPDATA%\LuaRock\bin
801 LUA_PATH : %APPDATA%\LuaRocks\share\lua\$LUA_VERSION\?.lua;%APPDATA%\LuaRocks\share\lua\$LUA_VERSION\?\init.lua
802 LUA_CPATH: %APPDATA%\LuaRocks\lib\lua\$LUA_VERSION\?.dll
803System rocktree
804 PATH : $ROCKS_TREE\bin
805 LUA_PATH : $ROCKS_TREE\share\lua\$LUA_VERSION\?.lua;$ROCKS_TREE\share\lua\$LUA_VERSION\?\init.lua
806 LUA_CPATH: $ROCKS_TREE\lib\lua\$LUA_VERSION\?.dll
777 807
778]]) 808]])
779os.exit(0) 809os.exit(0)