From a9fef310d11d56310ec369f3538dbfb9b8518ba6 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Fri, 14 Jun 2019 09:28:32 +0300 Subject: [PATCH] kiss: Added full dependency resolver. --- kiss | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/kiss b/kiss index e9631d6..e5a1174 100755 --- a/kiss +++ b/kiss @@ -42,10 +42,15 @@ pkg_setup() { pkg_depends() { while read -r dep; do - pkg_list "$dep" || missing="$missing $dep" + pkg_list "$dep" || { + case $missing in + *" $dep,"*) ;; + *) missing="$missing $dep," + pkg_setup "$dep" + pkg_depends ;; + esac + } done 2>/dev/null < depends - - [ -n "$missing" ] && die "Missing dependencies:$missing" } pkg_sources() { @@ -179,11 +184,16 @@ args() { b*) [ -f checksums ] || die "Checksums missing, run '$0 checksum $name'" pkg_depends + + [ -n "$missing" ] && die "Missing dependencies:${missing%,}" + pkg_sources pkg_verify pkg_extract pkg_build + [ -f nostrip ] || pkg_strip + pkg_manifest pkg_tar ;;