diff --git a/Ports/.port_include.sh b/Ports/.port_include.sh index cebea49652..91a9b7db63 100755 --- a/Ports/.port_include.sh +++ b/Ports/.port_include.sh @@ -527,19 +527,21 @@ package_install_state() { } installdepends() { for depend in "${depends[@]}"; do - if [ -z "$(package_install_state $depend)" ]; then - # Split colon seperated string into a list - IFS=':' read -ra port_directories <<< "$SERENITY_PORT_DIRS" - for port_dir in "${port_directories[@]}"; do - if [ -d "${port_dir}/$depend" ]; then - (cd "${port_dir}/$depend" && ./package.sh --auto) - return - fi - done - - >&2 echo "Error: Dependency $depend could not be found." - exit 1 + if [ -n "$(package_install_state $depend)" ]; then + continue fi + + # Split colon separated string into a list + IFS=':' read -ra port_directories <<< "$SERENITY_PORT_DIRS" + for port_dir in "${port_directories[@]}"; do + if [ -d "${port_dir}/$depend" ]; then + (cd "${port_dir}/$depend" && ./package.sh --auto) + continue 2 + fi + done + + >&2 echo "Error: Dependency $depend could not be found." + exit 1 done } uninstall() {