aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xkiss19
1 files changed, 8 insertions, 11 deletions
diff --git a/kiss b/kiss
index 59accfd..30e30db 100755
--- a/kiss
+++ b/kiss
@@ -945,23 +945,20 @@ args() {
i|install)
# Create a list of each package's dependencies.
for pkg; do
- if [ "${pkg%%*.tar.gz}" ]; then
- pkg_depends "$pkg"
- else
- missing_deps="$missing_deps $pkg "
- fi
+ case $pkg in
+ *.tar.gz) missing_deps="$missing_deps $pkg " ;;
+ *) pkg_depends "$pkg"
+ esac
done
- # Filter the list, only including explicit packages.
+ # Filter the list, only installing explicit packages.
+ # The purpose of these two loops is to order the
+ # argument list based on dependence.
for pkg in $missing_deps; do
case " $* " in
- *" $pkg "*) install_pkgs="$install_pkgs $pkg " ;;
+ *" $pkg "*) pkg_install "$pkg" ;;
esac
done
-
- for pkg in $install_pkgs; do
- pkg_install "$pkg"
- done
;;
r|remove)