mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-12-15 13:22:04 +08:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cafb4d1dfe | |||
| b03795e364 |
13
debian/changelog
vendored
13
debian/changelog
vendored
@@ -1,16 +1,3 @@
|
||||
spark-store (3.3~test2) stable; urgency=medium
|
||||
|
||||
* 更新检测功能全部更改到zenity
|
||||
|
||||
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
|
||||
|
||||
spark-store (3.3~test1) stable; urgency=medium
|
||||
|
||||
* zenity,选择可更新应用
|
||||
* 自动更新检测现在会跳过hold
|
||||
|
||||
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
|
||||
|
||||
spark-store (3.2.4) stable; urgency=medium
|
||||
|
||||
* 修改tag相关的文案内容:wine相关环境已可自动配置了
|
||||
|
||||
3
debian/control
vendored
3
debian/control
vendored
@@ -39,8 +39,7 @@ Depends:${shlibs:Depends}, ${misc:Depends},
|
||||
dde-qt5integration,
|
||||
bubblewrap,
|
||||
aria2,
|
||||
gcc,
|
||||
zenity
|
||||
gcc
|
||||
Description: Spark Store
|
||||
A community powered app store, based on DTK.
|
||||
Recommends: apt-fast
|
||||
|
||||
@@ -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.2.4"));
|
||||
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.2.4"));
|
||||
a.setApplicationAcknowledgementPage("https://gitee.com/deepin-community-store/spark-store");
|
||||
a.setApplicationDescription(
|
||||
QObject::tr(
|
||||
|
||||
@@ -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("/opt/durapps/spark-store/bin/update-upgrade/ss-update-controler.sh");});
|
||||
connect(upgrade, &QAction::triggered, this, [=]{QProcess::startDetached("x-terminal-emulator -e /opt/durapps/spark-store/bin/update-upgrade/ss-update-controler.sh");});
|
||||
|
||||
// 投稿器
|
||||
connect(actionSubmissionWithClient, &QAction::triggered, this, [=]
|
||||
@@ -510,9 +510,6 @@ 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)
|
||||
{
|
||||
|
||||
@@ -1,26 +1,24 @@
|
||||
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 `
|
||||
#!/bin/bash
|
||||
|
||||
#### 如果没有选择,则直接退出
|
||||
echo "以上可升级,是否升级?[y/n]"
|
||||
read yes_or_no
|
||||
if [ "$yes_or_no" = "y" ];then ###这是确定是否同意
|
||||
|
||||
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
|
||||
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)"
|
||||
|
||||
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 ###这是确定是否同意
|
||||
@@ -1,5 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
reset
|
||||
|
||||
endloop=0
|
||||
|
||||
@@ -20,44 +21,85 @@ else
|
||||
text_auto_install_open="开启"
|
||||
fi
|
||||
|
||||
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`
|
||||
|
||||
echo "欢迎使用星火更新和安装设置工具"
|
||||
echo "请在以下操作中选择一个进行~"
|
||||
echo "输入0 查看自动更新相关功能使用前须知(重要)"
|
||||
echo "输入1 $text_update_open星火更新检测工具(如果开启则会在系统启动后自动检测更新。如有更新则会弹出通知)"
|
||||
echo "输入2 查看可更新软件包列表并决定是否更新"
|
||||
echo "输入3 $text_auto_install_open点击安装免输入密码功能"
|
||||
echo "输入4 退出脚本"
|
||||
echo
|
||||
read -e option
|
||||
|
||||
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本脚本的开发者不对使用该脚本可能造成的后果负责"
|
||||
reset
|
||||
echo "此须知适用于自动更新功能"
|
||||
echo "此脚本可以检测星火源中是否有比当前系统更高版本的软件包,由您决定是否安装;在安装更新过程中请不要直接点击关闭本页面,以免发生错误"
|
||||
echo "此脚本使用apt update/apt list --upgrade/apt upgrade来更新软件源、列出更新列表和操作更新"
|
||||
echo
|
||||
echo "该脚本不对其使用效果有任何明示或暗示的担保,在使用前请您确保您清楚地知道您在干什么。您应当清楚,星火商店的软件包并不是适配所有发行版的;尽管绝大多数的软件更新是无害的,您仍然应该仔细检查显示出来的更新内容,以确保不会对您 的依赖环境造成破坏,尤其是那些看起来和系统依赖相关的软件包。在查看过更新列表之后,确认更新之前,您仍有一次取消更新的机会。"
|
||||
echo "本脚本的开发者不对使用该脚本可能造成的后果负责"
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo "请按回车继续..."
|
||||
#"只有回车可以用啊!""啊?"“你说的任意都行啊”“唔。。。戳到我的盲区了”
|
||||
read
|
||||
reset
|
||||
;;
|
||||
1)
|
||||
echo "执行以下操作需要授权..."
|
||||
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
|
||||
zenity --info --icon-name=spark-store --height 150 --width 200 --text "已关闭" --timeout=2
|
||||
echo "---检测到已经启动了自动更新检测,执行关闭"
|
||||
sudo systemctl disable spark-update-notifier
|
||||
sleep 3
|
||||
reset
|
||||
else
|
||||
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
|
||||
echo "---未检测到自动更新检测,执行启动"
|
||||
sudo systemctl enable spark-update-notifier
|
||||
sudo service spark-update-notifier start
|
||||
sleep 3
|
||||
reset
|
||||
fi
|
||||
;;
|
||||
|
||||
2)
|
||||
pkexec bash /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh
|
||||
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
|
||||
echo "---请按回车返回"
|
||||
read
|
||||
reset
|
||||
;;
|
||||
3)
|
||||
if [ -f /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy ];then
|
||||
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
|
||||
echo "---检测到已经启动了免输入密码,执行关闭"
|
||||
sudo rm /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy
|
||||
sleep 3
|
||||
reset
|
||||
else
|
||||
|
||||
is_accept_polkiy=`zenity --list --height 350 --width 300 --text "请注意:这个功能尚未开发完成,一旦开启,则运行pkexec ssinstall时不再需要授权\n仅对星火内置安装器生效\n理论上会存在一定的安全风险" --column 数字 --column=操作选项 --hide-column=1 --print-column=1 1 同意 2 拒绝`
|
||||
|
||||
|
||||
cat << EOF
|
||||
请注意:这个功能尚未开发完成,一旦开启,则运行pkexec ssinstall时不再需要授权
|
||||
仅对星火内置安装器生效
|
||||
理论上会存在一定的安全风险~
|
||||
如果接受,请输入1,否则输入2
|
||||
EOF
|
||||
read is_accept_polkiy
|
||||
|
||||
if [ "$is_accept_polkiy" = "1" ];then
|
||||
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 "---已启动"
|
||||
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
|
||||
else
|
||||
zenity --info --icon-name=spark-store --height 150 --width 200 --text "---未同意,返回"
|
||||
echo "---未同意,返回"
|
||||
sleep 3
|
||||
reset
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@@ -65,7 +107,8 @@ fi
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
echo "---无法识别的输入!请重新输入"
|
||||
reset
|
||||
esac
|
||||
|
||||
done
|
||||
@@ -66,31 +66,12 @@ 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
|
||||
echo $update_app_number
|
||||
echo $PKG_NAME
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
|
||||
if [ $update_app_number -lt 1 ];then
|
||||
exit
|
||||
fi
|
||||
#### 如果都是hold的那就直接退出,否则把剩余的给提醒了
|
||||
|
||||
notify-send -i spark-store "星火更新提醒" "星火商店仓库中有$update_app_number个软件包可以更新啦!请到星火商店的菜单处理"
|
||||
|
||||
|
||||
|
||||
6
tool/update-upgrade/ss-upgrade-list.sh
Executable file
6
tool/update-upgrade/ss-upgrade-list.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user