From: Tobias Ulmer Date: Wed, 8 Aug 2012 12:39:34 +0000 (+0200) Subject: Require err module, change new_error() to err.new() X-Git-Tag: e2factory-2.3.13rc1~181 X-Git-Url: https://git.e2factory.org/?a=commitdiff_plain;h=b63b2fe836c42f26adcff7b0119a245c866b7c85;p=e2factory.git Require err module, change new_error() to err.new() Signed-off-by: Tobias Ulmer --- diff --git a/generic/cache.lua b/generic/cache.lua index 61b35cc..ead3ba4 100644 --- a/generic/cache.lua +++ b/generic/cache.lua @@ -29,6 +29,7 @@ local cache = {} require("e2lib") local transport = require("transport") local url = require("url") +local err = require("err") --- cache -- @class table @@ -99,7 +100,7 @@ function cache.new_cache_entry(c, server, remote_url, flags, alias_server, ((remote_url and flags) and (alias_server and alias_location))) local ru, cu local rc, re - local e = new_error("error setting up cache entry") + local e = err.new("error setting up cache entry") local ce = {} local cache_url = nil if not remote_url then @@ -165,7 +166,7 @@ function cache.ce_by_url(c, url) return ce, nil end end - return nil, new_error("no cache entry for url: %s", url) + return nil, err.new("no cache entry for url: %s", url) end --- get cache entry by server @@ -179,7 +180,7 @@ function cache.ce_by_server(c, server) return ce, nil end end - return nil, new_error("no cache entry for server: %s", server) + return nil, err.new("no cache entry for server: %s", server) end --- check if server is valid @@ -191,7 +192,7 @@ function cache.valid_server(c, server) if cache.ce_by_server(c, server) then return true else - return false, new_error("not a valid server: %s", server) + return false, err.new("not a valid server: %s", server) end end @@ -294,7 +295,7 @@ end -- @return an error object on failure function cache.fetch_file(c, server, location, destdir, destname, flags) local rc, re - local e = new_error("cache: fetching file failed") + local e = err.new("cache: fetching file failed") local ce, re = cache.ce_by_server(c, server) if not ce then return false, e:cat(re) @@ -344,7 +345,7 @@ end -- @return an error object on failure function cache.push_file(c, sourcefile, server, location, flags) local rc, re - local e = new_error("error pushing file to cache/server") + local e = err.new("error pushing file to cache/server") local ce, re = cache.ce_by_server(c, server) if not ce then return false, e:cat(re) @@ -382,7 +383,7 @@ end -- @return bool -- @return an error object on failure function cache.writeback(c, server, location, flags) - local e = new_error("writeback failed") + local e = err.new("writeback failed") local rc, re local ce, re = cache.ce_by_server(c, server) if not ce then @@ -413,7 +414,7 @@ end -- @return bool -- @return an error object on failure function cache.cache_file(c, server, location, flags) - local e = new_error("caching file failed: %s:%s", server, location) + local e = err.new("caching file failed: %s:%s", server, location) local rc, re local ce, re = cache.ce_by_server(c, server) if not ce then @@ -454,7 +455,7 @@ end -- @return an error object on failure function cache.file_path(c, server, location, flags) local rc, re - local e = new_error("providing file path failed") + local e = err.new("providing file path failed") -- get the cache entry local ce, re = cache.ce_by_server(c, server) if not ce then @@ -486,7 +487,7 @@ end -- @return an error object on failure function cache.set_writeback(c, server, value) if type(value) ~= "boolean" then - return false, new_error( + return false, err.new( "cache.set_writeback(): value is not boolean") end local rc, re = cache.valid_server(c, server) diff --git a/generic/e2lib.lua b/generic/e2lib.lua index c083a1a..72abbba 100644 --- a/generic/e2lib.lua +++ b/generic/e2lib.lua @@ -29,7 +29,7 @@ module("e2lib", package.seeall) require("strict") require("buildconfig") local lock = require("lock") -require("err") +local err = require("err") require("plugin") local tools = require("tools") local cache = require("cache") @@ -176,7 +176,7 @@ end function init2() local rc, re - local e = new_error("initializing globals (step2)") + local e = err.new("initializing globals (step2)") -- get the global configuration local config = get_global_config() @@ -552,7 +552,7 @@ function log(level, msg) end function rotate_log(file) - local e = new_error("rotating logfile: %s", file) + local e = err.new("rotating logfile: %s", file) local rc, re local logdir = dirname(file) local logfile = basename(file) @@ -730,7 +730,7 @@ function tartype_by_suffix(filename) elseif filename:match("tar$") then tartype = "tar" else - e = new_error("unknown suffix for filename: %s", filename) + e = err.new("unknown suffix for filename: %s", filename) return false, e end return tartype @@ -765,11 +765,11 @@ end function read_line(path) local f, msg = io.open(path) if not f then - return nil, new_error("%s", msg) + return nil, err.new("%s", msg) end local l, msg = f:read("*l") if not l then - return nil, new_error("%s", msg) + return nil, err.new("%s", msg) end f:close() return l @@ -885,7 +885,7 @@ function read_global_config(e2_config_file) end function write_extension_config(extensions) - local e = new_error("writing extensions config: %s", globals.extension_config) + local e = err.new("writing extensions config: %s", globals.extension_config) local f, re = io.open(globals.extension_config, "w") if not f then return false, e:cat(re) @@ -909,7 +909,7 @@ end -- @return the extension configuration table -- @return an error object on failure function read_extension_config() - local e = new_error("reading extension config file: %s", + local e = err.new("reading extension config file: %s", globals.extension_config) local rc = e2util.exists(globals.extension_config) if not rc then @@ -1243,7 +1243,7 @@ function dofile_protected(path, gtable, allownewdefs) end function dofile2(path, gtable) - local e = new_error("error loading config file: %s", path) + local e = err.new("error loading config file: %s", path) local chunk, msg = loadfile(path) if not chunk then return false, e:cat(msg) @@ -1265,7 +1265,7 @@ end function locate_project_root(path) local rc, re - local e = new_error("checking for project directory failed") + local e = err.new("checking for project directory failed") local save_path = e2util.cwd() if not save_path then return nil, e:append("cannot get current working directory") @@ -1304,7 +1304,7 @@ function locate_project_root(path) end end chdir(save_path) - return nil, new_error("not in a project directory") + return nil, err.new("not in a project directory") end -- parse version files: @@ -1570,7 +1570,7 @@ end -- @return an error object on failure function git(gitdir, subtool, args) local rc, re - local e = new_error("calling git failed") + local e = err.new("calling git failed") if not gitdir then gitdir = ".git" end @@ -1745,7 +1745,7 @@ end function sha1sum(path) assert(type(path) == "string") - local e = new_error("calculating SHA1 checksum failed") + local e = err.new("calculating SHA1 checksum failed") local sha1sum, re = tools.get_tool("sha1sum") if not sha1sum then @@ -1808,7 +1808,7 @@ end -- @return an error object on failure function get_sys_arch() local rc, re - local e = new_error("getting host system architecture failed") + local e = err.new("getting host system architecture failed") local uname = tools.get_tool("uname") local cmd = string.format("%s -m", e2lib.shquote(uname)) local p, msg = io.popen(cmd, "r") @@ -1876,11 +1876,11 @@ end function read_file(file) local f, msg = io.open(file, "r") if not f then - return nil, new_error("%s", msg) + return nil, err.new("%s", msg) end local s, msg = f:read("*a") if not s then - return nil, new_error("%s", msg) + return nil, err.new("%s", msg) end f:close() return s, nil @@ -1891,7 +1891,7 @@ end -- @return string: the file content -- @return an error object on failure function read_template(file) - local e = new_error("error reading template file") + local e = err.new("error reading template file") local filename = string.format("%s/%s", globals.template_path, file) local template, re = read_file(filename) if not template then @@ -1926,7 +1926,7 @@ end -- @return a cache object -- @return an error object on failure function setup_cache() - local e = new_error("setting up cache failed") + local e = err.new("setting up cache failed") local config = get_global_config() if type(config.cache) ~= "table" or type(config.cache.path) ~= "string" then return false, e:append("invalid cache configuration: config.cache.path") @@ -1999,7 +1999,7 @@ function chdir(path) local rc, re rc, re = e2util.cd(path) if not rc then - return false, new_error("chdir %s failed: %s", path, re) + return false, err.new("chdir %s failed: %s", path, re) end return true, nil end diff --git a/generic/e2option.lua b/generic/e2option.lua index c616b32..1ebcbd6 100644 --- a/generic/e2option.lua +++ b/generic/e2option.lua @@ -30,6 +30,7 @@ require("e2lib") require("e2util") require("collection") require("plugin") +local err = require("err") -- Parsing of command-line options @@ -73,7 +74,7 @@ aliases = {} -- @return nil function flag(name, doc, func, category) if options[ name ] then - return false, new_error("option exists: %s", name) + return false, err.new("option exists: %s", name) end options[ name ] = {type = "flag", documentation = doc or "", name = name, proc=func, default = true, @@ -90,7 +91,7 @@ end -- @return nil function option(name, doc, default, func, argname) if options[ name ] then - return false, new_error("option exists: %s", name) + return false, err.new("option exists: %s", name) end options[ name ] = {type = "option", documentation = doc or "", name = name, proc=func, default=default or true, diff --git a/generic/generic_git.lua b/generic/generic_git.lua index 1660963..b226076 100644 --- a/generic/generic_git.lua +++ b/generic/generic_git.lua @@ -32,6 +32,7 @@ local generic_git = {} local cache = require("cache") local url = require("url") local tools = require("tools") +local err = require("err") --- clone a git repository -- @param surl url to the server @@ -44,7 +45,7 @@ function generic_git.git_clone_url1(surl, location, destdir, skip_checkout) e2lib.abort("git_clone_url1(): missing parameter") end local rc, re - local e = new_error("cloning git repository") + local e = err.new("cloning git repository") local full_url = string.format("%s/%s", surl, location) local u, re = url.parse(full_url) if not u then @@ -87,7 +88,7 @@ function generic_git.git_branch_new1(gitwc, track, branch, start_point) e2lib.shquote(start_point)) local rc = e2lib.callcmd_capture(cmd) if rc ~= 0 then - return false, new_error("creating new branch failed") + return false, err.new("creating new branch failed") end return true, nil end @@ -104,7 +105,7 @@ function generic_git.git_checkout1(gitwc, branch) e2lib.shquote(branch)) local rc = e2lib.callcmd_capture(cmd) if rc ~= 0 then - return false, new_error("git checkout failed") + return false, err.new("git checkout failed") end return true, nil end @@ -117,7 +118,7 @@ end function generic_git.git_rev_list1(gitdir, ref) e2lib.log(4, string.format("git_rev_list(): %s %s", tostring(gitdir), tostring(ref))) - local e = new_error("git rev-list failed") + local e = err.new("git rev-list failed") local rc, re local tmpfile = e2lib.mktempfile() local args = string.format("--max-count=1 '%s' -- >'%s'", ref, tmpfile) @@ -133,7 +134,7 @@ function generic_git.git_rev_list1(gitdir, ref) f:close() e2lib.rmtempfile(tmpfile) if (not rev) or (not rev:match("^%S+$")) then - return nil, new_error("can't parse git rev-list output") + return nil, err.new("can't parse git rev-list output") end if rev then e2lib.log(4, string.format("git_rev_list: %s", rev)) @@ -151,7 +152,7 @@ function generic_git.git_init_db1(rurl) if (not rurl) then e2lib.abort("git_init_db1(): missing parameter") end - local e = new_error("running git_init_db") + local e = err.new("running git_init_db") local rc, re local u, re = url.parse(rurl) if not u then @@ -190,7 +191,7 @@ function generic_git.git_push1(gitdir, rurl, refspec) e2lib.abort("git_push1(): missing parameter") end local rc, re - local e = new_error("git push failed") + local e = err.new("git push failed") local u, re = url.parse(rurl) if not u then return false, e:cat(re) @@ -220,7 +221,7 @@ function generic_git.git_remote_add1(lurl, rurl, name) e2lib.abort("missing parameter") end local rc, re - local e = new_error("git remote-add failed") + local e = err.new("git remote-add failed") local lrepo, re = url.parse(lurl) if not lrepo then return false, e:cat(re) @@ -256,7 +257,7 @@ function generic_git.git_url1(u) elseif u.transport == "file" then giturl = string.format("/%s", u.path) else - return nil, new_error("transport not supported: %s", u.transport) + return nil, err.new("transport not supported: %s", u.transport) end return giturl, nil end @@ -272,7 +273,7 @@ end function generic_git.git_clone_from_server(c, server, location, destdir, skip_checkout) local rc, re - local e = new_error("cloning git repository") + local e = err.new("cloning git repository") local surl, re = cache.remote_url(c, server, location) if not surl then return false, e:cat(re) @@ -292,7 +293,7 @@ end -- @return an error object on failure function generic_git.git_init_db(c, server, location) local rc, re - local e = new_error("initializing git repository") + local e = err.new("initializing git repository") local rurl, re = cache.remote_url(c, server, location) if not rurl then return false, e:cat(re) @@ -314,7 +315,7 @@ end -- @return an error object on failure function generic_git.git_push(c, gitdir, server, location, refspec) local rc, re - local e = new_error("git push failed") + local e = err.new("git push failed") local rurl, re = cache.remote_url(c, server, location) if not rurl then return false, e:cat(re) @@ -329,7 +330,7 @@ end -- @return an error object on failure function generic_git.git_config(gitdir, query) local rc, re - local e = new_error("running git config") + local e = err.new("running git config") local tmpfile = e2lib.mktempfile() local cmd = string.format("GIT_DIR=%s git config %s > %s", e2lib.shquote(gitdir), e2lib.shquote(query), e2lib.shquote(tmpfile)) @@ -353,7 +354,7 @@ end -- @return an error object on failure function generic_git.git_add(gitdir, args) local rc, re - local e = new_error("running git add") + local e = err.new("running git add") if not gitdir then gitdir = ".git" end @@ -373,7 +374,7 @@ end -- @return an error object on failure function generic_git.git_commit(gitdir, args) local rc, re - local e = new_error("git commit failed") + local e = err.new("git commit failed") return e2lib.git("commit", gitdir, args) end @@ -385,7 +386,7 @@ end function generic_git.verify_remote_tag(gitdir, tag) e2lib.logf(4, "generic_git.verify_remote_tag(%s, %s)", tostring(gitdir), tostring(tag)) - local e = new_error("verifying remote tag") + local e = err.new("verifying remote tag") local rc, re -- fetch the remote tag @@ -395,7 +396,7 @@ function generic_git.verify_remote_tag(gitdir, tag) tag, rtag) rc, re = e2lib.git(gitdir, "fetch", args) if not rc then - return false, new_error("remote tag is not available: %s", tag) + return false, err.new("remote tag is not available: %s", tag) end -- store commit ids for use in the error message, if any @@ -436,7 +437,7 @@ end function generic_git.verify_clean_repository(gitwc) e2lib.logf(4, "generic_git.verify_clean_repository(%s)", tostring(gitwc)) gitwc = gitwc or "." - local e = new_error("verifying that repository is clean") + local e = err.new("verifying that repository is clean") local rc, re local tmp = e2lib.mktempfile() rc, re = e2lib.chdir(gitwc) @@ -459,7 +460,7 @@ function generic_git.verify_clean_repository(gitwc) if #files > 0 then local msg = "the following files are not checked into the repository:\n" msg = msg .. files - return false, new_error("%s", msg) + return false, err.new("%s", msg) end -- verify that the working copy matches HEAD local args = string.format("--name-only HEAD >%s", tmp) @@ -476,7 +477,7 @@ function generic_git.verify_clean_repository(gitwc) if #files > 0 then msg = "the following files are modified:\n" msg = msg..files - return false, new_error("%s", msg) + return false, err.new("%s", msg) end -- verify that the index matches HEAD local args = string.format("--name-only --cached HEAD >%s", tmp) @@ -493,7 +494,7 @@ function generic_git.verify_clean_repository(gitwc) if #files > 0 then msg = "the following files in index are modified:\n" msg = msg..files - return false, new_error("%s", msg) + return false, err.new("%s", msg) end return true end @@ -508,7 +509,7 @@ function generic_git.verify_head_match_tag(gitwc, verify_tag) tostring(verify_tag)) assert(verify_tag) gitwc = gitwc or "." - local e = new_error("verifying that HEAD matches 'refs/tags/%s'", verify_tag) + local e = err.new("verifying that HEAD matches 'refs/tags/%s'", verify_tag) local rc, re local tmp = e2lib.mktempfile() local args = string.format("--tags --match '%s' >%s", verify_tag, tmp) @@ -557,7 +558,7 @@ end -- @return nil, or an error string on error function generic_git.new_repository(c, lserver, llocation, rserver, rlocation, flags) local rc, re - local e = new_error("setting up new git repository failed") + local e = err.new("setting up new git repository failed") local lserver_url, re = cache.remote_url(c, lserver, llocation) if not lserver_url then return false, e:cat(re) diff --git a/generic/hash.lua b/generic/hash.lua index 9b0a4ba..df1be79 100644 --- a/generic/hash.lua +++ b/generic/hash.lua @@ -28,6 +28,7 @@ local hash = {} require("sha1") +local err = require("err") --- create a hash context -- @return a hash context object, or nil on error @@ -82,7 +83,7 @@ function hash.hash_file(hc, path) local fd = io.open(path, "r") if not fd then - return nil, new_error("could not open file '%s'", path) + return nil, err.new("could not open file '%s'", path) end local buf = "" diff --git a/generic/lock.lua b/generic/lock.lua index 43064dc..c03845a 100644 --- a/generic/lock.lua +++ b/generic/lock.lua @@ -30,6 +30,7 @@ -- Remaining lock directories can be removed by calling the cleanup -- method. local lock = {} +local err = require("err") --- create a new lock context -- @return table: the lock context @@ -50,7 +51,7 @@ end -- @param dir string: lock directory -- @return boolean function lock.lock(l, dir) - local e = new_error("locking failed") + local e = err.new("locking failed") local rc, re = e2lib.mkdir(dir) if not rc then @@ -66,7 +67,7 @@ end -- @param dir string: lock directory -- @return boolean function lock.unlock(l, dir) - local e = new_error("unlocking failed") + local e = err.new("unlocking failed") local rc, re for i,x in ipairs(l.locks) do @@ -94,7 +95,7 @@ end local test=false if test then -- some dummy functions to test without context... - function new_error(x) + function err.new(x) return true end e2lib = {} diff --git a/generic/plugin.lua b/generic/plugin.lua index 5377a64..2c018cc 100644 --- a/generic/plugin.lua +++ b/generic/plugin.lua @@ -1,4 +1,5 @@ module("plugin", package.seeall) +local err = require("err") --- plugin descriptor -- @class table @@ -50,7 +51,7 @@ plugins = {} -- @return bool -- @return an error object on failure local function load_plugin(dir, p, ctx) - local e = new_error("loading plugin failed: %s", p) + local e = err.new("loading plugin failed: %s", p) local plugin_file = string.format("%s/%s", dir, p) local chunk, msg = loadfile(plugin_file) if not chunk then @@ -103,7 +104,7 @@ end -- @return bool -- @return an error object on failure function load_plugins(dir, ctx) - local e = new_error("loading plugins failed") + local e = err.new("loading plugins failed") e2lib.logf(4, "loading plugins from: %s", dir) for p in e2lib.directory(dir) do local rc, re = load_plugin(dir, p, ctx) @@ -119,7 +120,7 @@ end -- @return bool -- @return an error object on failure function init_plugins() - local e = new_error("initializing plugins failed") + local e = err.new("initializing plugins failed") for _, pd in ipairs(plugins) do local rc, re = init_plugin(pd) if not rc then @@ -133,7 +134,7 @@ end -- @return bool -- @return an error object on failure function exit_plugins() - local e = new_error("deinitializing plugins failed") + local e = err.new("deinitializing plugins failed") for _, pd in ipairs(plugins) do local rc, re = exit_plugin(pd) if not rc then diff --git a/generic/transport.lua b/generic/transport.lua index ee467bf..c6ed405 100644 --- a/generic/transport.lua +++ b/generic/transport.lua @@ -28,6 +28,7 @@ local transport = {} local url = require("url") local tools = require("tools") +local err = require("err") --- call rsync with appropriate rsh argument according to the tools -- configuration @@ -119,7 +120,7 @@ local function rsync_ssh_mkdir(opts, user, server, dir) local rc, re = rsync_ssh(argv, emptydir .. "/", dest) if not rc then e2lib.rmtempdir(emptydir) - local e = new_error("could not create remote directory") + local e = err.new("could not create remote directory") return false, e:cat(re) end end @@ -141,7 +142,7 @@ function transport.fetch_file(surl, location, destdir, destname) destname = e2lib.basename(location) end local rc, re - local e = new_error("transport: fetching file failed") + local e = err.new("transport: fetching file failed") local u, re = url.parse(surl) if not u then return false, e:cat(re) @@ -228,7 +229,7 @@ function transport.push_file(sourcefile, durl, location, push_permissions, try_h e2lib.log(4, string.format("%s: %s %s %s %s", "transport.push_file()", sourcefile, durl, location, tostring(push_permissions))) local rc, e - e = new_error("error pushing file to server") + e = err.new("error pushing file to server") durl = string.format("%s/%s", durl, location) local u, re = url.parse(durl) if not u then @@ -346,7 +347,7 @@ end function transport.file_path(surl, location) e2lib.log(4, string.format("%s: %s %s", "file_path()", surl, location)) - local e = new_error("can't get path to file") + local e = err.new("can't get path to file") local u, re = url.parse(surl) if not u then return nil, e:cat(re) diff --git a/global/e2-create-project.lua b/global/e2-create-project.lua index fe8b3b2..61550ef 100644 --- a/global/e2-create-project.lua +++ b/global/e2-create-project.lua @@ -30,6 +30,7 @@ require("e2lib") require("e2option") local cache = require("cache") local generic_git = require("generic_git") +local err = require("err") e2lib.init() @@ -48,7 +49,7 @@ if not rc then e2lib.abort(e) end e2lib.init2() -local e = new_error("creating project failed") +local e = err.new("creating project failed") local config, re = e2lib.get_global_config() if not config then diff --git a/global/e2-fetch-project.lua b/global/e2-fetch-project.lua index 2426cd5..01b7510 100644 --- a/global/e2-fetch-project.lua +++ b/global/e2-fetch-project.lua @@ -30,9 +30,10 @@ require("e2lib") require("e2option") local generic_git = require("generic_git") local cache = require("cache") +local err = require("err") e2lib.init() -local e = new_error("fetching project failed") +local e = err.new("fetching project failed") local doc = [[ usage: e2-fetch-project [