aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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