mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-05-15 21:59:49 +08:00
4.7.0
This commit is contained in:
parent
819e680222
commit
90ad08a6f9
3
debian/changelog
vendored
3
debian/changelog
vendored
@ -1,7 +1,8 @@
|
|||||||
spark-store (4.6.5) UNRELEASED; urgency=medium
|
spark-store (4.7.0) UNRELEASED; urgency=medium
|
||||||
|
|
||||||
* aptss 第二、三阶段加速
|
* aptss 第二、三阶段加速
|
||||||
* 修复部分应用无法启动的问题
|
* 修复部分应用无法启动的问题
|
||||||
|
* 支持使用 ACE deepin23 trixie
|
||||||
|
|
||||||
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
|
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
|
||||||
|
|
||||||
|
138
tool/ssaudit
138
tool/ssaudit
@ -166,77 +166,107 @@ IS_SHA512SUM_CHECKED=skipped
|
|||||||
if [ ! -z "$IS_SHA512SUM_CHECKED" ]; then
|
if [ ! -z "$IS_SHA512SUM_CHECKED" ]; then
|
||||||
echo "校验跳过,开始安装"
|
echo "校验跳过,开始安装"
|
||||||
echo "----------------------------------------------------------------------------------"
|
echo "----------------------------------------------------------------------------------"
|
||||||
package_name=$(dpkg-deb -f "$DEBPATH" Package)
|
package_name=$(dpkg-deb -f "$DEBPATH" Package)
|
||||||
echo "Package name is $package_name"
|
echo "Package name is $package_name"
|
||||||
try_run_output=$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh test-install-app "$DEBPATH")
|
try_run_output=$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh test-install-app "$DEBPATH")
|
||||||
try_run_ret="$?"
|
try_run_ret="$?"
|
||||||
# 安装失败后进行 aptss update 刷新,随后尝试在主机安装
|
# 安装失败后进行 aptss 刷新,随后尝试在主机安装
|
||||||
if [ "$try_run_ret" -ne 0 ]; then
|
if [ "$try_run_ret" -ne 0 ]; then
|
||||||
aptss update
|
aptss update
|
||||||
try_run_output=$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh test-install-app "$DEBPATH")
|
try_run_output=$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh test-install-app "$DEBPATH")
|
||||||
try_run_ret="$?"
|
try_run_ret="$?"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$try_run_ret" -ne 0 ]; then ## 若安装检测仍然失败
|
|
||||||
|
|
||||||
if [[ "$IS_ACE_ENV" == "" ]];then ## 如果已经在ACE里面则不进入分支
|
if [ "$try_run_ret" -ne 0 ]; then ## 若安装检测仍然失败
|
||||||
|
if [[ "$IS_ACE_ENV" == "" ]];then ## 如果未在ACE环境中
|
||||||
|
# 定义按顺序尝试的ACE环境(命令:推荐安装包)
|
||||||
|
declare -a ace_commands_order=(
|
||||||
|
"bookworm-run:amber-ce-bookworm"
|
||||||
|
"trixie-run:amber-ce-trixie"
|
||||||
|
"deepin23-run:amber-ce-deepin23"
|
||||||
|
)
|
||||||
|
|
||||||
|
success=false
|
||||||
|
recommendation_msg=""
|
||||||
|
# 收集所有推荐信息
|
||||||
|
for ace_entry in "${ace_commands_order[@]}"; do
|
||||||
|
recommendation_msg+="您可安装 ${ace_entry%%:*} 兼容环境后重试: ${ace_entry#*:}\n"
|
||||||
|
done
|
||||||
|
|
||||||
if command -v bookworm-run ;then ## 如果 bookworm-run 可用则进行安装
|
# 按顺序尝试每个ACE环境
|
||||||
echo "----------------------------------------"
|
for ace_entry in "${ace_commands_order[@]}"; do
|
||||||
echo "Attention: USING ACE BOOKWORM TO INSTALL"
|
ace_cmd=${ace_entry%%:*}
|
||||||
echo "----------------------------------------"
|
if command -v "$ace_cmd" >/dev/null 2>&1; then
|
||||||
bookworm-run ensure_aptss_exist
|
echo "----------------------------------------"
|
||||||
try_run_output=$(bookworm-run aptss install --dry-run "$DEBPATH")
|
echo "正在尝试使用 $ace_cmd 环境安装..."
|
||||||
try_run_ret="$?"
|
echo "----------------------------------------"
|
||||||
|
|
||||||
|
# 在ACE环境中执行安装检测
|
||||||
|
$ace_cmd ensure_aptss_exist
|
||||||
|
try_run_output=$($ace_cmd aptss install --dry-run "$DEBPATH" 2>&1)
|
||||||
|
try_run_ret="$?"
|
||||||
|
|
||||||
|
# 如果首次检测失败则更新后重试
|
||||||
if [ "$try_run_ret" -ne 0 ]; then
|
if [ "$try_run_ret" -ne 0 ]; then
|
||||||
bookworm-run aptss update
|
$ace_cmd aptss update
|
||||||
try_run_output=$(bookworm-run aptss install --dry-run "$DEBPATH")
|
try_run_output=$($ace_cmd aptss install --dry-run "$DEBPATH" 2>&1)
|
||||||
try_run_ret="$?"
|
try_run_ret="$?"
|
||||||
fi
|
fi
|
||||||
if [ "$try_run_ret" -ne 0 ]; then
|
|
||||||
echo "OMG-IT-GOES-WRONG"
|
# 最终检测结果处理
|
||||||
|
if [ "$try_run_ret" -eq 0 ]; then
|
||||||
|
echo "----------------------------------------"
|
||||||
|
echo "在 $ace_cmd 环境中预检成功,开始安装..."
|
||||||
|
echo "----------------------------------------"
|
||||||
|
$ace_cmd 'dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf'
|
||||||
|
success=true
|
||||||
|
break # 跳出循环
|
||||||
|
else
|
||||||
|
echo "----------------------------------------"
|
||||||
|
echo "在 $ace_cmd 环境中安装预检失败,错误信息:"
|
||||||
echo -e "${try_run_output}"
|
echo -e "${try_run_output}"
|
||||||
echo "----------------------------------------"
|
echo "----------------------------------------"
|
||||||
echo "Attention: USING ACE BOOKWORM TO INSTALL"
|
fi
|
||||||
echo "----------------------------------------"
|
|
||||||
exit "$try_run_ret"
|
|
||||||
fi
|
fi
|
||||||
bookworm-run 'dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf '
|
done
|
||||||
fi
|
|
||||||
|
|
||||||
else # 如果在主机安装失败且未安装ACE,报错退出并推荐安装 ACE
|
if ! $success; then
|
||||||
|
|
||||||
echo "OMG-IT-GOES-WRONG"
|
echo "OMG-IT-GOES-WRONG"
|
||||||
echo -e "${try_run_output}"
|
echo -e "${try_run_output}"
|
||||||
echo "您可在商店安装 ACE Bookworm 兼容环境后重试安装 https://bbs.deepin.org.cn/post/285056 "
|
echo -e "所有ACE环境尝试失败,推荐安装以下任一兼容环境:\n${recommendation_msg}"
|
||||||
exit "$try_run_ret"
|
exit "$try_run_ret"
|
||||||
fi
|
fi
|
||||||
else ## 如果主机安装检测成功了,进入主机安装分支
|
else # 已经在ACE环境中仍失败直接退出
|
||||||
|
echo "OMG-IT-GOES-WRONG"
|
||||||
dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf
|
echo -e "${try_run_output}"
|
||||||
|
exit "$try_run_ret"
|
||||||
fi
|
fi
|
||||||
### 退出阶段
|
else ## 如果主机安装检测成功
|
||||||
|
dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$?" = "0" ] && [ "$2" = "--delete-after-install" ]; then
|
### 退出阶段保持不变 ###
|
||||||
if dpkg -s "$package_name" >/dev/null 2>&1; then
|
if [ "$?" = "0" ] && [ "$2" = "--delete-after-install" ]; then
|
||||||
echo "软件包已安装:$package_name"
|
if dpkg -s "$package_name" >/dev/null 2>&1; then
|
||||||
create_desktop_file
|
echo "软件包已安装:$package_name"
|
||||||
rm "$DEBPATH"
|
create_desktop_file
|
||||||
echo "${TRANSHELL_CONTENT_DEB_IS_DELETED}"
|
unlock_file $DEBPATH
|
||||||
else
|
rm "$DEBPATH"
|
||||||
echo "软件包未安装:$package_name"
|
echo "${TRANSHELL_CONTENT_DEB_IS_DELETED}"
|
||||||
echo "安装异常!抛出错误"
|
|
||||||
echo "OMG-IT-GOES-WRONG"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
echo "${TRANSHELL_CONTENT_WILL_NOT_DELETE_DEB}"
|
echo "软件包未安装:$package_name"
|
||||||
if dpkg -s "$package_name" >/dev/null 2>&1; then
|
echo "安装异常!抛出错误"
|
||||||
echo "软件包已安装:$package_name"
|
echo "OMG-IT-GOES-WRONG"
|
||||||
create_desktop_file
|
fi
|
||||||
else
|
else
|
||||||
echo "软件包未安装:$package_name"
|
echo "${TRANSHELL_CONTENT_WILL_NOT_DELETE_DEB}"
|
||||||
echo "安装异常!抛出错误"
|
if dpkg -s "$package_name" >/dev/null 2>&1; then
|
||||||
echo "OMG-IT-GOES-WRONG"
|
echo "软件包已安装:$package_name"
|
||||||
fi
|
create_desktop_file
|
||||||
|
else
|
||||||
|
echo "软件包未安装:$package_name"
|
||||||
|
echo "安装异常!抛出错误"
|
||||||
|
echo "OMG-IT-GOES-WRONG"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
148
tool/ssinstall
148
tool/ssinstall
@ -1,5 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
SPARK_DOWNLOAD_SERVER_URL="https://d.spark-app.store/"
|
||||||
|
SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL="d.spark-app.store"
|
||||||
source /opt/durapps/spark-store/bin/bashimport/transhell.amber
|
source /opt/durapps/spark-store/bin/bashimport/transhell.amber
|
||||||
|
|
||||||
load_transhell_debug
|
load_transhell_debug
|
||||||
@ -61,15 +62,15 @@ function zenity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function hash_check() {
|
function hash_check() {
|
||||||
if [ ! -e "/var/lib/aptss/lists/d.spark-app.store_${STORE_URL}_Packages" ] && \
|
if [ ! -e "/var/lib/aptss/lists/${SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL}_${STORE_URL}_Packages" ] && \
|
||||||
[ ! -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && \
|
[ ! -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && \
|
||||||
[ ! -e "/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store_${STORE_URL}_Packages" ]; then
|
[ ! -e "/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store_${STORE_URL}_Packages" ]; then
|
||||||
echo "接收星火仓库软件信息中..."
|
echo "接收星火仓库软件信息中..."
|
||||||
aptss ssupdate
|
aptss ssupdate
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e "/var/lib/aptss/lists/d.spark-app.store_${STORE_URL}_Packages" ]; then
|
if [ -e "/var/lib/aptss/lists/${SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL}_${STORE_URL}_Packages" ]; then
|
||||||
PACKAGES_DATA_PATH="/var/lib/aptss/lists/d.spark-app.store_${STORE_URL}_Packages"
|
PACKAGES_DATA_PATH="/var/lib/aptss/lists/${SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL}_${STORE_URL}_Packages"
|
||||||
echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是星火域名仓库配置"
|
echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是星火域名仓库配置"
|
||||||
elif [ -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ]; then
|
elif [ -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ]; then
|
||||||
PACKAGES_DATA_PATH="/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages"
|
PACKAGES_DATA_PATH="/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages"
|
||||||
@ -179,78 +180,107 @@ fi
|
|||||||
if [ ! -z "$IS_SHA512SUM_CHECKED" ]; then
|
if [ ! -z "$IS_SHA512SUM_CHECKED" ]; then
|
||||||
echo "校验成功,开始安装"
|
echo "校验成功,开始安装"
|
||||||
echo "----------------------------------------------------------------------------------"
|
echo "----------------------------------------------------------------------------------"
|
||||||
package_name=$(dpkg-deb -f "$DEBPATH" Package)
|
package_name=$(dpkg-deb -f "$DEBPATH" Package)
|
||||||
echo "Package name is $package_name"
|
echo "Package name is $package_name"
|
||||||
try_run_output=$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh test-install-app "$DEBPATH")
|
try_run_output=$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh test-install-app "$DEBPATH")
|
||||||
try_run_ret="$?"
|
try_run_ret="$?"
|
||||||
# 安装失败后进行 aptss update 刷新,随后尝试在主机安装
|
# 安装失败后进行 aptss 刷新,随后尝试在主机安装
|
||||||
if [ "$try_run_ret" -ne 0 ]; then
|
if [ "$try_run_ret" -ne 0 ]; then
|
||||||
aptss update
|
aptss update
|
||||||
try_run_output=$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh test-install-app "$DEBPATH")
|
try_run_output=$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh test-install-app "$DEBPATH")
|
||||||
try_run_ret="$?"
|
try_run_ret="$?"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$try_run_ret" -ne 0 ]; then ## 若安装检测仍然失败
|
|
||||||
|
|
||||||
if [[ "$IS_ACE_ENV" == "" ]];then ## 如果已经在ACE里面则不进入分支
|
if [ "$try_run_ret" -ne 0 ]; then ## 若安装检测仍然失败
|
||||||
|
if [[ "$IS_ACE_ENV" == "" ]];then ## 如果未在ACE环境中
|
||||||
|
# 定义按顺序尝试的ACE环境(命令:推荐安装包)
|
||||||
|
declare -a ace_commands_order=(
|
||||||
|
"bookworm-run:amber-ce-bookworm"
|
||||||
|
"trixie-run:amber-ce-trixie"
|
||||||
|
"deepin23-run:amber-ce-deepin23"
|
||||||
|
)
|
||||||
|
|
||||||
|
success=false
|
||||||
|
recommendation_msg=""
|
||||||
|
# 收集所有推荐信息
|
||||||
|
for ace_entry in "${ace_commands_order[@]}"; do
|
||||||
|
recommendation_msg+="您可安装 ${ace_entry%%:*} 兼容环境后重试: ${ace_entry#*:}\n"
|
||||||
|
done
|
||||||
|
|
||||||
if command -v bookworm-run ;then ## 如果 bookworm-run 可用则进行安装
|
# 按顺序尝试每个ACE环境
|
||||||
echo "----------------------------------------"
|
for ace_entry in "${ace_commands_order[@]}"; do
|
||||||
echo "Attention: USING ACE BOOKWORM TO INSTALL"
|
ace_cmd=${ace_entry%%:*}
|
||||||
echo "----------------------------------------"
|
if command -v "$ace_cmd" >/dev/null 2>&1; then
|
||||||
bookworm-run ensure_aptss_exist
|
echo "----------------------------------------"
|
||||||
try_run_output=$(bookworm-run aptss install --dry-run "$DEBPATH")
|
echo "正在尝试使用 $ace_cmd 环境安装..."
|
||||||
try_run_ret="$?"
|
echo "----------------------------------------"
|
||||||
|
|
||||||
|
# 在ACE环境中执行安装检测
|
||||||
|
$ace_cmd ensure_aptss_exist
|
||||||
|
try_run_output=$($ace_cmd aptss install --dry-run "$DEBPATH" 2>&1)
|
||||||
|
try_run_ret="$?"
|
||||||
|
|
||||||
|
# 如果首次检测失败则更新后重试
|
||||||
if [ "$try_run_ret" -ne 0 ]; then
|
if [ "$try_run_ret" -ne 0 ]; then
|
||||||
bookworm-run aptss update
|
$ace_cmd aptss update
|
||||||
try_run_output=$(bookworm-run aptss install --dry-run "$DEBPATH")
|
try_run_output=$($ace_cmd aptss install --dry-run "$DEBPATH" 2>&1)
|
||||||
try_run_ret="$?"
|
try_run_ret="$?"
|
||||||
fi
|
fi
|
||||||
if [ "$try_run_ret" -ne 0 ]; then
|
|
||||||
echo "OMG-IT-GOES-WRONG"
|
# 最终检测结果处理
|
||||||
|
if [ "$try_run_ret" -eq 0 ]; then
|
||||||
|
echo "----------------------------------------"
|
||||||
|
echo "在 $ace_cmd 环境中预检成功,开始安装..."
|
||||||
|
echo "----------------------------------------"
|
||||||
|
$ace_cmd 'dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf'
|
||||||
|
success=true
|
||||||
|
break # 跳出循环
|
||||||
|
else
|
||||||
|
echo "----------------------------------------"
|
||||||
|
echo "在 $ace_cmd 环境中安装预检失败,错误信息:"
|
||||||
echo -e "${try_run_output}"
|
echo -e "${try_run_output}"
|
||||||
echo "----------------------------------------"
|
echo "----------------------------------------"
|
||||||
echo "Attention: USING ACE BOOKWORM TO INSTALL"
|
fi
|
||||||
echo "----------------------------------------"
|
|
||||||
exit "$try_run_ret"
|
|
||||||
fi
|
fi
|
||||||
bookworm-run 'dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf '
|
done
|
||||||
fi
|
|
||||||
|
|
||||||
else # 如果在主机安装失败且未安装ACE,报错退出并推荐安装 ACE
|
if ! $success; then
|
||||||
|
|
||||||
echo "OMG-IT-GOES-WRONG"
|
echo "OMG-IT-GOES-WRONG"
|
||||||
echo -e "${try_run_output}"
|
echo -e "${try_run_output}"
|
||||||
echo "您可在商店安装 ACE Bookworm 兼容环境后重试安装 https://bbs.deepin.org.cn/post/285056 "
|
echo -e "所有ACE环境尝试失败,推荐安装以下任一兼容环境:\n${recommendation_msg}"
|
||||||
exit "$try_run_ret"
|
exit "$try_run_ret"
|
||||||
fi
|
fi
|
||||||
else ## 如果主机安装检测成功了,进入主机安装分支
|
else # 已经在ACE环境中仍失败直接退出
|
||||||
|
echo "OMG-IT-GOES-WRONG"
|
||||||
dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf
|
echo -e "${try_run_output}"
|
||||||
|
exit "$try_run_ret"
|
||||||
fi
|
fi
|
||||||
### 退出阶段
|
else ## 如果主机安装检测成功
|
||||||
|
dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$?" = "0" ] && [ "$2" = "--delete-after-install" ]; then
|
### 退出阶段保持不变 ###
|
||||||
if dpkg -s "$package_name" >/dev/null 2>&1; then
|
if [ "$?" = "0" ] && [ "$2" = "--delete-after-install" ]; then
|
||||||
echo "软件包已安装:$package_name"
|
if dpkg -s "$package_name" >/dev/null 2>&1; then
|
||||||
create_desktop_file
|
echo "软件包已安装:$package_name"
|
||||||
unlock_file $DEBPATH
|
create_desktop_file
|
||||||
rm "$DEBPATH"
|
unlock_file $DEBPATH
|
||||||
echo "${TRANSHELL_CONTENT_DEB_IS_DELETED}"
|
rm "$DEBPATH"
|
||||||
else
|
echo "${TRANSHELL_CONTENT_DEB_IS_DELETED}"
|
||||||
echo "软件包未安装:$package_name"
|
|
||||||
echo "安装异常!抛出错误"
|
|
||||||
echo "OMG-IT-GOES-WRONG"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
echo "${TRANSHELL_CONTENT_WILL_NOT_DELETE_DEB}"
|
echo "软件包未安装:$package_name"
|
||||||
if dpkg -s "$package_name" >/dev/null 2>&1; then
|
echo "安装异常!抛出错误"
|
||||||
echo "软件包已安装:$package_name"
|
echo "OMG-IT-GOES-WRONG"
|
||||||
create_desktop_file
|
fi
|
||||||
else
|
else
|
||||||
echo "软件包未安装:$package_name"
|
echo "${TRANSHELL_CONTENT_WILL_NOT_DELETE_DEB}"
|
||||||
echo "安装异常!抛出错误"
|
if dpkg -s "$package_name" >/dev/null 2>&1; then
|
||||||
echo "OMG-IT-GOES-WRONG"
|
echo "软件包已安装:$package_name"
|
||||||
fi
|
create_desktop_file
|
||||||
|
else
|
||||||
|
echo "软件包未安装:$package_name"
|
||||||
|
echo "安装异常!抛出错误"
|
||||||
|
echo "OMG-IT-GOES-WRONG"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user