-- std pkgit functions local M = {} function M.run(items, verbose) local cmd = io.popen('set -e &&\n'..table.concat(items,"&&\n")) if cmd == nil then return 1 end if verbose then print(cmd:read("*a")) end local rc = {cmd:close()} if rc[1] then return 0 else return 1 end end function M.join(t1, ...) local new = t1 local tables = { ... } for _, new_table in ipairs(tables) do for index, val in ipairs(new_table) do if val ~= nil then new[index] = val end end end return new end function M.exists(s) local file = io.open(s, "r") if file ~= nil then io.close(file) return true else return false end end function M.autodetect(builds, final_dir) for k, system in pairs(builds) do for i, file in pairs(system.files) do if M.exists(final_dir.."/"..file) then return system.step end end end end function M.destdir(name, version) if version == nil then version = "HEAD" end return cfg.dirs.src.."/"..name.."/"..version end return M