summaryrefslogtreecommitdiffstats
path: root/aports/db.lua
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-01-01 13:51:15 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-01-01 13:51:15 +0000
commitac9fd56075cccbdff9e27ecc3eb959713da6dc72 (patch)
tree8b88d6b2555b8a690e0a93addca1f15d16eec7df /aports/db.lua
parent188bb4489afd5cc47e52a6590abb5543c27bad94 (diff)
db: add each_need_build() iterator
iterates over all aports that needs build
Diffstat (limited to 'aports/db.lua')
-rw-r--r--aports/db.lua14
1 files changed, 12 insertions, 2 deletions
diff --git a/aports/db.lua b/aports/db.lua
index b59f1cb..3f85920 100644
--- a/aports/db.lua
+++ b/aports/db.lua
@@ -176,8 +176,8 @@ end
function Aports:each()
return coroutine.wrap(function()
- for name, a in self:each_name() do
- for _, pkg in pairs(a) do
+ for name, pkglist in self:each_name() do
+ for _, pkg in pairs(pkglist) do
coroutine.yield(pkg, name)
end
end
@@ -194,6 +194,16 @@ function Aports:each_aport()
end)
end
+function Aports:each_need_build()
+ return coroutine.wrap(function()
+ for aport in self:each_aport() do
+ if not aport:apk_file_exists() then
+ coroutine.yield(aport)
+ end
+ end
+ end)
+end
+
function M.new(aportsdir, ...)
local h = Aports
h.aportsdir = aportsdir