diff options
| -rwxr-xr-x | include/vendor.sh | 61 | ||||
| -rwxr-xr-x | script/update/vendor/download | 61 | 
2 files changed, 61 insertions, 61 deletions
| diff --git a/include/vendor.sh b/include/vendor.sh index 4933a5e0..d9854d0f 100755 --- a/include/vendor.sh +++ b/include/vendor.sh @@ -40,64 +40,3 @@ check_defconfig()  	done  	return 1  } - -fetch() -{ -	dl_type="${1}" -	dl="${2}" -	dl_bkup="${3}" -	dlsum="${4}" -	[ "${5# }" = "${5}" ] || err "fetch: space not allowed in _dest: '${5}'" -	[ "${5#/}" = "${5}" ] || err "fetch: absolute path not allowed: '${5}'" -	_dest="${5##*../}" -	_dl="${vendir}/cache/${dlsum}" - -	x_ mkdir -p "${_dl%/*}" - -	dl_fail="y" -	vendor_checksum "${dlsum}" "${_dl}" && dl_fail="n" -	for url in "${dl}" "${dl_bkup}"; do -		[ "${dl_fail}" = "n" ] && break -		[ -z "${url}" ] && continue -		x_ rm -f "${_dl}" -		curl --location --retry 3 -A "${_ua}" "${url}" -o "${_dl}" || \ -		    wget --tries 3 -U "${_ua}" "${url}" -O "${_dl}" || \ -		    continue -		vendor_checksum "${dlsum}" "${_dl}" && dl_fail="n" -	done -	[ "${dl_fail}" = "y" ] && \ -		err "fetch ${dlsum}: matched file unavailable" - -	x_ rm -Rf "${_dl}_extracted" -	mkdirs "${_dest}" "extract_${dl_type}" || return 0 -	eval "extract_${dl_type}" - -	[ -f "${_dest}" ] && return 0 -	err "extract_${dl_type} (fetch): missing file: '${_dest}'" -} - -vendor_checksum() -{ -	[ "$(sha512sum ${2} | awk '{print $1}')" != "${1}" ] || return 0  -	printf "Bad checksum for file: %s\n" "${2}" 1>&2 -	rm -f "${2}" || : -	return 1 -} - -mkdirs() -{ -	[ -f "${1}" ] && \ -		printf "mkdirs ${1} ${2}: already downloaded\n" 1>&2 && return 1 -	x_ mkdir -p "${1%/*}" -	x_ rm -Rf "${appdir}" -	x_ mkdir -p "${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 -} diff --git a/script/update/vendor/download b/script/update/vendor/download index 6c83b0ca..a32be3ba 100755 --- a/script/update/vendor/download +++ b/script/update/vendor/download @@ -76,6 +76,60 @@ download_vendorfiles()  	    "${CONFIG_MRC_FILE}"  } +fetch() +{ +	dl_type="${1}" +	dl="${2}" +	dl_bkup="${3}" +	dlsum="${4}" +	[ "${5# }" = "${5}" ] || err "fetch: space not allowed in _dest: '${5}'" +	[ "${5#/}" = "${5}" ] || err "fetch: absolute path not allowed: '${5}'" +	_dest="${5##*../}" +	_dl="${vendir}/cache/${dlsum}" + +	x_ mkdir -p "${_dl%/*}" + +	dl_fail="y" +	vendor_checksum "${dlsum}" "${_dl}" && dl_fail="n" +	for url in "${dl}" "${dl_bkup}"; do +		[ "${dl_fail}" = "n" ] && break +		[ -z "${url}" ] && continue +		x_ rm -f "${_dl}" +		curl --location --retry 3 -A "${_ua}" "${url}" -o "${_dl}" || \ +		    wget --tries 3 -U "${_ua}" "${url}" -O "${_dl}" || \ +		    continue +		vendor_checksum "${dlsum}" "${_dl}" && dl_fail="n" +	done +	[ "${dl_fail}" = "y" ] && \ +		err "fetch ${dlsum}: matched file unavailable" + +	x_ rm -Rf "${_dl}_extracted" +	mkdirs "${_dest}" "extract_${dl_type}" || return 0 +	eval "extract_${dl_type}" + +	[ -f "${_dest}" ] && return 0 +	err "extract_${dl_type} (fetch): missing file: '${_dest}'" +} + +vendor_checksum() +{ +	[ "$(sha512sum ${2} | awk '{print $1}')" != "${1}" ] || return 0  +	printf "Bad checksum for file: %s\n" "${2}" 1>&2 +	rm -f "${2}" || : +	return 1 +} + +mkdirs() +{ +	[ -f "${1}" ] && \ +		printf "mkdirs ${1} ${2}: already downloaded\n" 1>&2 && return 1 +	x_ mkdir -p "${1%/*}" +	x_ rm -Rf "${appdir}" +	x_ mkdir -p "${appdir}/" +	extract_archive "${_dl}" "${appdir}" || \ +	    [ "${2}" = "extract_e6400vga" ] || err "mkdirs ${1} ${2}: !extract" +} +  extract_intel_me()  {  	_me="${PWD}/${_dest}" # must always be an absolute path @@ -111,6 +165,13 @@ extract_intel_me()  	rm -Rf "${sdir}" || err "extract_intel_me: !rm -Rf ${sdir}"  } +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 +} +  extract_kbc1126ec()  {  	( | 
