aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2019-04-18 14:51:44 -0300
committerHisham Muhammad <hisham@gobolinux.org>2019-04-19 16:50:11 -0300
commitbb88566e070d3b69d87c345ba9118401c195a7ee (patch)
treef3096d949dcd78d0a84d65d9bd7e4d4a49e2f0f7
parente70441f70ab49f4f98b4c6530fca50e207554b2b (diff)
downloadluarocks-bb88566e070d3b69d87c345ba9118401c195a7ee.tar.gz
luarocks-bb88566e070d3b69d87c345ba9118401c195a7ee.tar.bz2
luarocks-bb88566e070d3b69d87c345ba9118401c195a7ee.zip
bin wrapper: revert from LUA_INIT back to -e
Fixes #980.
-rw-r--r--src/luarocks/fs/unix.lua3
-rw-r--r--src/luarocks/fs/win32.lua27
2 files changed, 16 insertions, 14 deletions
diff --git a/src/luarocks/fs/unix.lua b/src/luarocks/fs/unix.lua
index 075581e4..e4f14d52 100644
--- a/src/luarocks/fs/unix.lua
+++ b/src/luarocks/fs/unix.lua
@@ -97,13 +97,14 @@ function unix.wrap_script(script, target, deps_mode, name, version, ...)
97 97
98 local argv = { 98 local argv = {
99 fs.Q(dir.path(cfg.variables["LUA_BINDIR"], cfg.lua_interpreter)), 99 fs.Q(dir.path(cfg.variables["LUA_BINDIR"], cfg.lua_interpreter)),
100 "-e",
101 fs.Q(table.concat(luainit, ";")),
100 script and fs.Q(script) or "", 102 script and fs.Q(script) or "",
101 ... 103 ...
102 } 104 }
103 105
104 wrapper:write("#!/bin/sh\n\n") 106 wrapper:write("#!/bin/sh\n\n")
105 wrapper:write("LUAROCKS_SYSCONFDIR="..fs.Q(cfg.sysconfdir) .. " ") 107 wrapper:write("LUAROCKS_SYSCONFDIR="..fs.Q(cfg.sysconfdir) .. " ")
106 wrapper:write("LUA_INIT="..fs.Q(table.concat(luainit, ";")).." ")
107 wrapper:write("exec "..table.concat(argv, " ")..' "$@"\n') 108 wrapper:write("exec "..table.concat(argv, " ")..' "$@"\n')
108 wrapper:close() 109 wrapper:close()
109 110
diff --git a/src/luarocks/fs/win32.lua b/src/luarocks/fs/win32.lua
index f66466fc..71b22e35 100644
--- a/src/luarocks/fs/win32.lua
+++ b/src/luarocks/fs/win32.lua
@@ -146,16 +146,27 @@ function win32.wrap_script(script, target, deps_mode, name, version, ...)
146 end 146 end
147 147
148 local lpath, lcpath = path.package_paths(deps_mode) 148 local lpath, lcpath = path.package_paths(deps_mode)
149 local lpath_var, lcpath_var = util.lua_path_variables()
150 149
151 local addctx 150 local luainit = {
151 "package.path="..util.LQ(lpath..";").."..package.path",
152 "package.cpath="..util.LQ(lcpath..";").."..package.cpath",
153 }
154 if target == "luarocks" or target == "luarocks-admin" then
155 luainit = {
156 "package.path="..util.LQ(package.path),
157 "package.cpath="..util.LQ(package.cpath),
158 }
159 end
152 if name and version then 160 if name and version then
153 addctx = "local k,l,_=pcall(require,'luarocks.loader') _=k " .. 161 local addctx = "local k,l,_=pcall(require,'luarocks.loader') _=k " ..
154 "and l.add_context('"..name.."','"..version.."')" 162 "and l.add_context('"..name.."','"..version.."')"
163 table.insert(luainit, addctx)
155 end 164 end
156 165
157 local argv = { 166 local argv = {
158 fs.Qb(dir.path(cfg.variables["LUA_BINDIR"], cfg.lua_interpreter)), 167 fs.Qb(dir.path(cfg.variables["LUA_BINDIR"], cfg.lua_interpreter)),
168 "-e",
169 fs.Qb(table.concat(luainit, ";")),
159 script and fs.Qb(script) or "", 170 script and fs.Qb(script) or "",
160 ... 171 ...
161 } 172 }
@@ -163,16 +174,6 @@ function win32.wrap_script(script, target, deps_mode, name, version, ...)
163 wrapper:write("@echo off\r\n") 174 wrapper:write("@echo off\r\n")
164 wrapper:write("setlocal\r\n") 175 wrapper:write("setlocal\r\n")
165 wrapper:write("set "..fs.Qb("LUAROCKS_SYSCONFDIR="..cfg.sysconfdir) .. "\r\n") 176 wrapper:write("set "..fs.Qb("LUAROCKS_SYSCONFDIR="..cfg.sysconfdir) .. "\r\n")
166 if target == "luarocks" or target == "luarocks-admin" then
167 wrapper:write("set "..fs.Qb(lpath_var.."="..package.path) .. "\r\n")
168 wrapper:write("set "..fs.Qb(lcpath_var.."="..package.cpath) .. "\r\n")
169 else
170 wrapper:write("set "..fs.Qb(lpath_var.."="..lpath..";%"..lpath_var.."%") .. "\r\n")
171 wrapper:write("set "..fs.Qb(lcpath_var.."="..lcpath..";%"..lcpath_var.."%") .. "\r\n")
172 end
173 if addctx then
174 wrapper:write("set "..fs.Qb("LUA_INIT=" .. addctx) .. "\r\n")
175 end
176 wrapper:write(table.concat(argv, " ") .. " %*\r\n") 177 wrapper:write(table.concat(argv, " ") .. " %*\r\n")
177 wrapper:write("exit /b %ERRORLEVEL%\r\n") 178 wrapper:write("exit /b %ERRORLEVEL%\r\n")
178 wrapper:close() 179 wrapper:close()