From 710acf793b212fc42d611ead19ecaeee099fd7f7 Mon Sep 17 00:00:00 2001 From: shenmo Date: Thu, 28 Nov 2024 21:45:06 +0800 Subject: [PATCH] sync: feat: aptss log enhance && upgrade-experience-enhance --- tool/aptss | 34 ++++++++++++++++------------ tool/ssaudit | 2 +- tool/update-upgrade/ss-do-upgrade.sh | 28 +++++++++++++++++++---- 3 files changed, 43 insertions(+), 21 deletions(-) diff --git a/tool/aptss b/tool/aptss index b65d51e..7f795db 100755 --- a/tool/aptss +++ b/tool/aptss @@ -26,7 +26,17 @@ is_empty_dir(){ return `ls -A $1|wc -w` } +function update_list(){ +curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list" +echo "sparkstore${STORE_LIST_URL}.list update done" +} +function update_conf(){ +mkdir -p /tmp/aptss-conf/ +curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf" +echo "apt-fast.conf update done" +chmod -R 755 /tmp/aptss-conf +} if [ "$(id -u)" != "0" ];then #############################无root权限时 @@ -46,8 +56,7 @@ if [ ! -e "/tmp/aptss-conf/apt-fast.conf" ];then mkdir -p /tmp/aptss-conf/ echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -curl --silent -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf" -chmod -R 755 /tmp/aptss-conf +update_conf fi @@ -57,11 +66,9 @@ if [ ! -e "/var/lib/aptss/lists/${SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL}_${STORE mkdir -p /tmp/aptss-conf/ echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -curl --silent -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf" -chmod -R 755 /tmp/aptss-conf -curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list" -/usr/bin/apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf +update_list +update_conf #只更新星火源 @@ -93,12 +100,11 @@ elif [ "$1" = "ssupdate" ];then mkdir -p /tmp/aptss-conf/ echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -curl --silent -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf" -chmod -R 755 /tmp/aptss-conf - -curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list" - + +update_list +update_conf + /usr/bin/apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list" #只更新星火源 @@ -107,10 +113,8 @@ elif [ "$1" = "update" ];then echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list" -mkdir -p /tmp/aptss-conf/ -curl --silent -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf" -chmod -R 755 /tmp/aptss-conf +update_list +update_conf ### 额外一份拿来给aptss自动补全用 ${SS_APT_FAST} "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf diff --git a/tool/ssaudit b/tool/ssaudit index 84635fe..711fd4e 100755 --- a/tool/ssaudit +++ b/tool/ssaudit @@ -123,7 +123,7 @@ DEBPATH=$(realpath "$1") exit "$try_run_ret" fi - dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf + dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf if [ "$?" = "0" ] && [ "$2" = "--delete-after-install" ]; then if dpkg -s "$package_name" >/dev/null 2>&1; then diff --git a/tool/update-upgrade/ss-do-upgrade.sh b/tool/update-upgrade/ss-do-upgrade.sh index 0f383cd..23568e7 100755 --- a/tool/update-upgrade/ss-do-upgrade.sh +++ b/tool/update-upgrade/ss-do-upgrade.sh @@ -120,11 +120,29 @@ done) zenity --info --text "${TRANSHELL_CONTENT_NO_APP_IS_CHOSEN}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg else ### 更新用户选择的应用 - for PKG_UPGRADE in $PKG_UPGRADE_LIST;do - APP_UPGRADE="$(get_name_from_desktop_file $PKG_UPGRADE)" - update_transhell - pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh upgrade-app $PKG_UPGRADE -y | zenity --progress --auto-close --no-cancel --pulsate --text="${TRANSHELL_CONTENT_UPGRADING_PLEASE_WAIT}" --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg - done + + +(for PKG_UPGRADE in $PKG_UPGRADE_LIST; do + APP_UPGRADE="$(get_name_from_desktop_file $PKG_UPGRADE)" + update_transhell + + # 启动升级任务 + (pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh upgrade-app $PKG_UPGRADE -y) & + cmd_pid=$! + + # 动态更新zenity的进度和文本 + while kill -0 $cmd_pid 2> /dev/null; do + # 动态修改zenity的文本 + echo "# ${TRANSHELL_CONTENT_UPGRADING_PLEASE_WAIT}" + sleep 0.1 + done +done) | zenity --progress --auto-close --no-cancel --pulsate --text="Preparing..." --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg + + + + + + #### 更新成功 if [ -z "`cat /tmp/spark-store-app-upgrade-status.txt`" ] ; then zenity --info --text "${TRANSHELL_CONTENT_CHOSEN_APP_UPGRADE_FINISHED}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg