diff options
-rwxr-xr-x | kiss | 19 |
1 files changed, 8 insertions, 11 deletions
@@ -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) |