if level < 1 or level > 4 then
e2lib.log(1, "Internal error: invalid log level")
end
+
if not msg then
e2lib.log(1, "Internal error: calling log() without log message")
end
+
local log_prefix = "[" .. level .. "] "
- -- remove end of line if it exists
- if msg:match("\n$") then
- msg = msg:sub(1, msg:len() - 1)
+
+ if string.sub(msg, -1) ~= "\n" then
+ msg = msg.."\n"
end
if e2lib.globals.debuglogfile then
-
-- write out buffered messages first
for _,m in ipairs(e2lib.globals.debuglogfilebuffer) do
eio.fwrite(e2lib.globals.debuglogfile, m)
end
e2lib.globals.debuglogfilebuffer = {}
- eio.fwrite(e2lib.globals.debuglogfile, log_prefix .. msg .. "\n")
+ eio.fwrite(e2lib.globals.debuglogfile, log_prefix .. msg)
else
- table.insert(e2lib.globals.debuglogfilebuffer, log_prefix .. msg .. "\n")
+ table.insert(e2lib.globals.debuglogfilebuffer, log_prefix .. msg)
end
+
if e2lib.getlog(level) then
if e2lib.globals.log_debug then
- io.stderr:write(log_prefix)
+ console.eout(log_prefix .. msg)
+ else
+ console.eout(msg)
end
- io.stderr:write(msg .. "\n")
end
end
-- Parsing of command-line options
local e2option = {}
+local buildconfig = require("buildconfig")
+local console = require("console")
local e2lib = require("e2lib")
local plugin = require("plugin")
local err = require("err")
local strict = require("strict")
local tools = require("tools")
-local buildconfig = require("buildconfig")
local options = {}
local aliases = {}
e2option.flag("version", "show version number",
function()
- print(buildconfig.VERSIONSTRING)
+ console.infonl(buildconfig.VERSIONSTRING)
plugin.print_descriptions()
e2lib.finish(0)
end,
e2option.flag("licence", "show licence information",
function()
- print(e2lib.globals._version)
- print()
- print(e2lib.globals._licence)
+ console.infonl(e2lib.globals._version)
+ console.infonl()
+ console.infonl(e2lib.globals._licence)
e2lib.finish(0)
end,
category)
-- @return This function does not return.
function e2option.usage(rc)
local out
+ local m = string.format("usage: %s --help for more information\n",
+ toolname())
+
if rc == 0 then
- out = io.stdout
+ console.info(m)
else
- out = io.stderr
+ console.eout(m)
end
- local m = string.format("usage: %s --help for more information\n",
- toolname())
- out:write(m)
e2lib.finish(rc)
end
]]
local plugin = {}
+local console = require("console")
local err = require("err")
local e2lib = require("e2lib")
local strict = require("strict")
end
--- print a description for each plugin. This is for use with the --version
--- option. This version always succeeds.
--- @return nil
+-- option. This function always succeeds.
function plugin.print_descriptions()
for i,pd in ipairs(plugins) do
- print(pd.description)
+ console.infonl(pd.description)
end
end
along with this program. If not, see <http://www.gnu.org/licenses/>.
]]
+local buildconfig = require("buildconfig")
+local console = require("console")
local e2lib = require("e2lib")
local e2option = require("e2option")
local err = require("err")
-local buildconfig = require("buildconfig")
local function e2(arg)
local rc, re = e2lib.init()
e2option.flag("prefix", "print installation prefix",
function()
- print(buildconfig.PREFIX)
- os.exit(0)
+ console.infonl(buildconfig.PREFIX)
+ e2lib.finish(0)
end)
local root = e2lib.locate_project_root()
along with this program. If not, see <http://www.gnu.org/licenses/>.
]]
+local console = require("console")
local e2lib = require("e2lib")
local e2tool = require("e2tool")
local e2build = require("e2build")
if not bid then
return false, re
end
- print(string.format("%-20s [%s]", r, bid))
+ console.infof("%-20s [%s]\n", r, bid)
end
return true
along with this program. If not, see <http://www.gnu.org/licenses/>.
]]
+local console = require("console")
local e2lib = require("e2lib")
local e2tool = require("e2tool")
local e2option = require("e2option")
return false, re
end
- for i = 1, #dep do
- print(dep[i])
+ for _,d in ipairs(dep) do
+ console.infonl(d)
end
return true
along with this program. If not, see <http://www.gnu.org/licenses/>.
]]
+local console = require("console")
local e2lib = require("e2lib")
local e2tool = require("e2tool")
local e2option = require("e2option")
local d = e2tool.dsort(info)
if d then
- for i = 1, #d do print(d[i]) end
+ for _,dep in ipairs(d) do
+ console.infonl(dep)
+ end
end
return true
along with this program. If not, see <http://www.gnu.org/licenses/>.
]]
+local console = require("console")
local e2lib = require("e2lib")
local e2tool = require("e2tool")
local err = require("err")
end
table.sort(sorted)
- print(header)
+ console.infonl(header)
for _,displayname in ipairs(sorted) do
- print(string.format(" %s", displayname))
+ console.infof(" %s\n", displayname)
end
- print()
+ console.infonl()
return true
end
-- ls-project - show project information -*- Lua -*-
+local console = require("console")
local e2lib = require("e2lib")
local e2tool = require("e2tool")
local err = require("err")
table.sort(sources)
local function pempty(s1, s2, s3)
- print(string.format(" %s %s %s", s1, s2, s3))
+ console.infof(" %s %s %s\n", s1, s2, s3)
end
local function p0(s1, s2, v)
- print(string.format("%s", v))
+ console.infonl(v)
end
local function p1(s1, s2, v)
- print(string.format(" o--%s", v))
+ console.infof(" o--%s\n", v)
end
local function p2(s1, s2, v)
- print(string.format(" %s o--%s", s1, v))
+ console.infof(" %s o--%s\n", s1, v)
end
local function p3(s1, s2, k, v)
if v then
v = v:sub(2)
end
- print(string.format(" %s %s o--%-10s = %s", s1, s2, k, v))
+ console.infof(" %s %s o--%-10s = %s\n", s1, s2, k, v)
else
- print(string.format(" %s %s o--%s", s1, s2, k))
+ console.infof(" %s %s o--%s\n", s1, s2, k)
end
end
i = i + 1
if l then
if (l:len() + v:len() + 1) > col then
- print(l)
+ console.infonl(l)
l = nil
end
end
header = header2
end
if l then
- print(l)
+ console.infonl(l)
end
end
if opts.dot or opts["dot-sources"] then
local arrow = "->"
- print("digraph \"" .. info.project.name .. "\" {")
+ console.infof("digraph \"%s\" {\n", info.project.name)
for _, r in pairs(results) do
local res = info.results[r]
local deps = e2tool.dlist(info, r)
if #deps > 0 then
for _, dep in pairs(deps) do
if opts.swap then
- print(string.format(" \"%s\" %s \"%s\"", dep, arrow, r))
+ console.infof(" \"%s\" %s \"%s\"\n", dep, arrow, r)
else
- print(string.format(" \"%s\" %s \"%s\"", r, arrow, dep))
+ console.infof(" \"%s\" %s \"%s\"\n", r, arrow, dep)
end
end
else
- print(string.format(" \"%s\"", r))
+ console.infof(" \"%s\"\n", r)
end
if opts["dot-sources"] then
for _, src in ipairs(res.sources) do
if opts.swap then
- print(string.format(" \"%s-src\" %s \"%s\"", src, arrow, r))
+ console.infof(" \"%s-src\" %s \"%s\"\n", src, arrow, r)
else
- print(string.format(" \"%s\" %s \"%s-src\"", r, arrow, src))
+ console.infof(" \"%s\" %s \"%s-src\"\n", r, arrow, src)
end
end
end
end
if opts["dot-sources"] then
for _, s in pairs(sources) do
- print(string.format(" \"%s-src\" [label=\"%s\", shape=box]", s, s))
+ console.infof(" \"%s-src\" [label=\"%s\", shape=box]\n", s, s)
end
end
- print("}")
- e2lib.finish()
+ console.infonl("}")
+ e2lib.finish(0)
end
--------------- project name
p3(s1, s2, k, tostring(ce.flags[k]))
end
end
- print(" |")
+ console.infonl(" |")
--------------------- sources
local s1 = "|"
-- playground - enter existing chroot(1) environment -*- Lua -*-
+local console = require("console")
local e2lib = require("e2lib")
local e2tool = require("e2tool")
local e2build = require("e2build")
return false, err.new("playground does not exist")
end
if opts.showpath then
- print(info.results[r].build_config.c)
+ console.infonl(info.results[r].build_config.c)
e2lib.finish(0)
end
-- interactive mode, use bash profile