V6.6.5 优化固件日志打印
This commit is contained in:
parent
7a0624798f
commit
f462651de1
|
@ -198,9 +198,9 @@ function LOAD_VARIABLE() {
|
||||||
} || LOGGER "[LOAD_VARIABLE] 未检测到环境变量列表: [$1]"
|
} || LOGGER "[LOAD_VARIABLE] 未检测到环境变量列表: [$1]"
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
[[ -z ${TARGET_PROFILE} ]] && TARGET_PROFILE="$(jsonfilter -e '@.model.id' < /etc/board.json | tr ',' '_')"
|
[[ -z ${TARGET_PROFILE} ]] && TARGET_PROFILE="$(jsonfilter -i /etc/board.json -e '@.model.id' | tr ',' '_')"
|
||||||
[[ -z ${TARGET_PROFILE} ]] && ECHO r "获取设备名称失败!" && EXIT 1
|
[[ -z ${TARGET_PROFILE} ]] && ECHO r "获取设备名称失败!" && EXIT 1
|
||||||
[[ -z ${Github} ]] && ECHO "Github URL 获取失败!" && EXIT 1
|
[[ -z ${Github} ]] && ECHO r "Github URL 获取失败!" && EXIT 1
|
||||||
[[ -z ${CURRENT_Version} ]] && CURRENT_Version="未知"
|
[[ -z ${CURRENT_Version} ]] && CURRENT_Version="未知"
|
||||||
Firmware_Author="${Github##*com/}"
|
Firmware_Author="${Github##*com/}"
|
||||||
Github_Release="${Github}/releases/download/AutoUpdate"
|
Github_Release="${Github}/releases/download/AutoUpdate"
|
||||||
|
@ -333,41 +333,14 @@ function CHECK_DEPENDS() {
|
||||||
ECHO y "AutoUpdate 依赖检测结束,请尝试手动安装测结果为 [false] 的项目!"
|
ECHO y "AutoUpdate 依赖检测结束,请尝试手动安装测结果为 [false] 的项目!"
|
||||||
}
|
}
|
||||||
|
|
||||||
function FW_VERSION_CHECK() {
|
function CHECK_VERSION() {
|
||||||
[[ $# -gt 1 ]] && echo false && return
|
[[ $# -gt 1 ]] && echo false && return
|
||||||
[[ $1 =~ R[1-9.]{2}.+-[0-9]{8} ]] && {
|
[[ $1 =~ R[1-9.]{2}.+-[0-9]{8} ]] && {
|
||||||
echo true
|
echo true
|
||||||
LOGGER "[FW_VERSION_CHECK] 检查固件版本号: [$1] ... true"
|
LOGGER "[CHECK_VERSION] 检查固件版本号: [$1] ... true"
|
||||||
} || {
|
} || {
|
||||||
echo false
|
echo false
|
||||||
LOGGER "[FW_VERSION_CHECK] 检查固件版本号: [$1] ... false"
|
LOGGER "[CHECK_VERSION] 检查固件版本号: [$1] ... false"
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function GET_FW_LOG() {
|
|
||||||
local Result
|
|
||||||
[[ ! $(cat ${API_File}) =~ Update_Logs.json ]] && return 1
|
|
||||||
case "$1" in
|
|
||||||
[Ll]ocal)
|
|
||||||
FW_Version="${CURRENT_Version}"
|
|
||||||
;;
|
|
||||||
[Cc]loud)
|
|
||||||
FW_Version="$(GET_CLOUD_INFO version)"
|
|
||||||
;;
|
|
||||||
-v)
|
|
||||||
shift
|
|
||||||
FW_Version="$1"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
[[ $(CHECK_TIME ${Running_Path}/Update_Logs.json 2) == false ]] && {
|
|
||||||
DOWNLOADER --path ${Running_Path} --file-name Update_Logs.json --dl ${DOWNLOADERS} --url "$(URL_X ${Github_Release} G@@1)" --timeout 3 --type 固件更新日志 --quiet
|
|
||||||
}
|
|
||||||
[[ -s ${Running_Path}/Update_Logs.json ]] && {
|
|
||||||
Result=$(jsonfilter -e '@["'"""${TARGET_PROFILE}"""'"]["'"""${FW_Version}"""'"]' < ${Running_Path}/Update_Logs.json 2> /dev/null)
|
|
||||||
[[ -n ${Result} ]] && {
|
|
||||||
echo -e "\n${Grey}${FW_Version} for ${TARGET_PROFILE} 更新日志:"
|
|
||||||
echo -e "\n${Green}${Result}${White}"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -395,15 +368,15 @@ function ANALYSIS_API() {
|
||||||
RM ${API_File} && touch -a ${API_File}
|
RM ${API_File} && touch -a ${API_File}
|
||||||
LOGGER "[ANALYSIS_API] 开始解析 Github API ..."
|
LOGGER "[ANALYSIS_API] 开始解析 Github API ..."
|
||||||
local i=1;while :;do
|
local i=1;while :;do
|
||||||
name=$(jsonfilter -e '@["assets"]' < ${API_Dump} | jsonfilter -e '@['"""$i"""'].name' 2> /dev/null)
|
name=$(jsonfilter -i ${API_Dump} -e '@["assets"]' | jsonfilter -e '@['"""$i"""'].name' 2> /dev/null)
|
||||||
[[ ! $? == 0 ]] && break
|
[[ ! $? == 0 ]] && break
|
||||||
if [[ ${name} =~ "AutoBuild-${OP_REPO_NAME}-${TARGET_PROFILE}" ]]
|
if [[ ${name} =~ "AutoBuild-${OP_REPO_NAME}-${TARGET_PROFILE}" || ${name} =~ Update_Logs.json ]]
|
||||||
then
|
then
|
||||||
version=$(echo ${name} | egrep -o "R[0-9.]+-[0-9]+")
|
version=$(echo ${name} | egrep -o "R[0-9.]+-[0-9]+")
|
||||||
url=$(jsonfilter -e '@["assets"]' < ${API_Dump} | jsonfilter -e '@['"""$i"""'].browser_download_url' 2> /dev/null)
|
url=$(jsonfilter -i ${API_Dump} -e '@["assets"]' | jsonfilter -e '@['"""$i"""'].browser_download_url' 2> /dev/null)
|
||||||
size=$(jsonfilter -e '@["assets"]' < ${API_Dump} | jsonfilter -e '@['"""$i"""'].size' 2> /dev/null | awk '{a=$1/1048576} {printf("%.2f\n",a)}')
|
size=$(jsonfilter -i ${API_Dump} -e '@["assets"]' | jsonfilter -e '@['"""$i"""'].size' 2> /dev/null | awk '{a=$1/1048576} {printf("%.2f\n",a)}')
|
||||||
date=$(echo ${version} | cut -d '-' -f2)
|
date=$(echo ${version} | cut -d '-' -f2)
|
||||||
count=$(jsonfilter -e '@["assets"]' < ${API_Dump} | jsonfilter -e '@['"""$i"""'].download_count' 2> /dev/null)
|
count=$(jsonfilter -i ${API_Dump} -e '@["assets"]' | jsonfilter -e '@['"""$i"""'].download_count' 2> /dev/null)
|
||||||
printf "%-5s %-75s %-20s %-10s %-15s %s\n" ${count} ${name} ${version} ${date} ${size}MB ${url} >> ${API_File}
|
printf "%-5s %-75s %-20s %-10s %-15s %s\n" ${count} ${name} ${version} ${date} ${size}MB ${url} >> ${API_File}
|
||||||
fi
|
fi
|
||||||
i=$(($i + 1))
|
i=$(($i + 1))
|
||||||
|
@ -419,6 +392,36 @@ function ANALYSIS_API() {
|
||||||
} || LOGGER "[ANALYSIS_API] Github API 解析成功!"
|
} || LOGGER "[ANALYSIS_API] Github API 解析成功!"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function GET_CLOUD_LOG() {
|
||||||
|
local Result Version
|
||||||
|
[[ ! $(cat ${API_File} 2> /dev/null) =~ Update_Logs.json ]] && {
|
||||||
|
LOGGER "[GET_CLOUD_LOG] 未检测到云端日志文件!"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
case "$1" in
|
||||||
|
[Ll]ocal)
|
||||||
|
Version="${CURRENT_Version}"
|
||||||
|
;;
|
||||||
|
[Cc]loud)
|
||||||
|
Version="$(GET_CLOUD_INFO version)"
|
||||||
|
;;
|
||||||
|
-v)
|
||||||
|
shift
|
||||||
|
Version="$1"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
[[ $(CHECK_TIME ${Running_Path}/Update_Logs.json 1) == false ]] && {
|
||||||
|
DOWNLOADER --path ${Running_Path} --file-name Update_Logs.json --dl ${DOWNLOADERS} --url "$(URL_X ${Github_Release} G@@1)" --timeout 3 --type 固件更新日志 --quiet
|
||||||
|
}
|
||||||
|
[[ -s ${Running_Path}/Update_Logs.json ]] && {
|
||||||
|
Result=$(jsonfilter -i ${Running_Path}/Update_Logs.json -e '@["'"""${TARGET_PROFILE}"""'"]["'"""${Version}"""'"]' 2> /dev/null)
|
||||||
|
[[ -n ${Result} ]] && {
|
||||||
|
echo -e "\n${Grey}${Version} for ${TARGET_PROFILE} 更新日志:"
|
||||||
|
echo -e "\n${Green}${Result}${White}"
|
||||||
|
} || LOGGER "当前固件日志解析失败!"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function GET_CLOUD_INFO() {
|
function GET_CLOUD_INFO() {
|
||||||
local Info
|
local Info
|
||||||
[[ ! -s ${API_File} ]] && {
|
[[ ! -s ${API_File} ]] && {
|
||||||
|
@ -578,17 +581,16 @@ EOF
|
||||||
LOGGER "云端固件名称: ${CLOUD_FW_Name}"
|
LOGGER "云端固件名称: ${CLOUD_FW_Name}"
|
||||||
LOGGER "云端固件体积: ${CLOUD_FW_Size}"
|
LOGGER "云端固件体积: ${CLOUD_FW_Size}"
|
||||||
LOGGER "固件下载人数: ${CLOUD_FW_Count}"
|
LOGGER "固件下载人数: ${CLOUD_FW_Count}"
|
||||||
GET_FW_LOG -v ${CLOUD_FW_Version}
|
GET_CLOUD_LOG -v ${CLOUD_FW_Version}
|
||||||
case "${Upgrade_Stopped}" in
|
case "${Upgrade_Stopped}" in
|
||||||
1 | 2)
|
1 | 2)
|
||||||
[[ ${AutoUpdate_Mode} == 1 ]] && ECHO y "当前固件已是最新版本,无需更新!" && EXIT 0
|
[[ ${AutoUpdate_Mode} == 1 ]] && ECHO y "当前固件已是最新版本,无需更新!" && EXIT 0
|
||||||
[[ ${Upgrade_Stopped} == 1 ]] && err_MSG="当前固件已是最新版本" || err_MSG="云端固件版本为旧版"
|
[[ ${Upgrade_Stopped} == 1 ]] && err_MSG="当前固件已是最新版本" || err_MSG="云端固件版本为旧版"
|
||||||
[[ ! ${Force_Mode} == 1 ]] && {
|
[[ ! ${Force_Mode} == 1 ]] && {
|
||||||
LOGGER "${err_MSG}!"
|
|
||||||
ECHO && read -p "${err_MSG},是否继续更新固件?[Y/n]:" Choose
|
ECHO && read -p "${err_MSG},是否继续更新固件?[Y/n]:" Choose
|
||||||
} || Choose=Y
|
} || Choose=Y
|
||||||
[[ ! ${Choose} =~ [Yy] ]] && {
|
[[ ! ${Choose} =~ [Yy] ]] && {
|
||||||
LOGGER "已取消当前更新操作!"
|
LOGGER "已取消固件更新操作!"
|
||||||
EXIT 0
|
EXIT 0
|
||||||
}
|
}
|
||||||
;;
|
;;
|
||||||
|
@ -1063,18 +1065,18 @@ function AutoUpdate_Main() {
|
||||||
--fw-log)
|
--fw-log)
|
||||||
shift
|
shift
|
||||||
ANALYSIS_API
|
ANALYSIS_API
|
||||||
[[ -z $* ]] && GET_FW_LOG local
|
[[ -z $* ]] && GET_CLOUD_LOG local
|
||||||
case "$1" in
|
case "$1" in
|
||||||
[Cc]loud)
|
[Cc]loud)
|
||||||
GET_FW_LOG $1
|
GET_CLOUD_LOG $1
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
[[ -z $* ]] && EXIT 0
|
[[ -z $* ]] && EXIT 0
|
||||||
[[ ! $(FW_VERSION_CHECK $1) == true ]] && {
|
[[ ! $(CHECK_VERSION $1) == true ]] && {
|
||||||
ECHO r "固件版本号合法性检查失败!"
|
ECHO r "固件版本号合法性检查失败!"
|
||||||
EXIT 1
|
EXIT 1
|
||||||
} || {
|
} || {
|
||||||
GET_FW_LOG -v $1
|
GET_CLOUD_LOG -v $1
|
||||||
}
|
}
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
Loading…
Reference in New Issue