From 5e8f17f8ffac2142cd8282a591c515ac4f7a3910 Mon Sep 17 00:00:00 2001 From: "David M. Syzdek" Date: Thu, 11 Mar 2021 14:46:41 -0900 Subject: scripts/download: fixing download for non-iso distros --- src/scripts/download.sh | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/scripts/download.sh b/src/scripts/download.sh index cf79b8c..b03ec9b 100755 --- a/src/scripts/download.sh +++ b/src/scripts/download.sh @@ -88,7 +88,7 @@ cleanup() } -extactiso() +extractiso() { # create temp mount point EXTRACT_MKTEMP="$(mktemp -d -p "tmp/" "$(basename "${EXTRACTDIR}").XXXXXX")" @@ -110,6 +110,23 @@ extactiso() } +extracttar() +{ + mkdir -p "${EXTRACTDIR}" + case "${FILE}" in + *.tar.gz) gzip -cd "${FILE}" |tar -xf - -C "${EXTRACTDIR}";; + *.tgz) gzip -cd "${FILE}" |tar -xf - -C "${EXTRACTDIR}";; + *.tar.bz2) bzip2 -cd "${FILE}" |tar -xf - -C "${EXTRACTDIR}";; + *.tbz) bzip2 -cd "${FILE}" |tar -xf - -C "${EXTRACTDIR}";; + *.tbz2) bzip2 -cd "${FILE}" |tar -xf - -C "${EXTRACTDIR}";; + *.tar.xz) xz -cd "${FILE}" |tar -xf - -C "${EXTRACTDIR}";; + *.txz) xz -cd "${FILE}" |tar -xf - -C "${EXTRACTDIR}";; + *) + ;; + esac +} + + usage() { printf "Usage: %s [OPTIONS] \n" "$PROG_NAME" @@ -216,19 +233,8 @@ if test ! -z "${HASH_FILE}";then fi if test ! -z "${EXTRACTDIR}";then case "${FILE}" in - *.iso) EXTRACT_CMD="extactiso";; - *.tar.gz) EXTRACT_CMD="gzip -cd '${FILE}' |tar -xf - -C '${EXTRACTDIR}'";; - *.tgz) EXTRACT_CMD="gzip -cd '${FILE}' |tar -xf - -C '${EXTRACTDIR}'";; - *.tar.bz2) EXTRACT_CMD="bzip2 -cd '${FILE}' |tar -xf - -C '${EXTRACTDIR}'";; - *.tbz) EXTRACT_CMD="bzip2 -cd '${FILE}' |tar -xf - -C '${EXTRACTDIR}'";; - *.tbz2) EXTRACT_CMD="bzip2 -cd '${FILE}' |tar -xf - -C '${EXTRACTDIR}'";; - *.tar.xz) EXTRACT_CMD="xz -cd '${FILE}' |tar -xf - -C '${EXTRACTDIR}'";; - *.txz) EXTRACT_CMD="xz -cd '${FILE}' |tar -xf - -C '${EXTRACTDIR}'";; - *) - echo "${PROG_NAME}: unknown file extension for extracting archive" 1>&2 - echo "Try '${PROG_NAME} -h' for more information." 1>&2 - exit 1 - ;; + *.iso) EXTRACT_CMD="extractiso";; + *) EXTRACT_CMD="extracttar";; esac fi -- cgit v1.2.3