diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2014-01-23 15:53:07 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2014-01-23 15:53:07 +0000 |
commit | 6a3e565f81b70a720e5a0f7409c43d4843ce6b36 (patch) | |
tree | 2dc1a44fb7afc1b4c8280afab1506c54cd15925b /aports | |
parent | a38f65392bc34cfd036c7af54ed4e550a061157d (diff) | |
download | lua-aports-6a3e565f81b70a720e5a0f7409c43d4843ce6b36.tar.bz2 lua-aports-6a3e565f81b70a720e5a0f7409c43d4843ce6b36.tar.xz |
apkrepo: new lua mode
add update_index implementation
Diffstat (limited to 'aports')
-rw-r--r-- | aports/apkrepo.lua | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/aports/apkrepo.lua b/aports/apkrepo.lua new file mode 100644 index 0000000..4418670 --- /dev/null +++ b/aports/apkrepo.lua @@ -0,0 +1,27 @@ +local M = {} + +local lfs = require('lfs') + +function M.update_index(dir, arch, description) + local indexopt="" + local descriptionopt="" + local olddir = lfs.currentdir() + local archdir = ("%s/%s"):format(dir, arch) + assert(lfs.chdir(archdir), archdir) + local signed_index = "APKINDEX.tar.gz" + local unsigned_index = "APKINDEX.tar.gz.unsigned" + if lfs.attributes(signed_index) ~= nil then + indexopt = "--index "..signed_index + end + if description then + descriptionopt="--description "..description + end + local indexcmd = ("apk index --quiet %s %s --output '%s' --rewrite-arch %s *.apk"):format(indexopt, descriptionopt, unsigned_index, arch) + local signcmd = "abuild-sign -q "..unsigned_index + assert(os.execute(indexcmd), indexcmd) + assert(os.execute(signcmd), signcmd) + assert(os.rename(unsigned_index, signed_index), signed_index) + lfs.chdir(olddir) +end + +return M |