From 1c5f31da6fa4a6be51d6b95d9ef233bf4f226707 Mon Sep 17 00:00:00 2001 From: uniartisan Date: Thu, 20 Oct 2022 21:13:59 +0800 Subject: [PATCH 01/12] =?UTF-8?q?fix:=20=E5=B7=A6=E4=BE=A7=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E5=AD=97=E4=BD=93=E5=A4=A7=E5=B0=8F=E5=8F=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/widget.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/widget.cpp b/src/widget.cpp index d171117..d7b6f55 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -510,6 +510,9 @@ void Widget::updateUI() * left_list[i]->setFont(temp); */ + QFont temp; + temp.setFamily(temp.defaultFamily()); + left_list[i]->setFont(temp); left_list[i]->setFixedHeight(38); if(themeIsDark) { From 03263edf8cfb9e8ae84a94a3039c099b8cdbddfc Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 21 Oct 2022 13:28:34 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=B3=BB=E7=BB=9Fzenit?= =?UTF-8?q?y,=E9=80=82=E9=85=8Dapt-mark=20hold?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/changelog | 7 ++++ src/main.cpp | 4 +- tool/update-upgrade/ss-do-upgrade.sh | 44 +++++++++++----------- tool/update-upgrade/ss-update-controler.sh | 3 +- tool/update-upgrade/ss-update-notifier.sh | 14 ++++++- tool/update-upgrade/ss-upgrade-list.sh | 6 --- 6 files changed, 46 insertions(+), 32 deletions(-) delete mode 100755 tool/update-upgrade/ss-upgrade-list.sh diff --git a/debian/changelog b/debian/changelog index 3ef6030..fda0b8f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +spark-store (3.3~test1) stable; urgency=medium + + * zenity,选择可更新应用 + * 自动更新检测现在会跳过hold + +-- shenmo Fri, 30 Jan 2022 00:00:00 +0800 + spark-store (3.2.4) stable; urgency=medium * 修改tag相关的文案内容:wine相关环境已可自动配置了 diff --git a/src/main.cpp b/src/main.cpp index ea7c82d..3310f15 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -37,7 +37,7 @@ int main(int argc, char *argv[]) DAboutDialog dialog; a.setAboutDialog(&dialog); dialog.setLicense(QObject::tr("We publish this program under GPL V3")); - dialog.setVersion(DApplication::buildVersion("Version 3.2.4")); + dialog.setVersion(DApplication::buildVersion("Version 3.3~test1")); dialog.setProductIcon(QIcon::fromTheme("spark-store")); // 设置Logo dialog.setProductName(QLabel::tr("Spark Store")); dialog.setDescription( @@ -58,7 +58,7 @@ int main(int argc, char *argv[]) a.setOrganizationName("spark-union"); a.setOrganizationDomain("https://www.deepinos.org/"); a.setApplicationName("Spark Store"); //不需要翻译,否则 ~/.local/share/ 下文件夹名称也被翻译为中文 - a.setApplicationVersion(DApplication::buildVersion("3.2.4")); + a.setApplicationVersion(DApplication::buildVersion("3.3~test1")); a.setApplicationAcknowledgementPage("https://gitee.com/deepin-community-store/spark-store"); a.setApplicationDescription( QObject::tr( diff --git a/tool/update-upgrade/ss-do-upgrade.sh b/tool/update-upgrade/ss-do-upgrade.sh index 990a0c8..2cde528 100755 --- a/tool/update-upgrade/ss-do-upgrade.sh +++ b/tool/update-upgrade/ss-do-upgrade.sh @@ -1,24 +1,26 @@ -#!/bin/bash +PKG_LIST="$(bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt list --upgradable -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" | awk 'BEGIN {FS="/"} {print $1}' | awk NR\>1)" +####如果没更新,就弹出不需要更新 +if [ -z "$PKG_LIST" ];then +zenity --info --icon-name=spark-store --text "没有软件需要更新\n但是你并没有站在世界之巅" --title "星火商店更新检测服务" --height 150 --width 300 +else +PKG_UPGRADE_LIST=`for PKG_NAME in $PKG_LIST; +do +#### 检测是否是hold状态 + if [ "${dpkg-query -W -f='${Status}' $PKG_NAME | grep hold}" != "" ];then + echo "true" + echo "$PKG_NAME" + else + echo "false" + echo "$PKG_NAME (无法更新:请先执行 sudo apt-mark unhold 后再更新)" + fi +done | zenity --list --text="选择你想更新的应用" --column=是否更新 --column=应用包名 --separator=" " --checklist --print-column=2 --multiple --height 350 --width 550 ` -echo "以上可升级,是否升级?[y/n]" -read yes_or_no -if [ "$yes_or_no" = "y" ];then ###这是确定是否同意 +#### 如果没有选择,则直接退出 -echo "获取更新列表..." -PKG_LIST="$(bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt list --upgradable -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" | awk 'BEGIN {FS="/"} {print $1}' | awk NR\>1)" +if [ "$PKG_UPGRADE_LIST" = "" ];then +zenity --info --icon-name=spark-store --text "没有选中任何软件\n但是你并没有站在世界之巅" --title "星火商店更新检测服务" --height 150 --width 300 +else +sudo aptss install $PKG_UPGRADE_LIST -y +fi - - for PKG_NAME in $PKG_LIST; - do - echo "$PKG_NAME 正在更新..." - if sudo aptss install "$PKG_NAME" -y >/dev/null 2>&1; - then - echo "$PKG_NAME 已更新" - else - echo "WARNING: $PKG_NAME 无法更新" - fi - done - - - -fi ###这是确定是否同意 \ No newline at end of file +fi \ No newline at end of file diff --git a/tool/update-upgrade/ss-update-controler.sh b/tool/update-upgrade/ss-update-controler.sh index 0c691cf..077b09c 100755 --- a/tool/update-upgrade/ss-update-controler.sh +++ b/tool/update-upgrade/ss-update-controler.sh @@ -68,8 +68,7 @@ case $option in 2) echo "执行以下操作需要授权..." sudo aptss ssupdate - /opt/durapps/spark-store/bin/update-upgrade/ss-upgrade-list.sh - /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh + sudo /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh echo "---请按回车返回" read reset diff --git a/tool/update-upgrade/ss-update-notifier.sh b/tool/update-upgrade/ss-update-notifier.sh index 3206dcc..e717ba7 100755 --- a/tool/update-upgrade/ss-update-notifier.sh +++ b/tool/update-upgrade/ss-update-notifier.sh @@ -66,11 +66,23 @@ isupdate=`echo ${updatetext: -5}` if [ "$isupdate" = "date." ];then exit 0 fi - +#### 从这里开始,只有检测到了更新才会进行 update_app_number=`echo ${updatetext%package*} #从右向左截取第一个 src 后的字符串` update_app_number=`echo ${update_app_number##*information...}` +PKG_LIST="$(bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt list --upgradable -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" | awk 'BEGIN {FS="/"} {print $1}' | awk NR\>1)" + +for PKG_NAME in $PKG_LIST;do +if [ "${dpkg-query -W -f='${Status}' $PKG_NAME | grep hold}" != "" ];then + let update_app_number=update_app_number-1 +fi +done + +if [ $update_app_number -lt 1 ];then +exit +fi +#### 如果都是hold的那就直接退出,否则把剩余的给提醒了 notify-send -i spark-store "星火更新提醒" "星火商店仓库中有$update_app_number个软件包可以更新啦!请到星火商店的菜单处理" diff --git a/tool/update-upgrade/ss-upgrade-list.sh b/tool/update-upgrade/ss-upgrade-list.sh deleted file mode 100755 index 83d62a8..0000000 --- a/tool/update-upgrade/ss-upgrade-list.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -set -e - - -echo "---可更新的应用有:" -bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt list --upgradable -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" From 18db530c0d16ec9a66bd59d7a96e4ef43f6447c4 Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 21 Oct 2022 13:30:21 +0800 Subject: [PATCH 03/12] =?UTF-8?q?zenity=E4=BE=9D=E8=B5=96=E5=8A=A0?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/control | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 5111194..db6434c 100644 --- a/debian/control +++ b/debian/control @@ -39,7 +39,8 @@ Depends:${shlibs:Depends}, ${misc:Depends}, dde-qt5integration, bubblewrap, aria2, - gcc + gcc, + zenity Description: Spark Store A community powered app store, based on DTK. Recommends: apt-fast From a09425f3616200505b1d44bd999d445d320591eb Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 21 Oct 2022 13:46:23 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E7=AC=A6=E5=8F=B7=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tool/update-upgrade/ss-do-upgrade.sh | 2 +- tool/update-upgrade/ss-update-notifier.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tool/update-upgrade/ss-do-upgrade.sh b/tool/update-upgrade/ss-do-upgrade.sh index 2cde528..28838e4 100755 --- a/tool/update-upgrade/ss-do-upgrade.sh +++ b/tool/update-upgrade/ss-do-upgrade.sh @@ -6,7 +6,7 @@ else PKG_UPGRADE_LIST=`for PKG_NAME in $PKG_LIST; do #### 检测是否是hold状态 - if [ "${dpkg-query -W -f='${Status}' $PKG_NAME | grep hold}" != "" ];then + if [ "$(dpkg-query -W -f='${Status}' $PKG_NAME | grep hold)" = "" ];then echo "true" echo "$PKG_NAME" else diff --git a/tool/update-upgrade/ss-update-notifier.sh b/tool/update-upgrade/ss-update-notifier.sh index e717ba7..2e92a89 100755 --- a/tool/update-upgrade/ss-update-notifier.sh +++ b/tool/update-upgrade/ss-update-notifier.sh @@ -74,7 +74,7 @@ update_app_number=`echo ${update_app_number##*information...}` PKG_LIST="$(bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt list --upgradable -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" | awk 'BEGIN {FS="/"} {print $1}' | awk NR\>1)" for PKG_NAME in $PKG_LIST;do -if [ "${dpkg-query -W -f='${Status}' $PKG_NAME | grep hold}" != "" ];then +if [ "$(dpkg-query -W -f='${Status}' $PKG_NAME | grep hold)" = "" ];then let update_app_number=update_app_number-1 fi done From 5562e2b5d1475457f7ef9700af42acf374b30088 Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 21 Oct 2022 13:59:43 +0800 Subject: [PATCH 05/12] =?UTF-8?q?fix:=E4=B8=8D=E6=AD=A3=E7=A1=AE=E5=9C=B0?= =?UTF-8?q?=E8=B7=B3=E8=BF=87unhold?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tool/update-upgrade/ss-update-notifier.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tool/update-upgrade/ss-update-notifier.sh b/tool/update-upgrade/ss-update-notifier.sh index 2e92a89..0a376d1 100755 --- a/tool/update-upgrade/ss-update-notifier.sh +++ b/tool/update-upgrade/ss-update-notifier.sh @@ -71,14 +71,21 @@ fi update_app_number=`echo ${updatetext%package*} #从右向左截取第一个 src 后的字符串` update_app_number=`echo ${update_app_number##*information...}` + PKG_LIST="$(bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt list --upgradable -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" | awk 'BEGIN {FS="/"} {print $1}' | awk NR\>1)" + + for PKG_NAME in $PKG_LIST;do -if [ "$(dpkg-query -W -f='${Status}' $PKG_NAME | grep hold)" = "" ];then - let update_app_number=update_app_number-1 +if [ "$(dpkg-query -W -f='${Status}' $PKG_NAME | grep hold)" != "" ];then + let update_app_number=$update_app_number-1 + echo $update_app_number + echo $PKG_NAME fi done + + if [ $update_app_number -lt 1 ];then exit fi From 8465c9ad2d0cd381be28034dd59ee81692d7c9f3 Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 21 Oct 2022 14:43:15 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E5=85=A8=E9=83=A8=E6=94=B9=E4=B8=BAzenit?= =?UTF-8?q?y?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/changelog | 6 ++ src/main.cpp | 4 +- src/widget.cpp | 2 +- tool/update-upgrade/ss-update-controler.sh | 82 ++++++---------------- 4 files changed, 29 insertions(+), 65 deletions(-) diff --git a/debian/changelog b/debian/changelog index fda0b8f..24bdc4c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +spark-store (3.3~test2) stable; urgency=medium + + * 更新检测功能全部更改到zenity + +-- shenmo Fri, 30 Jan 2022 00:00:00 +0800 + spark-store (3.3~test1) stable; urgency=medium * zenity,选择可更新应用 diff --git a/src/main.cpp b/src/main.cpp index 3310f15..f8b14f7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -37,7 +37,7 @@ int main(int argc, char *argv[]) DAboutDialog dialog; a.setAboutDialog(&dialog); dialog.setLicense(QObject::tr("We publish this program under GPL V3")); - dialog.setVersion(DApplication::buildVersion("Version 3.3~test1")); + dialog.setVersion(DApplication::buildVersion("Version 3.3~test2")); dialog.setProductIcon(QIcon::fromTheme("spark-store")); // 设置Logo dialog.setProductName(QLabel::tr("Spark Store")); dialog.setDescription( @@ -58,7 +58,7 @@ int main(int argc, char *argv[]) a.setOrganizationName("spark-union"); a.setOrganizationDomain("https://www.deepinos.org/"); a.setApplicationName("Spark Store"); //不需要翻译,否则 ~/.local/share/ 下文件夹名称也被翻译为中文 - a.setApplicationVersion(DApplication::buildVersion("3.3~test1")); + a.setApplicationVersion(DApplication::buildVersion("3.3~test2")); a.setApplicationAcknowledgementPage("https://gitee.com/deepin-community-store/spark-store"); a.setApplicationDescription( QObject::tr( diff --git a/src/widget.cpp b/src/widget.cpp index d7b6f55..303d0c7 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -211,7 +211,7 @@ void Widget::initUI() connect(actionSubmission, &QAction::triggered, this, [=]{QDesktopServices::openUrl(QUrl("https://upload.deepinos.org/"));}); connect(setting, &QAction::triggered, this, &Widget::opensetting); - connect(upgrade, &QAction::triggered, this, [=]{QProcess::startDetached("x-terminal-emulator -e /opt/durapps/spark-store/bin/update-upgrade/ss-update-controler.sh");}); + connect(upgrade, &QAction::triggered, this, [=]{QProcess::startDetached("/opt/durapps/spark-store/bin/update-upgrade/ss-update-controler.sh");}); // 投稿器 connect(actionSubmissionWithClient, &QAction::triggered, this, [=] diff --git a/tool/update-upgrade/ss-update-controler.sh b/tool/update-upgrade/ss-update-controler.sh index 077b09c..a7ecb1c 100755 --- a/tool/update-upgrade/ss-update-controler.sh +++ b/tool/update-upgrade/ss-update-controler.sh @@ -1,6 +1,5 @@ #!/bin/bash -reset endloop=0 @@ -21,84 +20,44 @@ else text_auto_install_open="开启" fi - -echo "欢迎使用星火更新和安装设置工具" -echo "请在以下操作中选择一个进行~" -echo "输入0 查看自动更新相关功能使用前须知(重要)" -echo "输入1 $text_update_open星火更新检测工具(如果开启则会在系统启动后自动检测更新。如有更新则会弹出通知)" -echo "输入2 查看可更新软件包列表并决定是否更新" -echo "输入3 $text_auto_install_open点击安装免输入密码功能" -echo "输入4 退出脚本" -echo -read -e option +option=`zenity --list --text="欢迎使用星火更新和安装设置工具\n请在以下操作中选择一个进行~" --column 数字 --column=操作选项 --print-column=2 --height 350 --width 760 0 "查看自动更新相关功能使用前须知(重要)" 1 "$text_update_open星火更新检测工具(如果开启则会在系统启动后自动检测更新。如有更新则会弹出通知)" 2 查看可更新软件包列表并决定是否更新 3 "$text_auto_install_open点击安装免输入密码功能" 4 退出脚本 --hide-column=1 --print-column=1` case $option in 0) - reset - echo "此须知适用于自动更新功能" - echo "此脚本可以检测星火源中是否有比当前系统更高版本的软件包,由您决定是否安装;在安装更新过程中请不要直接点击关闭本页面,以免发生错误" - echo "此脚本使用apt update/apt list --upgrade/apt upgrade来更新软件源、列出更新列表和操作更新" - echo - echo "该脚本不对其使用效果有任何明示或暗示的担保,在使用前请您确保您清楚地知道您在干什么。您应当清楚,星火商店的软件包并不是适配所有发行版的;尽管绝大多数的软件更新是无害的,您仍然应该仔细检查显示出来的更新内容,以确保不会对您 的依赖环境造成破坏,尤其是那些看起来和系统依赖相关的软件包。在查看过更新列表之后,确认更新之前,您仍有一次取消更新的机会。" - echo "本脚本的开发者不对使用该脚本可能造成的后果负责" - echo - echo - echo - echo "请按回车继续..." -#"只有回车可以用啊!""啊?"“你说的任意都行啊”“唔。。。戳到我的盲区了” - read - reset + 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) - echo "执行以下操作需要授权..." if [ -e /etc/systemd/system/multi-user.target.wants/spark-update-notifier.service ];then - echo "---检测到已经启动了自动更新检测,执行关闭" - sudo systemctl disable spark-update-notifier - sleep 3 - reset + zenity --info --icon-name=spark-store --height 150 --width 200 --text "检测到已经启动了自动更新检测,执行关闭" --timeout=2 + pkexec systemctl disable spark-update-notifier + zenity --info --icon-name=spark-store --height 150 --width 200 --text "已关闭" --timeout=2 else - echo "---未检测到自动更新检测,执行启动" - sudo systemctl enable spark-update-notifier - sudo service spark-update-notifier start - sleep 3 - reset + zenity --info --icon-name=spark-store --height 150 --width 200 --text "未检测到自动更新检测,执行启动" --timeout=2 + pkexec systemctl enable spark-update-notifier + pkexec service spark-update-notifier start + zenity --info --icon-name=spark-store --height 150 --width 200 --text "已启动" --timeout=2 fi ;; 2) - echo "执行以下操作需要授权..." - sudo aptss ssupdate - sudo /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh - echo "---请按回车返回" - read - reset + pkexec bash /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh ;; 3) if [ -f /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy ];then - echo "---检测到已经启动了免输入密码,执行关闭" - sudo rm /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy - sleep 3 - reset + zenity --info --icon-name=spark-store --height 150 --width 200 --text "---检测到已经启动了免输入密码,执行关闭" --timeout=2 + pkexec rm /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy + zenity --info --icon-name=spark-store --height 150 --width 200 --text "已关闭" --timeout=2 else -cat << EOF -请注意:这个功能尚未开发完成,一旦开启,则运行pkexec ssinstall时不再需要授权 -仅对星火内置安装器生效 -理论上会存在一定的安全风险~ -如果接受,请输入1,否则输入2 -EOF -read is_accept_polkiy + is_accept_polkiy=`zenity --list --height 350 --width 300 --text "请注意:这个功能尚未开发完成,一旦开启,则运行pkexec ssinstall时不再需要授权\n仅对星火内置安装器生效\n理论上会存在一定的安全风险" --column 数字 --column=操作选项 --hide-column=1 --print-column=1 1 同意 2 拒绝` + + if [ "$is_accept_polkiy" = "1" ];then - echo "执行以下操作需要授权..." - sudo ln -s /opt/durapps/spark-store/bin/auto-install-policy/store.spark-app.ssinstall.policy /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy - echo "---已启动" - sleep 3 - reset + pkexec ln -s /opt/durapps/spark-store/bin/auto-install-policy/store.spark-app.ssinstall.policy /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy + zenity --info --icon-name=spark-store --height 150 --width 200 --text "---已启动" else - echo "---未同意,返回" - sleep 3 - reset + zenity --info --icon-name=spark-store --height 150 --width 200 --text "---未同意,返回" fi fi ;; @@ -106,8 +65,7 @@ fi exit 0 ;; *) - echo "---无法识别的输入!请重新输入" - reset + exit 0 esac done \ No newline at end of file From 5420bad0ee3a1fc7f144c9c1cb9b040e0ea549c2 Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 21 Oct 2022 14:56:31 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=85=8D=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E6=9F=A5=E7=9C=8B=E5=8F=AF=E6=9B=B4=E6=96=B0=E5=BA=94?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/changelog | 6 ++++++ .../store.spark-app.ss-do-upgrade.policy | 18 ++++++++++++++++++ spark-store-project.pro | 6 +++--- src/main.cpp | 4 ++-- .../store.spark-app.ssinstall.policy | 2 +- tool/update-upgrade/ss-do-upgrade.sh | 1 + tool/update-upgrade/ss-update-controler.sh | 2 +- 7 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 pkg/usr/share/polkit-1/actions/store.spark-app.ss-do-upgrade.policy diff --git a/debian/changelog b/debian/changelog index 24bdc4c..03b80a2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +spark-store (3.3~test3) stable; urgency=medium + + * 把检查更新加入免密码 + +-- shenmo Fri, 30 Jan 2022 00:00:00 +0800 + spark-store (3.3~test2) stable; urgency=medium * 更新检测功能全部更改到zenity diff --git a/pkg/usr/share/polkit-1/actions/store.spark-app.ss-do-upgrade.policy b/pkg/usr/share/polkit-1/actions/store.spark-app.ss-do-upgrade.policy new file mode 100644 index 0000000..d82d670 --- /dev/null +++ b/pkg/usr/share/polkit-1/actions/store.spark-app.ss-do-upgrade.policy @@ -0,0 +1,18 @@ + + + + Spark Store + x-package-repository + + 运行ss-do-upgrade需要权限 + 要使用ss-do-upgrade需要权限 + + yes + yes + yes + + /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh + true + + diff --git a/spark-store-project.pro b/spark-store-project.pro index b3d5916..d0e7d2c 100644 --- a/spark-store-project.pro +++ b/spark-store-project.pro @@ -36,7 +36,7 @@ desktop.path = /usr/share/applications service.files += pkg/usr/lib/systemd/system/spark-update-notifier.service service.path = /usr/lib/systemd/system/ -polkit-1.files +=pkg/usr/share/polkit-1/actions/store.spark-app.ssinstall.policy +polkit-1.files +=pkg/usr/share/polkit-1/actions/store.spark-app.ss-do-upgrade.policy polkit-1.path = /usr/share/polkit-1/actions/ @@ -55,6 +55,6 @@ INSTALLS += \ preferences \ tmp \ service \ - bash_completion -# polkit-1 + bash_completion \ + polkit-1 # 暂时不添加 diff --git a/src/main.cpp b/src/main.cpp index f8b14f7..9fde06f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -37,7 +37,7 @@ int main(int argc, char *argv[]) DAboutDialog dialog; a.setAboutDialog(&dialog); dialog.setLicense(QObject::tr("We publish this program under GPL V3")); - dialog.setVersion(DApplication::buildVersion("Version 3.3~test2")); + dialog.setVersion(DApplication::buildVersion("Version 3.3~test3")); dialog.setProductIcon(QIcon::fromTheme("spark-store")); // 设置Logo dialog.setProductName(QLabel::tr("Spark Store")); dialog.setDescription( @@ -58,7 +58,7 @@ int main(int argc, char *argv[]) a.setOrganizationName("spark-union"); a.setOrganizationDomain("https://www.deepinos.org/"); a.setApplicationName("Spark Store"); //不需要翻译,否则 ~/.local/share/ 下文件夹名称也被翻译为中文 - a.setApplicationVersion(DApplication::buildVersion("3.3~test2")); + a.setApplicationVersion(DApplication::buildVersion("3.3~test3")); a.setApplicationAcknowledgementPage("https://gitee.com/deepin-community-store/spark-store"); a.setApplicationDescription( QObject::tr( diff --git a/tool/auto-install-policy/store.spark-app.ssinstall.policy b/tool/auto-install-policy/store.spark-app.ssinstall.policy index 8bdc819..8b2111b 100644 --- a/tool/auto-install-policy/store.spark-app.ssinstall.policy +++ b/tool/auto-install-policy/store.spark-app.ssinstall.policy @@ -4,7 +4,7 @@ Spark Store x-package-repository - + 运行ssinstall需要权限 要使用ssinstall需要权限 diff --git a/tool/update-upgrade/ss-do-upgrade.sh b/tool/update-upgrade/ss-do-upgrade.sh index 28838e4..537de09 100755 --- a/tool/update-upgrade/ss-do-upgrade.sh +++ b/tool/update-upgrade/ss-do-upgrade.sh @@ -1,3 +1,4 @@ +#!/bin/bash PKG_LIST="$(bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt list --upgradable -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" | awk 'BEGIN {FS="/"} {print $1}' | awk NR\>1)" ####如果没更新,就弹出不需要更新 if [ -z "$PKG_LIST" ];then diff --git a/tool/update-upgrade/ss-update-controler.sh b/tool/update-upgrade/ss-update-controler.sh index a7ecb1c..b6c65c0 100755 --- a/tool/update-upgrade/ss-update-controler.sh +++ b/tool/update-upgrade/ss-update-controler.sh @@ -40,7 +40,7 @@ case $option in ;; 2) - pkexec bash /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh + pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh ;; 3) if [ -f /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy ];then From 13da2bc4411146561910f226b1ecbeadffa6f640 Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 21 Oct 2022 08:47:41 +0000 Subject: [PATCH 08/12] update tool/update-upgrade/ss-do-upgrade.sh. Signed-off-by: shenmo --- tool/update-upgrade/ss-do-upgrade.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tool/update-upgrade/ss-do-upgrade.sh b/tool/update-upgrade/ss-do-upgrade.sh index 537de09..b16f71a 100755 --- a/tool/update-upgrade/ss-do-upgrade.sh +++ b/tool/update-upgrade/ss-do-upgrade.sh @@ -1,4 +1,5 @@ #!/bin/bash +aptss ssupdate | zenity --progress --no-cancel --pulsate --text=正在更新检查,请稍候... --height 70 --width 400 --title="星火商店更新模块" PKG_LIST="$(bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt list --upgradable -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" | awk 'BEGIN {FS="/"} {print $1}' | awk NR\>1)" ####如果没更新,就弹出不需要更新 if [ -z "$PKG_LIST" ];then From eaf65a326c1dcf9334936c40fa54e15ffc5727a1 Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 21 Oct 2022 08:49:18 +0000 Subject: [PATCH 09/12] update tool/update-upgrade/ss-do-upgrade.sh. Signed-off-by: shenmo --- tool/update-upgrade/ss-do-upgrade.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/update-upgrade/ss-do-upgrade.sh b/tool/update-upgrade/ss-do-upgrade.sh index b16f71a..4cc3ee3 100755 --- a/tool/update-upgrade/ss-do-upgrade.sh +++ b/tool/update-upgrade/ss-do-upgrade.sh @@ -1,5 +1,5 @@ #!/bin/bash -aptss ssupdate | zenity --progress --no-cancel --pulsate --text=正在更新检查,请稍候... --height 70 --width 400 --title="星火商店更新模块" +aptss ssupdate | zenity --progress --auto-close --no-cancel --pulsate --text=正在更新检查,请稍候... --height 70 --width 400 --title="星火商店更新模块" PKG_LIST="$(bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt list --upgradable -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" | awk 'BEGIN {FS="/"} {print $1}' | awk NR\>1)" ####如果没更新,就弹出不需要更新 if [ -z "$PKG_LIST" ];then From 3feae61b1b488f80fc60a2db7d81e90ec047c2e8 Mon Sep 17 00:00:00 2001 From: uniartisan Date: Fri, 21 Oct 2022 17:15:49 +0800 Subject: [PATCH 10/12] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit change: 翻译 --- assets/icons.qrc | 2 + assets/icons/upgrades-symbolic.svg | 7 + assets/icons/upgrades-symbolic_dark.svg | 58 ++++++ src/widget.cpp | 31 ++- src/widget.ui | 251 ++++++++++++------------ translations/spark-store_zh_CN.ts | 2 +- 6 files changed, 221 insertions(+), 130 deletions(-) create mode 100644 assets/icons/upgrades-symbolic.svg create mode 100644 assets/icons/upgrades-symbolic_dark.svg diff --git a/assets/icons.qrc b/assets/icons.qrc index 5686063..6014540 100644 --- a/assets/icons.qrc +++ b/assets/icons.qrc @@ -32,6 +32,8 @@ icons/category_active.svg icons/refresh-page-dark.svg icons/refresh-page.svg + icons/upgrades-symbolic_dark.svg + icons/upgrades-symbolic.svg tags/a2d.png diff --git a/assets/icons/upgrades-symbolic.svg b/assets/icons/upgrades-symbolic.svg new file mode 100644 index 0000000..b25d370 --- /dev/null +++ b/assets/icons/upgrades-symbolic.svg @@ -0,0 +1,7 @@ + + + + Layer 1 + + + \ No newline at end of file diff --git a/assets/icons/upgrades-symbolic_dark.svg b/assets/icons/upgrades-symbolic_dark.svg new file mode 100644 index 0000000..01a3901 --- /dev/null +++ b/assets/icons/upgrades-symbolic_dark.svg @@ -0,0 +1,58 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/src/widget.cpp b/src/widget.cpp index 303d0c7..381008f 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -63,7 +63,8 @@ Widget::Widget(DBlurEffectWidget *parent) : connect(ui->menu_system, &QPushButton::clicked, this, [=](){Widget::chooseLeftMenu(10);}); connect(ui->menu_theme, &QPushButton::clicked, this, [=](){Widget::chooseLeftMenu(11);}); connect(ui->menu_other, &QPushButton::clicked, this, [=](){Widget::chooseLeftMenu(12);}); - connect(ui->menu_download, &QPushButton::clicked, this, [=](){Widget::chooseLeftMenu(13);}); + connect(ui->menu_upgrade, &QPushButton::clicked, this, [=](){Widget::chooseLeftMenu(13);}); + connect(ui->menu_download, &QPushButton::clicked, this, [=](){Widget::chooseLeftMenu(14);}); connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, [=](DGuiApplicationHelper::ColorType themeType) { @@ -255,7 +256,8 @@ void Widget::initUI() left_list[10] = ui->menu_system; left_list[11] = ui->menu_theme; left_list[12] = ui->menu_other; - left_list[13] = ui->menu_download; + left_list[13] = ui->menu_upgrade; + left_list[14] = ui->menu_download; ui->label_show->hide(); @@ -482,7 +484,8 @@ void Widget::updateUI() left_list[10]->setIcon(QIcon(":/icons/icons/category_system_dark.svg")); left_list[11]->setIcon(QIcon(":/icons/icons/theme-symbolic_dark.svg")); left_list[12]->setIcon(QIcon(":/icons/icons/category_others_dark.svg")); - left_list[13]->setIcon(QIcon(":/icons/icons/downloads-symbolic_dark.svg")); + left_list[13]->setIcon(QIcon(":/icons/icons/upgrades-symbolic_dark.svg")); + left_list[14]->setIcon(QIcon(":/icons/icons/downloads-symbolic_dark.svg")); } else { @@ -499,10 +502,11 @@ void Widget::updateUI() left_list[10]->setIcon(QIcon(":/icons/icons/category_system.svg")); left_list[11]->setIcon(QIcon(":/icons/icons/theme-symbolic.svg")); left_list[12]->setIcon(QIcon(":/icons/icons/category_others.svg")); - left_list[13]->setIcon(QIcon(":/icons/icons/downloads-symbolic.svg")); + left_list[13]->setIcon(QIcon(":/icons/icons/upgrades-symbolic.svg")); + left_list[14]->setIcon(QIcon(":/icons/icons/downloads-symbolic.svg")); } - for(int i = 0; i < 14; i++) + for(int i = 0; i < 15; i++) { /* 设置左侧菜单字体 * QFont temp = font; @@ -590,7 +594,10 @@ void Widget::updateUI() left_list[12]->setIcon(QIcon(":/icons/icons/category_others_dark.svg")); break; case 13: - left_list[13]->setIcon(QIcon(":/icons/icons/downloads-symbolic_dark.svg")); + left_list[13]->setIcon(QIcon(":/icons/icons/upgrades-symbolic_dark.svg")); + break; + case 14: + left_list[14]->setIcon(QIcon(":/icons/icons/downloads-symbolic_dark.svg")); break; } } @@ -630,6 +637,16 @@ void Widget::chooseLeftMenu(int index) ui->stackedWidget->setCurrentIndex(0); } + else if (index == 13){ + QtConcurrent::run([=]{ + auto upgradeP = new QProcess(); + upgradeP->startDetached("/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh"); + upgradeP->waitForStarted(); + upgradeP->waitForFinished(-1); + + }); + ui->stackedWidget->setCurrentIndex(0); + } else { ui->stackedWidget->setCurrentIndex(1); @@ -649,7 +666,7 @@ void Widget::updatefoot() void Widget::on_pushButton_download_clicked() { - chooseLeftMenu(13); + chooseLeftMenu(14); allDownload += 1; diff --git a/src/widget.ui b/src/widget.ui index 1605673..95b9c5f 100644 --- a/src/widget.ui +++ b/src/widget.ui @@ -7,7 +7,7 @@ 0 0 1053 - 711 + 754 @@ -93,6 +93,20 @@ 5 + + + + Beautify + + + + + + + Chat + + + @@ -109,86 +123,30 @@ - - + + - Music + Network - - - - Graphics - - - - - - - Development - - - - - - - - 0 - 36 - - - - - 16777215 - 36 - - - - icon - - - - - + + - Qt::Horizontal - - - QSizePolicy::Fixed + Qt::Vertical - 3 - 20 + 20 + 40 - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - + + - Tools - - - - - - - Reading + Games @@ -199,6 +157,13 @@ + + + + Download + + + @@ -219,10 +184,10 @@ - - + + - Chat + Video @@ -246,44 +211,10 @@ - - - - Qt::Vertical - - - - 20 - 40 - - - - - - + + - Beautify - - - - - - - Network - - - - - - - Games - - - - - - - Others + Tools @@ -300,17 +231,63 @@ - - + + - Download + Reading - - + + - Video + Others + + + + + + + Graphics + + + + + + + + 0 + 36 + + + + + 16777215 + 36 + + + + icon + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Development @@ -333,6 +310,36 @@ + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 3 + 20 + + + + + + + + Music + + + + + + + Upgrade + + + @@ -365,11 +372,11 @@ 0 - + Qt::DefaultContextMenu - + about:blank @@ -489,8 +496,8 @@ 0 0 - 889 - 849 + 903 + 848 @@ -993,8 +1000,8 @@ 0 0 - 851 - 324 + 869 + 326 @@ -1123,8 +1130,8 @@ 0 0 - 889 - 716 + 738 + 833 diff --git a/translations/spark-store_zh_CN.ts b/translations/spark-store_zh_CN.ts index c9da681..ab9c8d5 100644 --- a/translations/spark-store_zh_CN.ts +++ b/translations/spark-store_zh_CN.ts @@ -617,7 +617,7 @@ Upgrade - 升级 + 软件升级 From d24af0461bc5c44b0beb80f9cba6aad225dbe345 Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 21 Oct 2022 09:27:05 +0000 Subject: [PATCH 11/12] update src/main.cpp. Signed-off-by: shenmo --- src/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 9fde06f..741a3f3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -37,7 +37,7 @@ int main(int argc, char *argv[]) DAboutDialog dialog; a.setAboutDialog(&dialog); dialog.setLicense(QObject::tr("We publish this program under GPL V3")); - dialog.setVersion(DApplication::buildVersion("Version 3.3~test3")); + dialog.setVersion(DApplication::buildVersion("Version 3.3")); dialog.setProductIcon(QIcon::fromTheme("spark-store")); // 设置Logo dialog.setProductName(QLabel::tr("Spark Store")); dialog.setDescription( @@ -58,7 +58,7 @@ int main(int argc, char *argv[]) a.setOrganizationName("spark-union"); a.setOrganizationDomain("https://www.deepinos.org/"); a.setApplicationName("Spark Store"); //不需要翻译,否则 ~/.local/share/ 下文件夹名称也被翻译为中文 - a.setApplicationVersion(DApplication::buildVersion("3.3~test3")); + a.setApplicationVersion(DApplication::buildVersion("3.3")); a.setApplicationAcknowledgementPage("https://gitee.com/deepin-community-store/spark-store"); a.setApplicationDescription( QObject::tr( From 19901b0d7d1830a375f5cf18c979daa233320e7c Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 21 Oct 2022 09:28:06 +0000 Subject: [PATCH 12/12] update debian/changelog. Signed-off-by: shenmo --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index 03b80a2..5020c77 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +spark-store (3.3) stable; urgency=medium + + * 修复 检查更新 未刷新软件源 + * 把检查更新单独拿出作为左列 + +-- shenmo Fri, 30 Jan 2022 00:00:00 +0800 + spark-store (3.3~test3) stable; urgency=medium * 把检查更新加入免密码