diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2018-10-30 10:04:23 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-10-30 10:04:23 -0300 |
| commit | 760ad7c98a4a322b1f028ea9585cd17c5b74b2e2 (patch) | |
| tree | cde11b0975132e82062417c2a0057b13c7b6df4d /binary | |
| parent | 0c534c71465474b92710a2951bf15370fcc8c663 (diff) | |
| download | luarocks-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-x | binary/all_in_one | 12 |
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") | |||
| 50 | local manif = require("luarocks.manif") | 50 | local manif = require("luarocks.manif") |
| 51 | local queries = require("luarocks.queries") | 51 | local queries = require("luarocks.queries") |
| 52 | local persist = require("luarocks.persist") | 52 | local persist = require("luarocks.persist") |
| 53 | local 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 = { |
