buildrepo: fix clean of old pkgs

- we need check arch for noarch
- we need list packages generated from $linguas
This commit is contained in:
Natanael Copa 2013-04-23 07:57:36 +00:00
parent cf102231ea
commit 3b4c88ff4b
1 changed files with 23 additions and 14 deletions

View File

@ -31,9 +31,22 @@ usage() {
exit 1
}
is_in() {
local needle="$1" arg=
shift
for arg; do
[ "$needle" = "$arg" ] && return 0
done
return 1
}
check_arch() {
[ "$1" = "all" ] || [ "$1" = "noarch" ] || is_in "$CARCH" $@
}
listpackages() {
local repo="$1" i= pkgname= pkgver= pkgrel= subpackage= arch= subpkg=
local repo="$1" i= pkgname= pkgver= pkgrel= subpackage= arch= subpkg= linguas=
local lang= suffix=
cd "$aportsdir/$repo"
for i in */APKBUILD; do
cd "$aportsdir/$repo"/${i%/*} || return 1
@ -42,12 +55,18 @@ listpackages() {
pkgrel=
subpackages=
arch=
linguas=
. ./APKBUILD
if ! is_in all $arch && ! is_in "$CARCH" $arch; then
suffix="$pkgver-r$pkgrel.apk"
if ! check_arch $arch; then
continue
fi
for subpkg in $pkgname $subpackages; do
echo ${subpkg%:*}-$pkgver-r$pkgrel.apk
echo ${subpkg%:*}-$suffix
done
for lang in $linguas; do
echo $pkgname-lang-$lang-$suffix
done
done
}
@ -60,16 +79,6 @@ all_exist() {
return 0
}
is_in() {
local needle="$1"
shift
while [ $# -gt 0 ]; do
[ "$needle" = "$1" ] && return 0
shift
done
return 1
}
list_needbuild() {
local repo="$1" i=
@ -89,7 +98,7 @@ list_needbuild() {
arch=
. ./APKBUILD
if ! is_in all $arch && ! is_in $CARCH $arch; then
if ! check_arch $arch; then
continue
fi