diff options
author | noreply@github.com <noreply@github.com> | 2019-09-23 06:40:52 +0000 |
---|---|---|
committer | noreply@github.com <noreply@github.com> | 2019-09-23 06:40:52 +0000 |
commit | 87feb4260ff766bd497854f5f4c7905c1f27e350 (patch) | |
tree | 1e1fd55f31898d8f8fef2333182afbdc16698d9d /kiss | |
parent | 20017748c8e655aa5e5b1a69bbb92a59a9d06c6e (diff) | |
parent | eb8a4889f96d75b02fe074917ac5555814c3db02 (diff) | |
download | cpt-87feb4260ff766bd497854f5f4c7905c1f27e350.tar.gz |
Merge pull request #57 from kisslinux/ifsbaby
Use if instead of case
FossilOrigin-Name: 18929ac5b23cd0a8268ab3d534f0636ea7efb6bd06cc09627f36a8bf5ab8af95
Diffstat (limited to 'kiss')
-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*}" ] || [ -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" } |