abuild: break circular deps when building recursively

This commit is contained in:
Natanael Copa 2010-05-06 21:02:07 +00:00
parent 92417870e6
commit 072e93458d
1 changed files with 12 additions and 6 deletions

View File

@ -820,7 +820,7 @@ builddeps() {
if [ "${i#\!}" != "$i" ]; then
list_has ${i#\!} $installed_deps \
&& conflicts="$conflicts ${i#\!}"
elif ! deplist_has $i $installed_deps; then
elif ! deplist_has $i $installed_deps || [ -n "$upgrade" ]; then
missing="$missing $i"
fi
done
@ -863,11 +863,17 @@ builddeps() {
# i = pkg:dir
local dir=${i#*:}
local pkg=${i%:*}
if [ -d "$dir" ]; then
msg "Entering $dir"
cd "$dir" && $0 $forceroot $keep $quiet $install_deps \
$recursive $upgrade abuildindex || return 1
fi
# ignore if dependency is in other repo
[ -d "$dir" ] || continue
# break cricular deps
list_has $pkg $ABUILD_VISITED && continue
export ABUILD_VISITED="$ABUILD_VISITED $pkg"
msg "Entering $dir"
cd "$dir" && $0 $forceroot $keep $quiet $install_deps \
$recursive $upgrade abuildindex || return 1
done
$SUDO $APK add -u --repository "$abuildrepo" \
--wait 30 \