From bb88566e070d3b69d87c345ba9118401c195a7ee Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Thu, 18 Apr 2019 14:51:44 -0300 Subject: bin wrapper: revert from LUA_INIT back to -e Fixes #980. --- src/luarocks/fs/unix.lua | 3 ++- src/luarocks/fs/win32.lua | 27 ++++++++++++++------------- 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, ...) local argv = { fs.Q(dir.path(cfg.variables["LUA_BINDIR"], cfg.lua_interpreter)), + "-e", + fs.Q(table.concat(luainit, ";")), script and fs.Q(script) or "", ... } wrapper:write("#!/bin/sh\n\n") wrapper:write("LUAROCKS_SYSCONFDIR="..fs.Q(cfg.sysconfdir) .. " ") - wrapper:write("LUA_INIT="..fs.Q(table.concat(luainit, ";")).." ") wrapper:write("exec "..table.concat(argv, " ")..' "$@"\n') wrapper:close() 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, ...) end local lpath, lcpath = path.package_paths(deps_mode) - local lpath_var, lcpath_var = util.lua_path_variables() - local addctx + local luainit = { + "package.path="..util.LQ(lpath..";").."..package.path", + "package.cpath="..util.LQ(lcpath..";").."..package.cpath", + } + if target == "luarocks" or target == "luarocks-admin" then + luainit = { + "package.path="..util.LQ(package.path), + "package.cpath="..util.LQ(package.cpath), + } + end if name and version then - addctx = "local k,l,_=pcall(require,'luarocks.loader') _=k " .. + local addctx = "local k,l,_=pcall(require,'luarocks.loader') _=k " .. "and l.add_context('"..name.."','"..version.."')" + table.insert(luainit, addctx) end local argv = { fs.Qb(dir.path(cfg.variables["LUA_BINDIR"], cfg.lua_interpreter)), + "-e", + fs.Qb(table.concat(luainit, ";")), script and fs.Qb(script) or "", ... } @@ -163,16 +174,6 @@ function win32.wrap_script(script, target, deps_mode, name, version, ...) wrapper:write("@echo off\r\n") wrapper:write("setlocal\r\n") wrapper:write("set "..fs.Qb("LUAROCKS_SYSCONFDIR="..cfg.sysconfdir) .. "\r\n") - if target == "luarocks" or target == "luarocks-admin" then - wrapper:write("set "..fs.Qb(lpath_var.."="..package.path) .. "\r\n") - wrapper:write("set "..fs.Qb(lcpath_var.."="..package.cpath) .. "\r\n") - else - wrapper:write("set "..fs.Qb(lpath_var.."="..lpath..";%"..lpath_var.."%") .. "\r\n") - wrapper:write("set "..fs.Qb(lcpath_var.."="..lcpath..";%"..lcpath_var.."%") .. "\r\n") - end - if addctx then - wrapper:write("set "..fs.Qb("LUA_INIT=" .. addctx) .. "\r\n") - end wrapper:write(table.concat(argv, " ") .. " %*\r\n") wrapper:write("exit /b %ERRORLEVEL%\r\n") wrapper:close() -- cgit v1.2.3-55-g6feb