mirror of
https://gitlab.alpinelinux.org/alpine/abuild.git
synced 2025-03-18 08:33:35 +00:00
buildrepo: fix clean of old pkgs
- we need check arch for noarch - we need list packages generated from $linguas
This commit is contained in:
parent
cf102231ea
commit
3b4c88ff4b
37
buildrepo.in
37
buildrepo.in
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user