aboutsummaryrefslogtreecommitdiff
path: root/kiss
diff options
context:
space:
mode:
authordylan.araps@gmail.com <dylan.araps@gmail.com>2019-09-13 20:52:14 +0000
committerdylan.araps@gmail.com <dylan.araps@gmail.com>2019-09-13 20:52:14 +0000
commitbf3d78de744e11d840ae72c1dbefdf1116f35988 (patch)
tree1076acd223a24f0afa358ed19e7f9515d7e52f51 /kiss
parent1e065ce97101b1b7d2f12a5675783e73d904189d (diff)
downloadcpt-bf3d78de744e11d840ae72c1dbefdf1116f35988.tar.gz
kiss: extract first
FossilOrigin-Name: a897b18a4b04cef5f1ff2d619c511c76a8541b73db3d09221ae82b1c191b2069
Diffstat (limited to 'kiss')
-rwxr-xr-xkiss12
1 files changed, 7 insertions, 5 deletions
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