aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornoreply@github.com <noreply@github.com>2019-09-23 06:40:52 +0000
committernoreply@github.com <noreply@github.com>2019-09-23 06:40:52 +0000
commit87feb4260ff766bd497854f5f4c7905c1f27e350 (patch)
tree1e1fd55f31898d8f8fef2333182afbdc16698d9d
parent20017748c8e655aa5e5b1a69bbb92a59a9d06c6e (diff)
parenteb8a4889f96d75b02fe074917ac5555814c3db02 (diff)
downloadcpt-87feb4260ff766bd497854f5f4c7905c1f27e350.tar.gz
Merge pull request #57 from kisslinux/ifsbaby
Use if instead of case FossilOrigin-Name: 18929ac5b23cd0a8268ab3d534f0636ea7efb6bd06cc09627f36a8bf5ab8af95
-rwxr-xr-xkiss80
1 files changed, 36 insertions, 44 deletions
diff --git a/kiss b/kiss
index 07688af..a46989b 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*}" ] || [ -z "${src##*.tgz}" ]; 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"
}