summaryrefslogtreecommitdiff
path: root/abuild.in
diff options
context:
space:
mode:
Diffstat (limited to 'abuild.in')
-rwxr-xr-xabuild.in18
1 files changed, 12 insertions, 6 deletions
diff --git a/abuild.in b/abuild.in
index 3fea58a..21b1b43 100755
--- a/abuild.in
+++ b/abuild.in
@@ -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 \