summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-01-24 15:51:47 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-01-24 15:51:47 +0000
commitd6616da05fd5bf618426aded9fbfbc475578472e (patch)
tree7fe0a9fb94ef49f3df5be79e456a601c4a24bce5
parent111f15ad02d7a76c7355f8e79f06d87a87a2905b (diff)
downloadlua-aports-d6616da05fd5bf618426aded9fbfbc475578472e.tar.bz2
lua-aports-d6616da05fd5bf618426aded9fbfbc475578472e.tar.xz
db: rename deps_exists to known_deps_exists
so we can ignore the unknown dependencies
-rw-r--r--aports/db.lua17
-rwxr-xr-xbuildrepo.lua2
2 files changed, 15 insertions, 4 deletions
diff --git a/aports/db.lua b/aports/db.lua
index 5302119..4bbee16 100644
--- a/aports/db.lua
+++ b/aports/db.lua
@@ -188,9 +188,20 @@ function Aports:each_reverse_dependency(pkg)
end)
end
+function Aports:each_known_dependency(pkg)
+ return coroutine.wrap(function()
+ for dep in pkg:each_dependency() do
+ if self.apks[dep] then
+ coroutine.yield(dep)
+ end
+ end
+ end)
+end
+
function Aports:each_pkg_with_name(name)
if self.apks[name] == nil then
- io.stderr:write("WARNING: "..name.." has no data\n")
+ io.stderr:write("WARNING: "..name..": not provided by any known APKBUILD\n")
+ return function() return nil end
end
return coroutine.wrap(function()
for index, pkg in pairs(self.apks[name]) do
@@ -263,8 +274,8 @@ function Aports:git_describe()
return result
end
-function Aports:deps_exists(pkg)
- for name in pkg:each_dependency() do
+function Aports:known_deps_exists(pkg)
+ for name in self:each_known_dependency(pkg) do
for dep in self:each_pkg_with_name(name) do
if dep.pkgname ~= pkg.pkgname and dep:arch_enabled() and not dep:all_apks_exists() then
return false
diff --git a/buildrepo.lua b/buildrepo.lua
index 1497800..8d5345c 100755
--- a/buildrepo.lua
+++ b/buildrepo.lua
@@ -178,7 +178,7 @@ for _,repo in pairs(args) do
io.write(("%d/%d %d/%d %s\n"):format(tried, #pkgs,
totally_built, stats[repo].aports,
aport.pkgname))
- if not db:deps_exists(aport) then
+ if not db:known_deps_exists(aport) then
warn("%s: Skipped due to missing dependencies", aport.pkgname)
elseif build_aport(aport, repodest, logdir, opts.s) then
built = built + 1