diff --git a/debian/changelog b/debian/changelog index 995a311..ab286d2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,7 @@ spark-store (4.2.9) stable; urgency=medium * 修复: build error on Deepin V23 * 修复:容器内无限等待 * 新增:高分屏截图支持 + * 新增:更新界面支持显示软件名称 -- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800 diff --git a/tool/ssinstall b/tool/ssinstall index 1fa1733..144acd2 100755 --- a/tool/ssinstall +++ b/tool/ssinstall @@ -30,13 +30,13 @@ function create_desktop_file() { function exec_create_desktop_file() { local user=$(who | awk '{print $1}' | head -n 1) for desktop_file_path in $(dpkg -L "$package_name" |grep /usr/share/applications/ | awk '/\.desktop$/ {print}'); do - if [ "$(cat $desktop_file_path | grep NoDisplay=true)" = "" ];then +if [ "$(grep -m 1 '^NoDisplay=' "$desktop_file_path" | cut -d '=' -f 2)" = "true" ] || [ "$(grep -m 1 '^NoDisplay=' "$desktop_file_path" | cut -d '=' -f 2)" = "True" ];then echo $desktop_file_path is checked and will be installed to desktop sudo -u "$user" cp "$desktop_file_path" "$(sudo -u "$user" xdg-user-dir DESKTOP)/" fi done for desktop_file_path in $(dpkg -L "$package_name" |grep /opt/apps/$package_name/entries/applications | awk '/\.desktop$/ {print}'); do - if [ "$(cat $desktop_file_path | grep NoDisplay=true)" = "" ];then + if [ "$(grep -m 1 '^NoDisplay=' "$desktop_file_path" | cut -d '=' -f 2)" = "true" ] || [ "$(grep -m 1 '^NoDisplay=' "$desktop_file_path" | cut -d '=' -f 2)" = "True" ];then echo $desktop_file_path is checked and will be installed to desktop sudo -u "$user" cp "$desktop_file_path" "$(sudo -u "$user" xdg-user-dir DESKTOP)/" fi diff --git a/tool/update-upgrade/ss-do-upgrade.sh b/tool/update-upgrade/ss-do-upgrade.sh index d9e000d..18c2f97 100755 --- a/tool/update-upgrade/ss-do-upgrade.sh +++ b/tool/update-upgrade/ss-do-upgrade.sh @@ -3,7 +3,46 @@ source /opt/durapps/spark-store/bin/bashimport/transhell.amber load_transhell_debug +function get_name_from_desktop_file() { + local app_name_in_desktop + local name_orig + local name_i18n + local package_name + package_name=$1 + for desktop_file_path in $(dpkg -L "$package_name" |grep /usr/share/applications/ | awk '/\.desktop$/ {print}'); do +if [ "$(grep -m 1 '^NoDisplay=' "$desktop_file_path" | cut -d '=' -f 2)" = "true" ] || [ "$(grep -m 1 '^NoDisplay=' "$desktop_file_path" | cut -d '=' -f 2)" = "True" ];then + continue + else + name_orig=$(grep -m 1 '^Name=' "$desktop_file_path" | cut -d '=' -f 2) + name_i18n=$(grep -m 1 "^Name\[${LANGUAGE}\]\=" "$desktop_file_path" | cut -d '=' -f 2) + if [ -z "$name_i18n" ] ;then + app_name_in_desktop=$name_orig + else + app_name_in_desktop=$name_i18n + fi + + fi + done + for desktop_file_path in $(dpkg -L "$package_name" |grep /opt/apps/$package_name/entries/applications | awk '/\.desktop$/ {print}'); do + if [ "$(grep -m 1 '^NoDisplay=' "$desktop_file_path" | cut -d '=' -f 2)" = "true" ] || [ "$(grep -m 1 '^NoDisplay=' "$desktop_file_path" | cut -d '=' -f 2)" = "True" ];then + continue + else + name_orig=$(grep -m 1 '^Name=' "$desktop_file_path" | cut -d '=' -f 2) + name_i18n=$(grep -m 1 "^Name\[${LANGUAGE}\]\=" "$desktop_file_path" | cut -d '=' -f 2) + if [ -z "$name_i18n" ] ;then + app_name_in_desktop=$name_orig + else + app_name_in_desktop=$name_i18n + fi + + fi + done +if [ -z "$app_name_in_desktop" ] ;then +app_name_in_desktop=${package_name} +fi +echo ${app_name_in_desktop} +} touch /tmp/spark-store/upgradeStatus.txt # 执行 apt update @@ -30,7 +69,7 @@ else IFS_OLD="$IFS" IFS=$'\n' - PKG_UPGRADE_LIST=`for line in $PKG_LIST ; do + PKG_UPGRADE_LIST=$(for line in $PKG_LIST ; do PKG_NAME=$(echo $line | awk -F ' ' '{print $1}') PKG_NEW_VER=$(echo $line | awk -F ' ' '{print $2}') PKG_CUR_VER=$(echo $line | awk -F ' ' '{print $3}') @@ -39,20 +78,23 @@ else if [ $? -eq 0 ] ; then continue fi + APP_NAME=$(get_name_from_desktop_file $PKG_NAME) #### 检测是否是 hold 状态 PKG_STA=$(dpkg-query -W -f='${db:Status-Want}' $PKG_NAME) if [ "$PKG_STA" != "hold" ] ; then echo "true" - echo "$PKG_NAME" + echo "$APP_NAME" echo "$PKG_NEW_VER" echo "$PKG_CUR_VER" + echo "$PKG_NAME" else echo "false" - echo "$PKG_NAME${TRANSHELL_CONTENT_CAN_NOT_UPGRADE_FOR_BEING_HOLD}" + echo "$APP_NAME${TRANSHELL_CONTENT_CAN_NOT_UPGRADE_FOR_BEING_HOLD}" echo "$PKG_NEW_VER" echo "$PKG_CUR_VER" + echo "$PKG_NAME" fi -done` +done) ### 还原分隔符 IFS="$IFS_OLD" @@ -61,7 +103,7 @@ done` if [ -z "$PKG_UPGRADE_LIST" ] ; then 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="${TRANSHELL_CONTENT_CHOOSE_APP_TO_UPGRADE}" --column="${TRANSHELL_CONTENT_CHOOSE}" --column="${TRANSHELL_CONTENT_PKG_NAME}" --column="${TRANSHELL_CONTENT_NEW_VERSION}" --column="${TRANSHELL_CONTENT_UPGRADE_FROM}" --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="${TRANSHELL_CONTENT_CHOOSE}" --column="${TRANSHELL_CONTENT_APP_NAME}" --column="${TRANSHELL_CONTENT_NEW_VERSION}" --column="${TRANSHELL_CONTENT_UPGRADE_FROM}" --column="${TRANSHELL_CONTENT_PKG_NAME}" --separator=" " --checklist --multiple --print-column=5 --height 350 --width 650 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg) ## 如果没有选择,则直接退出 if [ -z "$PKG_UPGRADE_LIST" ] ; then 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 diff --git a/tool/update-upgrade/transhell/ss-do-upgrade.sh_en_US.transhell b/tool/update-upgrade/transhell/ss-do-upgrade.sh_en_US.transhell index 038af89..c349ef8 100644 --- a/tool/update-upgrade/transhell/ss-do-upgrade.sh_en_US.transhell +++ b/tool/update-upgrade/transhell/ss-do-upgrade.sh_en_US.transhell @@ -8,7 +8,8 @@ TRANSHELL_CONTENT_NO_NEED_TO_UPGRADE="All APPs are up to date.\nBut you are not TRANSHELL_CONTENT_CAN_NOT_UPGRADE_FOR_BEING_HOLD="(Unable to upgrade: Being marked as hold)" TRANSHELL_CONTENT_CHOOSE_APP_TO_UPGRADE="Choose the app you want to upgrade" TRANSHELL_CONTENT_CHOOSE="Choose" -TRANSHELL_CONTENT_PKG_NAME="Pkg name" +TRANSHELL_CONTENT_APP_NAME="APP name" +TRANSHELL_CONTENT_PKG_NAME="Package Name" TRANSHELL_CONTENT_NEW_VERSION="New version" TRANSHELL_CONTENT_UPGRADE_FROM="Upgrade from" TRANSHELL_CONTENT_NO_APP_IS_CHOSEN="No app is chosen\nBut you are not at the top of the world" diff --git a/tool/update-upgrade/transhell/ss-do-upgrade.sh_zh_CN.transhell b/tool/update-upgrade/transhell/ss-do-upgrade.sh_zh_CN.transhell index 1a56aff..5cef6d6 100644 --- a/tool/update-upgrade/transhell/ss-do-upgrade.sh_zh_CN.transhell +++ b/tool/update-upgrade/transhell/ss-do-upgrade.sh_zh_CN.transhell @@ -8,6 +8,7 @@ TRANSHELL_CONTENT_NO_NEED_TO_UPGRADE="没有软件需要更新\n但是你并没 TRANSHELL_CONTENT_CAN_NOT_UPGRADE_FOR_BEING_HOLD="(无法更新:已被标记为保留)" TRANSHELL_CONTENT_CHOOSE_APP_TO_UPGRADE="选择你想更新的应用" TRANSHELL_CONTENT_CHOOSE="选择" +TRANSHELL_CONTENT_APP_NAME="应用名" TRANSHELL_CONTENT_PKG_NAME="包名" TRANSHELL_CONTENT_NEW_VERSION="新版本" TRANSHELL_CONTENT_UPGRADE_FROM="从该版本更新" diff --git a/tool/update-upgrade/transhell/ss-do-upgrade.sh_zh_TW.transhell b/tool/update-upgrade/transhell/ss-do-upgrade.sh_zh_TW.transhell index 02b5497..0f89f2a 100644 --- a/tool/update-upgrade/transhell/ss-do-upgrade.sh_zh_TW.transhell +++ b/tool/update-upgrade/transhell/ss-do-upgrade.sh_zh_TW.transhell @@ -8,6 +8,7 @@ TRANSHELL_CONTENT_NO_NEED_TO_UPGRADE="沒有軟體需要更新\n但是你並沒 TRANSHELL_CONTENT_CAN_NOT_UPGRADE_FOR_BEING_HOLD="(无法更新:已被标记为保留)" TRANSHELL_CONTENT_CHOOSE_APP_TO_UPGRADE="选择你想更新的应用" TRANSHELL_CONTENT_CHOOSE="选择" +TRANSHELL_CONTENT_APP_NAME="应用名" TRANSHELL_CONTENT_PKG_NAME="包名" TRANSHELL_CONTENT_NEW_VERSION="新版本" TRANSHELL_CONTENT_UPGRADE_FROM="从该版本更新"