abuild: fix check if abuildindex is up 2 date

This commit is contained in:
Natanael Copa 2011-04-04 11:18:29 +00:00
parent 62a87c97fb
commit 8f6f8763cf
1 changed files with 22 additions and 7 deletions

View File

@ -1007,17 +1007,32 @@ apk_up2date() {
}
abuildindex_up2date() {
local i j apk
local i
getpkgver || return 1
for i in $pkgname $subpackages; do
apk="${i%:*}-$pkgver-r$pkgrel.apk"
for j in "$abuildrepo"/*/$apk; do
[ -r "$j" ] || continue # ignore missing files
local idx="${j%/*}"/APKINDEX.tar.gz
if ! [ "$idx" -nt "$j" ]; then
return 1
local found= dir=
local apk="${i%:*}-$pkgver-r$pkgrel.apk"
# look for file in all arch dirs
for dir in "$abuildrepo"/*; do
[ -d "$dir" ] || continue
local file="$dir"/$apk
local idx="$dir"/APKINDEX.tar.gz
# check if index is missing
[ -f "$idx" ] || return 1
# check if file is there but is newer than index
if [ -f "$file" ]; then
found=1
if [ "$file" -nt "$idx" ]; then
return 1
fi
fi
done
# we are not up2date if file was not found in any arch dir
[ -z "$found" ] && return 1
done
return 0
}