local function source_apply_default_licences(info, sourcename)
local e = err.new("applying default licences failed.")
local src = info.sources[ sourcename ]
- if src.licences_default_applied then
- return true
- end
- src.licences_default_applied = true
+
if not src.licences and src.licence then
e2lib.warnf("WDEPRECATED", "in source %s:", src.name)
e2lib.warnf("WDEPRECATED",
-- @return an error object on failure
function scm.generic_source_check(info, sourcename, require_workingcopy)
local rc, re
- rc, re = scm.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
+
rc, re = scm.working_copy_available(info, sourcename)
if (not rc) and require_workingcopy then
return false, err.new("working copy is not available")
function cvs.fetch_source(info, sourcename)
local rc, re, e, src, cvsroot, workdir, argv
- rc, re = cvs.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
-
e = err.new("fetching source failed: %s", sourcename)
src = info.sources[sourcename]
function cvs.prepare_source(info, sourcename, source_set, buildpath)
local rc, re, e, src, cvsroot, argv
- rc, re = cvs.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
-
e = err.new("cvs.prepare_source failed")
src = info.sources[sourcename]
function cvs.update(info, sourcename)
local rc, re, e, src, workdir, argv
- rc, re = cvs.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
-
e = err.new("updating source '%s' failed", sourcename)
src = info.sources[sourcename]
end
function cvs.working_copy_available(info, sourcename)
- local rc, e
- rc, e = cvs.validate_source(info, sourcename)
- if not rc then
- return false, e
- end
local src = info.sources[sourcename]
local dir = string.format("%s/%s", info.root, src.working)
return e2lib.isdir(dir)
function cvs.display(info, sourcename)
local src = info.sources[sourcename]
local rc, re
- rc, re = cvs.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
local display = {}
+
display[1] = string.format("type = %s", src.type)
display[2] = string.format("branch = %s", src.branch)
display[3] = string.format("tag = %s", src.tag)
function cvs.sourceid(info, sourcename, source_set)
local src = info.sources[sourcename]
local rc, re, lid
- rc, re = cvs.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
+
if source_set == "working-copy" then
src.sourceid[source_set] = "working-copy"
end
end
function cvs.check_workingcopy(info, sourcename)
- local rc, re
- local e = err.new("checking working copy failed")
- e:append("in source %s (cvs configuration):", sourcename)
- e:setcount(0)
- rc, re = cvs.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
- local src = info.sources[sourcename]
- if e:getcount() > 0 then
- return false, e
- end
- return true, nil
+ return true
end
strict.lock(cvs)
-- @return nil, an error string on error
function files.cache_source(info, sourcename)
local rc, e
- rc, e = files.validate_source(info, sourcename)
- if not rc then
- return false, e
- end
local s = info.sources[sourcename]
-- cache all files for this source
for i,f in pairs(s.file) do
function files.fetch_source(info, sourcename)
local rc, re
local e = err.new("fetching source failed: %s", sourcename)
- rc, re = files.validate_source(info, sourcename)
- if not rc then
- return false, e:cat(re)
- end
local rc, re = files.cache_source(info, sourcename)
if not rc then
return false, e:cat(re)
end
function files.working_copy_available(info, sourcename)
- local rc, e
- rc, e = files.validate_source(info, sourcename)
- if not rc then
- return false, e
- end
return false
end
function files.has_working_copy(info, sourcename)
- local rc, e
- rc, e = files.validate_source(info, sourcename)
- if not rc then
- return false, e
- end
return false
end
function files.prepare_source(info, sourcename, sourceset, buildpath)
local rc, re
local e = err.new("error preparing source: %s", sourcename)
- rc, re = files.validate_source(info, sourcename)
- if not rc then
- return false, e:cat(re)
- end
local symlink = nil
local s = info.sources[sourcename]
for _,file in ipairs(info.sources[sourcename].file) do
-- @return a table, nil on error
-- @return an error string on failure
function files.display(info, sourcename)
- local rc, e
- rc, e = files.validate_source(info, sourcename)
- if not rc then
- return false, e
- end
local src = info.sources[sourcename]
local display = {}
+
display[1] = string.format("type = %s", src.type)
local i = 2
for _,f in pairs(src.file) do
function files.sourceid(info, sourcename, sourceset)
local rc, re
local e = err.new("error calculating sourceid for source: %s",
- sourcename)
- rc, re = files.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
+ sourcename)
local src = info.sources[sourcename]
if src.sourceid then
return true, nil, src.sourceid
function files.toresult(info, sourcename, sourceset, directory)
local rc, re, out
local e = err.new("converting result failed")
- rc, re = files.validate_source(info, sourcename)
- if not rc then
- return false, e:cat(re)
- end
local s = info.sources[sourcename]
local source = "source" -- directory to store source files in
local makefile = e2lib.join(directory, "Makefile")
e = err.new("getting commit ID failed for source: %s", sourcename)
src = info.sources[sourcename]
- rc, re = git.validate_source(info, sourcename)
- if not rc then
- return false, e:cat(re)
- end
-
rc, re = scm.working_copy_available(info, sourcename)
if not rc then
return false, e:append("working copy is not available")
src = info.sources[sourcename]
e = err.new("fetching source failed: %s", sourcename)
- rc, re = git.validate_source(info, sourcename)
- if not rc then
- return false, e:cat(re)
- end
-
work_tree = e2lib.join(info.root, src.working)
git_dir = e2lib.join(work_tree, ".git")
local rc, re
local e = err.new("checking if working copy is available for source %s",
sourcename)
- rc, re = git.validate_source(info, sourcename)
- if not rc then
- return false, e:cat(re)
- end
local gitwc = e2lib.join(info.root, src.working)
local rc = e2lib.isdir(gitwc)
return rc, nil
local src = info.sources[sourcename]
local rc, re
local e = err.new("display source information failed")
- rc, re = git.validate_source(info, sourcename)
- if not rc then
- return nil, e:cat(re)
- end
-- try to calculte the sourceid, but do not care if it fails.
-- working copy might be unavailable
scm.sourceid(info, sourcename, "tag")
local rc, re
local e = err.new("checking working copy of source %s failed", sourcename)
- rc, re = git.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
-
rc, re = scm.working_copy_available(info, sourcename)
if not rc then
e2lib.warnf("WOTHER", "in source %s: ", sourcename)
end
function svn.fetch_source(info, sourcename)
- local rc, re = svn.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
+ local rc, re
local e = err.new("fetching source failed: %s", sourcename)
local src = info.sources[sourcename]
local location = src.location
end
function svn.prepare_source(info, sourcename, source_set, build_path)
- local rc, re = svn.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
+ local rc, re
local e = err.new("svn.prepare_source failed")
local src = info.sources[ sourcename ]
local location = src.location
function svn.working_copy_available(info, sourcename)
local rc, re
- rc, re = svn.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
local src = info.sources[sourcename]
local dir = e2lib.join(info.root, src.working)
return e2lib.isdir(dir)
local e = err.new("checking working copy failed")
e:append("in source %s (svn configuration):", sourcename)
e:setcount(0)
- rc, re = svn.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
local src = info.sources[sourcename]
if e:getcount() > 0 then
return false, e
function svn.display(info, sourcename)
local src = info.sources[sourcename]
local rc, e
- rc, e = svn.validate_source(info, sourcename)
- if not rc then
- return false, e
- end
local display = {}
display[1] = string.format("type = %s", src.type)
display[2] = string.format("server = %s", src.server)
local rc, re
local hc, surl, svnurl, argv, out, svnrev, lid
- rc, re = svn.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
if not src.sourceid then
src.sourceid = {}
end
end
function svn.update(info, sourcename)
- local rc, re = svn.validate_source(info, sourcename)
- if not rc then
- return false, re
- end
+ local rc, re
local e = err.new("updating source '%s' failed", sourcename)
local src = info.sources[ sourcename ]
local workdir = e2lib.join(info.root, src.working)