From a37ee1cd31f47d05a0f2b0059c46a2181e3565cb Mon Sep 17 00:00:00 2001 From: shenmo <47873776+shenmo7192@users.noreply.github.com> Date: Thu, 19 Feb 2026 20:40:02 +0800 Subject: [PATCH 1/2] sync: https://gitee.com/spark-store-project/spark-store/commit/fda3f70d5dcf2cc50e2bf42f1430d7c218d303d9 --- extras/check-is-installed | 60 +++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/extras/check-is-installed b/extras/check-is-installed index 32518154..966d9ba4 100755 --- a/extras/check-is-installed +++ b/extras/check-is-installed @@ -5,41 +5,39 @@ readonly ACE_ENVIRONMENTS=( "deepin23-run:amber-ce-deepin23" "sid-run:amber-ce-sid" ) -dpkg -s "$1" > /dev/null +dpkg -s "$1" > /dev/null 2>&1 RET="$?" -if [[ "$RET" != "0" ]] &&[[ "$IS_ACE_ENV" == "" ]];then ## 如果未在ACE环境中 +if [[ "$RET" != "0" ]] && [[ "$IS_ACE_ENV" == "" ]];then ## 如果未在ACE环境中 - - -for ace_entry in "${ACE_ENVIRONMENTS[@]}"; do - ace_cmd=${ace_entry%%:*} - if command -v "$ace_cmd" >/dev/null 2>&1; then + for ace_entry in "${ACE_ENVIRONMENTS[@]}"; do + ace_cmd=${ace_entry%%:*} + if command -v "$ace_cmd" >/dev/null 2>&1; then + echo "----------------------------------------" + echo "正在检查 $ace_cmd 环境的安装..." + echo "----------------------------------------" + + # 在ACE环境中使用dpkg -s检查安装状态 + # 使用dpkg -s并检查输出中是否包含"Status: install ok installed" + $ace_cmd bash -c "dpkg -s '$1' 2>/dev/null | grep -q 'Status: install ok installed'" + try_run_ret="$?" + + # 最终检测结果处理 + if [ "$try_run_ret" -eq 0 ]; then echo "----------------------------------------" - echo "正在检查 $ace_cmd 环境的安装..." + echo "在 $ace_cmd 环境中找到了安装" + echo "----------------------------------------" + exit $try_run_ret + else + echo "----------------------------------------" + echo "在 $ace_cmd 环境中未能找到安装,继续查找" echo "----------------------------------------" - - # 在ACE环境中执行安装检测 - $ace_cmd dpkg -l | grep "^ii $1 " > /dev/null - try_run_ret="$?" - - - # 最终检测结果处理 - if [ "$try_run_ret" -eq 0 ]; then - echo "----------------------------------------" - echo "在 $ace_cmd 环境中找到了安装" - echo "----------------------------------------" - exit $try_run_ret - else - echo "----------------------------------------" - echo "在 $ace_cmd 环境中未能找到安装,继续查找" - echo "----------------------------------------" - fi fi - done - echo "----------------------------------------" - echo "所有已安装的 ACE 环境中未能找到安装,退出" - echo "----------------------------------------" - exit "$RET" - fi + fi + done + echo "----------------------------------------" + echo "所有已安装的 ACE 环境中未能找到安装,退出" + echo "----------------------------------------" + exit "$RET" +fi ## 如果在ACE环境中或者未出错 exit "$RET" From 95e22894a777915de1f4139ab18e55310596a423 Mon Sep 17 00:00:00 2001 From: shenmo <47873776+shenmo7192@users.noreply.github.com> Date: Thu, 19 Feb 2026 21:07:00 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E7=8A=B6=E6=80=81=E5=88=A4=E6=96=AD=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extras/check-is-installed | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extras/check-is-installed b/extras/check-is-installed index 966d9ba4..34643bfc 100755 --- a/extras/check-is-installed +++ b/extras/check-is-installed @@ -5,7 +5,7 @@ readonly ACE_ENVIRONMENTS=( "deepin23-run:amber-ce-deepin23" "sid-run:amber-ce-sid" ) -dpkg -s "$1" > /dev/null 2>&1 +dpkg -s '$1' 2>/dev/null | grep -q 'Status: install ok installed' > /dev/null 2>&1 RET="$?" if [[ "$RET" != "0" ]] && [[ "$IS_ACE_ENV" == "" ]];then ## 如果未在ACE环境中 @@ -18,7 +18,7 @@ if [[ "$RET" != "0" ]] && [[ "$IS_ACE_ENV" == "" ]];then ## 如果未在ACE环 # 在ACE环境中使用dpkg -s检查安装状态 # 使用dpkg -s并检查输出中是否包含"Status: install ok installed" - $ace_cmd bash -c "dpkg -s '$1' 2>/dev/null | grep -q 'Status: install ok installed'" + $ace_cmd dpkg -s "$1" 2>/dev/null | grep -q 'Status: install ok installed' try_run_ret="$?" # 最终检测结果处理