mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-08-15 00:42:24 +08:00
transhell update 1
This commit is contained in:
parent
72ba481180
commit
e2f27c7746
@ -1,16 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
##load transhell
|
||||
function load_transhell()
|
||||
{
|
||||
WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
CURRENT_LANG="$(echo $LANG | cut -c -5)"
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_en_US.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
|
||||
echo "-----------------------------------------------------------------------------"
|
||||
}
|
||||
|
||||
load_transhell
|
||||
|
||||
|
||||
touch /tmp/spark-store/upgradeStatus.txt
|
||||
|
||||
# 执行 apt update
|
||||
pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh ssupdate | zenity --progress --auto-close --pulsate --no-cancel --text="正在检查更新,请稍候..." --height 70 --width 400 --title="星火商店更新模块" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
|
||||
pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh ssupdate | zenity --progress --auto-close --pulsate --no-cancel --text="${TRANSHELL_CONTENT_UPDATE_CHEKING_PLEASE_WAIT}" --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-ssupdate-status.txt` ] ; then
|
||||
echo "无错误"
|
||||
pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh clean-log
|
||||
else
|
||||
zenity --error --text "检查更新进程出现错误!按确定查看报错,可用于反馈" --title "星火商店更新检测模块" --height 200 --width 350 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
|
||||
zenity --text-info --filename=/tmp/spark-store-app-ssupdate-log.txt --checkbox="我已复制了此文本框中的日志,且将会在反馈时附上。反馈渠道可以在右上角菜单的设置中找到" --title="反馈渠道在商店右上角的设置里" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
|
||||
zenity --error --text "${TRANSHELL_CONTENT_CHECK_UPDATE_PROCESS_ERROR_PRESS_CONFIRM_TO_CHECK}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 200 --width 350 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
|
||||
zenity --text-info --filename=/tmp/spark-store-app-ssupdate-log.txt --checkbox="${TRANSHELL_CONTENT_I_ALREDY_COPIED_THE_LOG_HERE_AND_WILL_USE_IT_TO_FEEDBACK}" --title="${TRANSHELL_CONTENT_FEEDBACK_CAN_BE_FOUND_IN_THE_SETTINGS}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
|
||||
pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh clean-log
|
||||
rm -f /tmp/spark-store/upgradeStatus.txt
|
||||
exit
|
||||
@ -20,7 +36,7 @@ fi
|
||||
PKG_LIST="$(pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh upgradable-list)"
|
||||
## 如果没更新,就弹出不需要更新
|
||||
if [ -z "$PKG_LIST" ] ; then
|
||||
zenity --info --text "没有软件需要更新\n但是你并没有站在世界之巅" --title "星火商店更新检测模块" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
|
||||
zenity --info --text "${TRANSHELL_CONTENT_NO_NEED_TO_UPGRADE}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
|
||||
else
|
||||
## 获取用户选择的要更新的应用
|
||||
### 指定分隔符为 \n
|
||||
@ -45,7 +61,7 @@ else
|
||||
echo "$PKG_CUR_VER"
|
||||
else
|
||||
echo "false"
|
||||
echo "$PKG_NAME(无法更新:已被标记为保留)"
|
||||
echo "$PKG_NAME${TRANSHELL_CONTENT_CAN_NOT_UPGRADE_FOR_BEING_HOLD}"
|
||||
echo "$PKG_NEW_VER"
|
||||
echo "$PKG_CUR_VER"
|
||||
fi
|
||||
@ -56,9 +72,9 @@ done`
|
||||
|
||||
## 如果没有应用需要更新,则直接退出
|
||||
if [ -z "$PKG_UPGRADE_LIST" ] ; then
|
||||
zenity --info --text "没有软件需要更新\n但是你并没有站在世界之巅" --title "星火商店更新检测服务" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
|
||||
zenity --info --text "${TRANSHELL_CONTENT_NO_NEED_TO_UPGRADE}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
|
||||
else
|
||||
PKG_UPGRADE_LIST=$(echo "$PKG_UPGRADE_LIST" | zenity --list --text="选择你想更新的应用" --column="是否更新" --column="包名" --column="新版本" --column="从该版本更新" --separator=" " --checklist --multiple --print-column=2 --height 350 --width 550 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg)
|
||||
PKG_UPGRADE_LIST=$(echo "$PKG_UPGRADE_LIST" | zenity --list --text="${TRANSHELL_CONTENT_CHOOSE_APP_TO_UPGRADE}" --column="是否更新" --column="包名" --column="新版本" --column="从该版本更新" --separator=" " --checklist --multiple --print-column=2 --height 350 --width 550 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg)
|
||||
## 如果没有选择,则直接退出
|
||||
if [ -z "$PKG_UPGRADE_LIST" ] ; then
|
||||
zenity --info --text "没有选中任何软件\n但是你并没有站在世界之巅" --title "星火商店更新检测服务" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
|
||||
|
@ -15,13 +15,10 @@ fi
|
||||
|
||||
|
||||
|
||||
option=`zenity --list --text="欢迎使用星火更新和安装设置工具\n请在以下操作中选择一个进行~" --column 数字 --column=操作选项 --print-column=2 --height 350 --width 760 0 "查看自动更新相关功能使用前须知(重要)" 1 "$text_update_open星火更新检测工具(如果开启则会在系统启动后自动检测更新。如有更新则会弹出通知)" 2 查看可更新软件包列表并决定是否更新 4 退出脚本 --hide-column=1 --print-column=1`
|
||||
option=`zenity --list --text="欢迎使用星火更新和安装设置工具\n请在以下操作中选择一个进行~" --column 数字 --column=操作选项 --print-column=2 --height 350 --width 760 0 "$text_update_open星火更新检测工具(如果开启则会在系统启动后自动检测更新。如有更新则会弹出通知)" 1 查看可更新软件包列表并决定是否更新 2 退出脚本 --hide-column=1 --print-column=1`
|
||||
|
||||
case $option in
|
||||
0)
|
||||
zenity --info --icon-name=spark-store --height 450 --width 500 --text "此须知适用于自动更新功能\n\n此脚本可以检测星火源中是否有比当前系统更高版本的软件包,由您决定是否安装;在安装更新过程中请不要直接点击关闭本页面,以免发生错误\n\n此脚本使用apt update/apt list --upgrade/apt upgrade来更新软件源、列出更新列表和操作更新\n\n该脚本不对其使用效果有任何明示或暗示的担保,在使用前请您确保您清楚地知道您在干什么。您应当清楚,星火商店的软件包并不是适配所有发行版的;尽管绝大多数的软件更新是无害的,您仍然应该仔细检查显示出来的更新内容,以确保不会对您的依赖环境造成破坏,尤其是那些看起来和系统依赖相关的软件包。在查看过更新列表之后,确认更新之前,您仍有取消更新的机会。\n\n本脚本的开发者不对使用该脚本可能造成的后果负责"
|
||||
;;
|
||||
1)
|
||||
if [ -e /etc/systemd/system/multi-user.target.wants/spark-update-notifier.service ];then
|
||||
zenity --info --icon-name=spark-store --height 150 --width 200 --text "检测到已经启动了自动更新检测,执行关闭" --timeout=2
|
||||
pkexec systemctl disable spark-update-notifier
|
||||
@ -34,15 +31,15 @@ case $option in
|
||||
fi
|
||||
;;
|
||||
|
||||
2)
|
||||
1)
|
||||
/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh
|
||||
;;
|
||||
|
||||
4)
|
||||
2)
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
esac
|
||||
|
||||
done
|
||||
done
|
||||
|
@ -1,6 +1,25 @@
|
||||
#!/bin/bash
|
||||
LANGUAGE=en_US
|
||||
|
||||
|
||||
##load transhell
|
||||
function load_transhell()
|
||||
{
|
||||
WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
CURRENT_LANG="$(echo $LANG | cut -c -5)"
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_en_US.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
|
||||
echo "-----------------------------------------------------------------------------"
|
||||
}
|
||||
|
||||
load_transhell
|
||||
|
||||
#############################################################
|
||||
|
||||
|
||||
# 发送通知
|
||||
function notify-send() {
|
||||
|
||||
@ -37,7 +56,7 @@ function network()
|
||||
|
||||
network
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "Network fail. Stop to avoid bother dpkg"
|
||||
echo "$TRANSHELL_CONTENT_NETWORK_FAIL"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
@ -51,7 +70,7 @@ curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d
|
||||
updatetext=`aptss ssupdate 2>&1`
|
||||
|
||||
until [ "`echo $updatetext | grep E: `" = "" ];do
|
||||
echo "更新出现异常状况,等待十五秒"
|
||||
echo "${TRANSHELL_CONTENT_UPDATE_ERROR_AND_WAIT_15_SEC}"
|
||||
sleep 15
|
||||
updatetext=`aptss ssupdate 2>&1`
|
||||
|
||||
@ -95,10 +114,10 @@ done
|
||||
|
||||
# 还原分隔符
|
||||
IFS="$IFS_OLD"
|
||||
|
||||
if [ $update_app_number -le 0 ] ; then
|
||||
exit 0
|
||||
fi
|
||||
load_transhell
|
||||
|
||||
## 如果都是hold或者版本一致的那就直接退出,否则把剩余的给提醒了
|
||||
notify-send -a spark-store "星火更新提醒" "星火商店仓库中有$update_app_number个软件包可以更新啦!请到星火商店的菜单处理"
|
||||
notify-send -a spark-store "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_NOTIFY}" "${TRANSHELL_CONTENT_THERE_ARE_APPS_TO_UPGRADE}"
|
||||
|
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
TRANSHELL_CONTENT_UPDATE_CHEKING_PLEASE_WAIT="正在检查更新,请稍候..."
|
||||
TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL="星火商店更新模块"
|
||||
TRANSHELL_CONTENT_CHECK_UPDATE_PROCESS_ERROR_PRESS_CONFIRM_TO_CHECK="检查更新进程出现错误!按确定查看报错,可用于反馈"
|
||||
TRANSHELL_CONTENT_I_ALREDY_COPIED_THE_LOG_HERE_AND_WILL_USE_IT_TO_FEEDBACK="我已复制了此文本框中的日志,且将会在反馈时附上。反馈渠道可以在右上角菜单的设置中找到"
|
||||
TRANSHELL_CONTENT_FEEDBACK_CAN_BE_FOUND_IN_THE_SETTINGS="反馈渠道在商店右上角的设置里"
|
||||
TRANSHELL_CONTENT_NO_NEED_TO_UPGRADE="没有软件需要更新\n但是你并没有站在世界之巅"
|
||||
TRANSHELL_CONTENT_CAN_NOT_UPGRADE_FOR_BEING_HOLD="(无法更新:已被标记为保留)"
|
||||
TRANSHELL_CONTENT_CHOOSE_APP_TO_UPGRADE="选择你想更新的应用"
|
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
TRANSHELL_CONTENT_NETWORK_FAIL="Network fail. Stop to avoid bother dpkg"
|
||||
TRANSHELL_CONTENT_UPDATE_ERROR_AND_WAIT_15_SEC="Update error! Wait for 15 seconds..."
|
||||
TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_NOTIFY="Spark Store Upgrade Notifier"
|
||||
TRANSHELL_CONTENT_THERE_ARE_APPS_TO_UPGRADE="There are ${update_app_number} APPs available to upgrade! Please go to Spark Store to upgrade."
|
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
TRANSHELL_CONTENT_NETWORK_FAIL="网络错误!为防止阻塞dpkg,停止"
|
||||
TRANSHELL_CONTENT_UPDATE_ERROR_AND_WAIT_15_SEC="更新出现异常状况,等待十五秒"
|
||||
TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_NOTIFY="星火更新提醒"
|
||||
TRANSHELL_CONTENT_THERE_ARE_APPS_TO_UPGRADE="星火商店仓库中有$update_app_number个软件包可以更新啦!请到星火商店的菜单处理"
|
Loading…
x
Reference in New Issue
Block a user