From e86b381d98f4aef264925435e89b2f3c175c2bfa Mon Sep 17 00:00:00 2001 From: shenmo Date: Wed, 25 Sep 2024 07:34:40 +0000 Subject: [PATCH] update upgrader Signed-off-by: shenmo --- .../ace-upgrader/ace-upgrader | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/flamescion-container-tools/ace-upgrader/ace-upgrader b/src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/flamescion-container-tools/ace-upgrader/ace-upgrader index afbc48b..923aa41 100755 --- a/src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/flamescion-container-tools/ace-upgrader/ace-upgrader +++ b/src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/flamescion-container-tools/ace-upgrader/ace-upgrader @@ -1,5 +1,5 @@ #!/bin/bash -export LANGUAGE=en_US + @@ -96,7 +96,7 @@ fi -if [ $(which aptss) ];then +if command -v aptss ;then APT_COMMAND=aptss /usr/bin/apt update log.info "Using aptss to operate the upgrade process since we detect it." @@ -121,18 +121,16 @@ updatetext=`${APT_COMMAND} update 2>&1` done -isupdate=`echo ${updatetext: -5}` -if [ "$isupdate" = "date." ] ; then - log.info "No need to upgrade. exit" + +# 获取可升级包的数量 +update_app_number=$(env LANGUAGE=en_US ${APT_COMMAND} list --upgradable 2>/dev/null | grep -c upgradable) + +if [ "$update_app_number" -le 0 ] ; then exit 0 fi -## 从这里开始,只有检测到了更新才会进行 -update_app_number=`echo ${updatetext%package*} #从右向左截取第一个 src 后的字符串` -update_app_number=`echo ${update_app_number##*information...}` - # 获取用户选择的要更新的应用 -PKG_LIST="$(env LANGUAGE=en_US /usr/bin/apt list --upgradable | awk NR\>1)" +PKG_LIST="$(env LANGUAGE=en_US ${APT_COMMAND} list --upgradable | awk NR\>1)" # 指定分隔符为 \n IFS_OLD="$IFS" IFS=$'\n' @@ -142,12 +140,12 @@ for line in $PKG_LIST ; do PKG_NEW_VER=$(echo $line | awk -F ' ' '{print $2}') PKG_CUR_VER=$(echo $line | awk -F ' ' '{print $3}') - dpkg --compare-versions $PKG_NEW_VER le $PKG_CUR_VER +# dpkg --compare-versions $PKG_NEW_VER le $PKG_CUR_VER - if [ $? -eq 0 ] ; then - let update_app_number=$update_app_number-1 - continue - fi +# if [ $? -eq 0 ] ; then +# let update_app_number=$update_app_number-1 +# continue +# fi ## 检测是否是 hold 状态 PKG_STA=$(dpkg-query -W -f='${db:Status-Want}' $PKG_NAME)