diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2019-03-28 23:39:21 -0300 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2019-04-01 16:26:30 -0300 |
| commit | 8283b817efd6fadad62794045d6bebad71e063cd (patch) | |
| tree | 274bddbf260903a68735dcc6ea360a44a214aa85 | |
| parent | fbb3431367a145e73bd038b0c779fd8355c997b4 (diff) | |
| download | luarocks-8283b817efd6fadad62794045d6bebad71e063cd.tar.gz luarocks-8283b817efd6fadad62794045d6bebad71e063cd.tar.bz2 luarocks-8283b817efd6fadad62794045d6bebad71e063cd.zip | |
init: ensure --reset resets lua wrapper and config file
| -rw-r--r-- | src/luarocks/cmd/init.lua | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/src/luarocks/cmd/init.lua b/src/luarocks/cmd/init.lua index 28c6f5d5..b1bb3b51 100644 --- a/src/luarocks/cmd/init.lua +++ b/src/luarocks/cmd/init.lua | |||
| @@ -31,7 +31,7 @@ Options for specifying rockspec data: | |||
| 31 | link to. | 31 | link to. |
| 32 | ]] | 32 | ]] |
| 33 | 33 | ||
| 34 | local function write_gitignore() | 34 | local function write_gitignore(entries) |
| 35 | local gitignore = "" | 35 | local gitignore = "" |
| 36 | local fd = io.open(".gitignore", "r") | 36 | local fd = io.open(".gitignore", "r") |
| 37 | if fd then | 37 | if fd then |
| @@ -41,7 +41,8 @@ local function write_gitignore() | |||
| 41 | end | 41 | end |
| 42 | 42 | ||
| 43 | fd = io.open(".gitignore", gitignore and "a" or "w") | 43 | fd = io.open(".gitignore", gitignore and "a" or "w") |
| 44 | for _, entry in ipairs({"/lua", "/lua_modules"}) do | 44 | for _, entry in ipairs(entries) do |
| 45 | entry = "/" .. entry | ||
| 45 | if not gitignore:find("\n"..entry.."\n", 1, true) then | 46 | if not gitignore:find("\n"..entry.."\n", 1, true) then |
| 46 | fd:write(entry.."\n") | 47 | fd:write(entry.."\n") |
| 47 | end | 48 | end |
| @@ -82,11 +83,27 @@ function init.command(flags, name, version) | |||
| 82 | util.printout("Checking your Lua installation ...") | 83 | util.printout("Checking your Lua installation ...") |
| 83 | local ok, err = deps.check_lua(cfg.variables) | 84 | local ok, err = deps.check_lua(cfg.variables) |
| 84 | if not ok then | 85 | if not ok then |
| 85 | util.warning(err) | 86 | return nil, err |
| 86 | end | 87 | end |
| 87 | 88 | ||
| 89 | local ext = cfg.wrapper_suffix | ||
| 90 | local luarocks_wrapper = "luarocks" .. ext | ||
| 91 | local lua_wrapper = "lua" .. ext | ||
| 92 | |||
| 93 | if flags["reset"] then | ||
| 94 | fs.delete(lua_wrapper) | ||
| 95 | for v in util.lua_versions() do | ||
| 96 | local config_file = dir.path(".luarocks", "config-"..v..".lua") | ||
| 97 | if v ~= cfg.lua_version then | ||
| 98 | fs.move(config_file, config_file .. "~") | ||
| 99 | else | ||
| 100 | fs.delete(config_file) | ||
| 101 | end | ||
| 102 | end | ||
| 103 | end | ||
| 104 | |||
| 88 | util.printout("Adding entries to .gitignore ...") | 105 | util.printout("Adding entries to .gitignore ...") |
| 89 | write_gitignore() | 106 | write_gitignore({ luarocks_wrapper, lua_wrapper, "lua_modules" }) |
| 90 | 107 | ||
| 91 | util.printout("Preparing ./.luarocks/ ...") | 108 | util.printout("Preparing ./.luarocks/ ...") |
| 92 | fs.make_dir(".luarocks") | 109 | fs.make_dir(".luarocks") |
| @@ -124,9 +141,7 @@ function init.command(flags, name, version) | |||
| 124 | fs.make_dir("lua_modules/lib/luarocks/rocks-" .. cfg.lua_version) | 141 | fs.make_dir("lua_modules/lib/luarocks/rocks-" .. cfg.lua_version) |
| 125 | local tree = dir.path(pwd, "lua_modules") | 142 | local tree = dir.path(pwd, "lua_modules") |
| 126 | 143 | ||
| 127 | local ext = cfg.wrapper_suffix | 144 | luarocks_wrapper = dir.path(".", luarocks_wrapper) |
| 128 | |||
| 129 | local luarocks_wrapper = "./luarocks" .. ext | ||
| 130 | if not fs.exists(luarocks_wrapper) then | 145 | if not fs.exists(luarocks_wrapper) then |
| 131 | util.printout("Preparing " .. luarocks_wrapper .. " ...") | 146 | util.printout("Preparing " .. luarocks_wrapper .. " ...") |
| 132 | fs.wrap_script(arg[0], "luarocks", "none", nil, nil, "--project-tree", tree) | 147 | fs.wrap_script(arg[0], "luarocks", "none", nil, nil, "--project-tree", tree) |
| @@ -134,18 +149,7 @@ function init.command(flags, name, version) | |||
| 134 | util.printout(luarocks_wrapper .. " already exists. Not overwriting it!") | 149 | util.printout(luarocks_wrapper .. " already exists. Not overwriting it!") |
| 135 | end | 150 | end |
| 136 | 151 | ||
| 137 | local lua_wrapper = "./lua" .. ext | 152 | lua_wrapper = dir.path(".", lua_wrapper) |
| 138 | |||
| 139 | if flags["reset"] then | ||
| 140 | fs.delete(lua_wrapper) | ||
| 141 | for v in util.lua_versions() do | ||
| 142 | if v ~= cfg.lua_version then | ||
| 143 | local config_file = dir.path(".luarocks", "config-"..v..".lua") | ||
| 144 | fs.move(config_file, config_file .. "~") | ||
| 145 | end | ||
| 146 | end | ||
| 147 | end | ||
| 148 | |||
| 149 | if not fs.exists(lua_wrapper) then | 153 | if not fs.exists(lua_wrapper) then |
| 150 | util.printout("Preparing " .. lua_wrapper .. " for version " .. cfg.lua_version .. "...") | 154 | util.printout("Preparing " .. lua_wrapper .. " for version " .. cfg.lua_version .. "...") |
| 151 | path.use_tree(tree) | 155 | path.use_tree(tree) |
