- local uname = io.popen(module:get_option("os_version_command") or "uname");
- if uname then
- version = uname:read("*a");
- else
- version = "an OS";
+ local os_version_command = module:get_option("os_version_command");
+ local ok, pposix = pcall(require, "util.pposix");
+ if not os_version_command and (ok and pposix and pposix.uname) then
+ version = pposix.uname().sysname;
+ end
+ if not version then
+ local uname = io.popen(os_version_command or "uname");
+ if uname then
+ version = uname:read("*a");
+ end
+ uname:close();