summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--aports/db.lua14
-rw-r--r--aports/pkg.lua13
-rwxr-xr-xbuildrepo.lua2
3 files changed, 19 insertions, 10 deletions
diff --git a/aports/db.lua b/aports/db.lua
index 45e394e..09afaeb 100644
--- a/aports/db.lua
+++ b/aports/db.lua
@@ -116,7 +116,7 @@ local function apkbuilds_open(aportsdir, repos)
return obj
end
-local function init_apkdb(aportsdir, repos)
+local function init_apkdb(aportsdir, repos, repodest)
local pkgdb = {}
local revdeps = {}
local apkbuilds = apkbuilds_open(aportsdir, repos)
@@ -125,7 +125,7 @@ local function init_apkdb(aportsdir, repos)
if pkgdb[a.pkgname] == nil then
pkgdb[a.pkgname] = {}
end
- pkg.init(a)
+ pkg.init(a, repodest)
table.insert(pkgdb[a.pkgname], a)
-- add subpackages to package db
local k,v
@@ -296,11 +296,15 @@ function Aports:known_deps_exists(pkg)
return true
end
-function M.new(aportsdir, ...)
+function M.new(aportsdir, repos, repodest)
local h = Aports
h.aportsdir = aportsdir
- h.repos = {...}
- h.apks, h.revdeps = init_apkdb(aportsdir, h.repos)
+ if type(repos) == "table" then
+ h.repos = repos
+ else
+ h.repos = { repos }
+ end
+ h.apks, h.revdeps = init_apkdb(aportsdir, h.repos, repodest)
if h.apks == nil then
return nil, h.revdeps
end
diff --git a/aports/pkg.lua b/aports/pkg.lua
index 9689ecf..b99bf68 100644
--- a/aports/pkg.lua
+++ b/aports/pkg.lua
@@ -59,11 +59,12 @@ function M.get_apk_file_name(pkg, name)
end
function M.get_apk_file_path(pkg, name)
- if abuild.pkgdest ~= nil and abuild.pkgdest ~= "" then
+ local repodest = pkg.repodest or abuild.repodest
+ if pkg.repodest == nil and abuild.pkgdest ~= nil and abuild.pkgdest ~= "" then
return abuild.pkgdest.."/"..M.get_apk_file_name(pkg, name)
end
- if abuild.repodest ~= nil and abuild.repodest ~= "" then
- return abuild.repodest.."/"..M.get_repo_name(pkg).."/"..abuild.arch.."/"..M.get_apk_file_name(pkg, name)
+ if repodest ~= nil and repodest ~= "" then
+ return repodest.."/"..M.get_repo_name(pkg).."/"..abuild.arch.."/"..M.get_apk_file_name(pkg, name)
end
return pkg.dir.."/"..M.get_apk_file_name(pkg, name)
end
@@ -71,6 +72,9 @@ end
function M.apk_file_exists(pkg, name)
-- technically we check if it is readable...
local filepath = M.get_apk_file_path(pkg, name)
+ if lfs.attributes(filepath) == nil then
+ io.stderr:write(("DEBUG: path=%s\n"):format(filepath))
+ end
return lfs.attributes(filepath) ~= nil
end
@@ -110,10 +114,11 @@ function M.each_dependency(pkg)
end
-function M.init(pkg)
+function M.init(pkg, repodest)
for k,v in pairs(M) do
pkg[k] = v
end
+ pkg.repodest = repodest
end
return M
diff --git a/buildrepo.lua b/buildrepo.lua
index adb73ec..c665711 100755
--- a/buildrepo.lua
+++ b/buildrepo.lua
@@ -157,7 +157,7 @@ end
stats = {}
for _,repo in pairs(args) do
- local db = require('aports.db').new(aportsdir, repo)
+ local db = require('aports.db').new(aportsdir, repo, repodest)
local pkgs = {}
local unsorted = {}
local logdir = nil