From 9f5a5450afda39973d9da4fa3bed97c365a5acd2 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 29 Sep 2023 23:40:57 +0100 Subject: blobs/download: move helpers to include/blobutil mkdirs() should be in include/blobutil.sh, as should extract_archive(), because that is primarily where they are used. script/update/blobs/download calls these functions aswell, but it sources include/blobutil.sh so it's OK. Signed-off-by: Leah Rowe --- include/blobutil.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'include') diff --git a/include/blobutil.sh b/include/blobutil.sh index a14f92c1..873d368d 100755 --- a/include/blobutil.sh +++ b/include/blobutil.sh @@ -96,3 +96,21 @@ vendor_checksum() return 1 fi } + +mkdirs() +{ + [ -f "${1}" ] && \ + printf "mkdirs ${1} ${2}: already downloaded\n" 1>&2 && return 1 + mkdir -p "${1%/*}" || err "mkdirs ${1} ${2}: !mkdir ${1%/*}" + rm -Rf "${appdir}" || err "mkdirs ${1} ${2}: can't remove ${appdir}" + mkdir -p "${appdir}/" || err "mkdirs ${1} ${2}: !mkdir ${appdir}" + extract_archive "${_dl}" "${appdir}" || \ + [ "${2}" = "extract_e6400vga" ] || err "mkdirs ${1} ${2}: !extract" +} + +extract_archive() +{ + innoextract "${1}" -d "${2}" || python "${pfs_extract}" "${1}" -e || \ + 7z x "${1}" -o"${2}" || unar "${1}" -o "${2}" || \ + unzip "${1}" -d "${2}" || return 1 +} -- cgit v1.2.1