aboutsummaryrefslogtreecommitdiff
path: root/binary
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2018-10-30 10:04:23 -0300
committerGitHub <noreply@github.com>2018-10-30 10:04:23 -0300
commit760ad7c98a4a322b1f028ea9585cd17c5b74b2e2 (patch)
treecde11b0975132e82062417c2a0057b13c7b6df4d /binary
parent0c534c71465474b92710a2951bf15370fcc8c663 (diff)
downloadluarocks-760ad7c98a4a322b1f028ea9585cd17c5b74b2e2.tar.gz
luarocks-760ad7c98a4a322b1f028ea9585cd17c5b74b2e2.tar.bz2
luarocks-760ad7c98a4a322b1f028ea9585cd17c5b74b2e2.zip
core.sysdetect: add fork-free OS detection (#938)
Detect operating system and architecture without forking subprocesses, doing `file`-like detection reading data from well-known system executables.
Diffstat (limited to 'binary')
-rwxr-xr-xbinary/all_in_one12
1 files changed, 2 insertions, 10 deletions
diff --git a/binary/all_in_one b/binary/all_in_one
index 01758758..43a18a3b 100755
--- a/binary/all_in_one
+++ b/binary/all_in_one
@@ -50,6 +50,7 @@ local path = require("luarocks.path")
50local manif = require("luarocks.manif") 50local manif = require("luarocks.manif")
51local queries = require("luarocks.queries") 51local queries = require("luarocks.queries")
52local persist = require("luarocks.persist") 52local persist = require("luarocks.persist")
53local sysdetect = require("luarocks.core.sysdetect")
53 54
54-------------------------------------------------------------------------------- 55--------------------------------------------------------------------------------
55 56
@@ -144,16 +145,7 @@ local function write_hardcoded_module(dir)
144 local processor = if_platform("windows", "x86") 145 local processor = if_platform("windows", "x86")
145 146
146 if if_platform("unix", true) then 147 if if_platform("unix", true) then
147 system = util.popen_read("uname -s") 148 system, processor = sysdetect.detect()
148 processor = util.popen_read("uname -m")
149
150 if processor:match("i[%d]86") then
151 processor = "x86"
152 elseif processor:match("amd64") or processor:match("x86_64") then
153 processor = "x86_64"
154 elseif processor:match("Power Macintosh") then
155 processor = "powerpc"
156 end
157 end 149 end
158 150
159 local hardcoded = { 151 local hardcoded = {