diff options
author | dylan.araps@gmail.com <dylan.araps@gmail.com> | 2019-09-13 20:52:14 +0000 |
---|---|---|
committer | dylan.araps@gmail.com <dylan.araps@gmail.com> | 2019-09-13 20:52:14 +0000 |
commit | bf3d78de744e11d840ae72c1dbefdf1116f35988 (patch) | |
tree | 1076acd223a24f0afa358ed19e7f9515d7e52f51 | |
parent | 1e065ce97101b1b7d2f12a5675783e73d904189d (diff) | |
download | cpt-bf3d78de744e11d840ae72c1dbefdf1116f35988.tar.gz |
kiss: extract first
FossilOrigin-Name: a897b18a4b04cef5f1ff2d619c511c76a8541b73db3d09221ae82b1c191b2069
-rwxr-xr-x | kiss | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -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 |