From bf3d78de744e11d840ae72c1dbefdf1116f35988 Mon Sep 17 00:00:00 2001 From: "dylan.araps@gmail.com" Date: Fri, 13 Sep 2019 20:52:14 +0000 Subject: kiss: extract first FossilOrigin-Name: a897b18a4b04cef5f1ff2d619c511c76a8541b73db3d09221ae82b1c191b2069 --- kiss | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'kiss') diff --git a/kiss b/kiss index 69ed0be..066e089 100755 --- a/kiss +++ b/kiss @@ -352,11 +352,12 @@ pkg_build() { # Mark packages passed on the command-line # separately from those detected as dependencies. explicit="$explicit $pkg " - explicit_build="$explicit_build $pkg " ;; esac done + explicit_build="$explicit" + # If an explicit package is a dependency of another explicit # package, remove it from the explicit list as it needs to be # installed as a dependency. @@ -372,8 +373,7 @@ pkg_build() { set -- $deps $explicit # The dependency solver always lists all dependencies regardless of - # whether or not they are installed. Ensure that all explicit packages - # are included and ensure that all installed packages are excluded. + # whether or not they are installed. Filter out installed dependencies. for pkg; do case $explicit_build in *" $pkg "*) ;; @@ -456,11 +456,13 @@ pkg_build() { # Die here as packages with differing checksums were found above. [ "$mismatch" ] && die "Checksum mismatch with: ${mismatch% }" + # Extract all packages before build to catch any extraction + # errors early. + for pkg; do pkg_extract "$pkg"; done + # Finally build and create tarballs for all passed packages and # dependencies. for pkg; do - pkg_extract "$pkg" - repo_dir=$(pkg_find "$pkg") # Install built packages to a directory under the package name -- cgit v1.2.3