diff options
author | dylan.araps@gmail.com <dylan.araps@gmail.com> | 2019-09-23 06:30:33 +0000 |
---|---|---|
committer | dylan.araps@gmail.com <dylan.araps@gmail.com> | 2019-09-23 06:30:33 +0000 |
commit | fe2fa18317866ed96c0de4badda0ba0e4de20b83 (patch) | |
tree | 659bb61eaa376fb072742df19b3d75a32aeb25b5 | |
parent | 20017748c8e655aa5e5b1a69bbb92a59a9d06c6e (diff) | |
download | cpt-fe2fa18317866ed96c0de4badda0ba0e4de20b83.tar.gz |
kiss: swap to if tests
FossilOrigin-Name: c20a964430766db61ff52d8217608dc6ab87998447190fa3ee2c5029303e15c5
-rwxr-xr-x | kiss | 80 |
1 files changed, 36 insertions, 44 deletions
@@ -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" } |