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/update-upgrade/ss-do-upgrade.sh b/tool/update-upgrade/ss-do-upgrade.sh index 228f5cc..23568e7 100755 --- a/tool/update-upgrade/ss-do-upgrade.sh +++ b/tool/update-upgrade/ss-do-upgrade.sh @@ -120,15 +120,28 @@ 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)" - pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh upgrade-app $PKG_UPGRADE_LIST -y) & - cmd_pid=$! - (while kill -0 $cmd_pid 2> /dev/null; do - sleep 1 - done) | 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 - wait + + +(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