diff options
Diffstat (limited to 'abuild.in')
-rwxr-xr-x | abuild.in | 38 |
1 files changed, 14 insertions, 24 deletions
@@ -10,7 +10,7 @@ abuild_ver=@VERSION@ sysconfdir=@sysconfdir@ -abuildrepo=@abuildrepo@ +abuildrepo_base=@abuildrepo@ datadir=@datadir@ program=${0##*/} @@ -1009,31 +1009,20 @@ apk_up2date() { abuildindex_up2date() { local i getpkgver || return 1 - for i in $pkgname $subpackages; do - 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 + local dir="$abuildrepo"/$CARCH + local apk="${pkgname%:*}-$pkgver-r$pkgrel.apk" + local idx="$dir"/APKINDEX.tar.gz + local file="$dir"/$apk + + # 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 + # if link or file is missing, then we need update abuildrepo index + [ -f "$file" ] || return 1 + + # if file exists and is newer than index, then we need update index + [ "$file" -nt "$idx" ] && return 1 - # we are not up2date if file was not found in any arch dir - [ -z "$found" ] && return 1 - done return 0 } @@ -1427,6 +1416,7 @@ pkgbasedir=${pkgbasedir:-"$startdir/pkg"} pkgrel=0 repo=${startdir%/*} repo=${repo##*/} +abuildrepo="$abuildrepo_base"/$repo SRCDEST=${SRCDEST:-$startdir} PKGDEST=${PKGDEST:-$startdir} |