aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordylan.araps@gmail.com <dylan.araps@gmail.com>2019-09-23 06:30:33 +0000
committerdylan.araps@gmail.com <dylan.araps@gmail.com>2019-09-23 06:30:33 +0000
commitfe2fa18317866ed96c0de4badda0ba0e4de20b83 (patch)
tree659bb61eaa376fb072742df19b3d75a32aeb25b5
parent20017748c8e655aa5e5b1a69bbb92a59a9d06c6e (diff)
downloadcpt-fe2fa18317866ed96c0de4badda0ba0e4de20b83.tar.gz
kiss: swap to if tests
FossilOrigin-Name: c20a964430766db61ff52d8217608dc6ab87998447190fa3ee2c5029303e15c5
-rwxr-xr-xkiss80
1 files changed, 36 insertions, 44 deletions
diff --git a/kiss b/kiss
index 07688af..cfb280f 100755
--- a/kiss
+++ b/kiss
@@ -132,27 +132,24 @@ pkg_sources() {
repo_dir=$(pkg_find "$1")
while read -r src _; do
- case $src in
- # Remote source.
- *://*)
- [ -f "${src##*/}" ] && {
- log "$1" "Found cached source '${src##*/}'"
- continue
- }
-
- wget "$src" || {
- rm -f "${src##*/}"
- die "$1" "Failed to download $src"
- }
- ;;
-
- # Local source.
- *)
- [ -f "$repo_dir/$src" ] || die "$1" "No local file '$src'"
-
- log "$1" "Found local file '$src'"
- ;;
- esac
+ # Remote source (cached).
+ if [ -f "${src##*/}" ]; then
+ log "$1" "Found cached source '${src##*/}'"
+
+ # Remote source.
+ elif [ -z "${src##*://*}" ]; then
+ wget "$src" || {
+ rm -f "${src##*/}"
+ die "$1" "Failed to download $src"
+ }
+
+ # Local source.
+ elif [ -f "$repo_dir/$src" ]; then
+ log "$1" "Found local file '$src'"
+
+ else
+ die "$1" "No local file '$src'"
+ fi
done < "$repo_dir/sources"
}
@@ -166,29 +163,24 @@ pkg_extract() {
while read -r src dest; do
mkdir -p "$mak_dir/$1/$dest" && cd "$mak_dir/$1/$dest"
- case $src in
- # Only 'tar' archives are currently supported for extraction.
- # Any other file-types are simply copied to '$mak_dir' which
- # allows for manual extraction.
- *://*.tar*|*://*.tgz)
- tar xf "$src_dir/$1/${src##*/}" --strip-components 1 \
- || die "$1" "Couldn't extract ${src##*/}"
- ;;
-
- *)
- # Local file.
- if [ -f "$repo_dir/$src" ]; then
- cp -f "$repo_dir/$src" .
-
- # Remote file.
- elif [ -f "$src_dir/$1/${src##*/}" ]; then
- cp -f "$src_dir/$1/${src##*/}" .
-
- else
- die "$1" "Local file $src not found"
- fi
- ;;
- esac
+ # Only 'tar' archives are currently supported for extraction.
+ # Any other file-types are simply copied to '$mak_dir' which
+ # allows for manual extraction.
+ if [ -z "${src##*.tar*}" ]; then
+ tar xf "$src_dir/$1/${src##*/}" --strip-components 1 \
+ || die "$1" "Couldn't extract ${src##*/}"
+
+ # Local file.
+ elif [ -f "$repo_dir/$src" ]; then
+ cp -f "$repo_dir/$src" .
+
+ # Remote file.
+ elif [ -f "$src_dir/$1/${src##*/}" ]; then
+ cp -f "$src_dir/$1/${src##*/}" .
+
+ else
+ die "$1" "Local file $src not found"
+ fi
done < "$repo_dir/sources"
}