Compare commits

..

11 Commits
3.1.1 ... 3.1.2

Author SHA1 Message Date
f8dbca8f6f !42 3.1.2
Merge pull request !42 from shenmo/master
2022-06-21 14:58:37 +00:00
a064b7b534 修改: debian/changelog
修改:     debian/control
	修改:     debian/spark-store.postinst
	修改:     debian/spark-store.prerm
	修改:     spark-store-project.pro
	修改:     src/main.cpp
	新文件:   tool/apt-fast-conf/apt-fast.conf
	新文件:   tool/ss-apt-fast
	修改:     tool/ssinstall
	修改:     tool/update-upgrade/ss-do-upgrade.sh
	修改:     tool/update-upgrade/ss-update-controler.sh
2022-06-21 22:37:39 +08:00
289f3020fe !41 不再case yoyo
Merge pull request !41 from shenmo/master
2022-06-16 05:31:51 +00:00
9cd974fed9 不再case yoyo 2022-06-16 05:31:05 +00:00
4d97a1e87b !40 检测yoyo-daemon
Merge pull request !40 from 柚子/N/A
2022-06-10 10:33:15 +00:00
柚子
d326e8919f 检测yoyo-daemon 2022-06-10 10:32:33 +00:00
Jerry
1828a60ff1 !39 update img url
* fix: update img url
2022-06-07 10:54:26 +00:00
865322c85f !37 修改controler的文案
Merge pull request !37 from shenmo/master
2022-05-15 02:46:38 +00:00
c22c76efc2 update tool/update-upgrade/ss-update-controler.sh. 2022-05-15 02:45:19 +00:00
415dd1a63c !36 update tool/update-upgrade/ss-upgrade-list.sh.
Merge pull request !36 from lv36/N/A
2022-05-15 02:40:01 +00:00
lv36
7e105b59b0 update tool/update-upgrade/ss-upgrade-list.sh.
接对ss-update-controler.sh的修改,
微调了输出的显示,个人认为这样可加强字符显示的对比,增强显示的对比、提醒(自己看着更舒服)
2022-05-14 15:06:41 +00:00
13 changed files with 195 additions and 18 deletions

10
debian/changelog vendored
View File

@@ -1,3 +1,13 @@
spark-store (3.1.2) stable; urgency=medium
* Now let apt-fast method support all mirrors
* Now will download dependencies and upgrade with all mirrors
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.1.1) stable; urgency=medium
* Now will delete the link of policy file after uninstall or upgrade

3
debian/control vendored
View File

@@ -34,7 +34,8 @@ Depends:${shlibs:Depends}, ${misc:Depends},
libdtkwidget5,
libnotify4,
curl,
dde-qt5integration
dde-qt5integration,
bubblewrap
Description: Spark Store
A community powered app store, based on DTK.
Recommends: apt-fast

View File

@@ -11,6 +11,7 @@ case "$1" in
ln -s -f /opt/durapps/spark-store/bin/spark-store /usr/local/bin/spark-store
ln -s -f /opt/durapps/spark-store/bin/ssinstall /usr/local/bin/ssinstall
ln -s -f /opt/durapps/spark-store/bin/spark-dstore-patch /usr/local/bin/spark-dstore-patch
ln -s -f /opt/durapps/spark-store/bin/ss-apt-fast /usr/local/bin/ss-apt-fast

View File

@@ -6,6 +6,7 @@ rm /usr/local/bin/ssinstall
rm /usr/local/bin/spark-dstore-patch
rm /usr/local/bin/ussinstall
rm /usr/local/bin/ussremove
rm /usr/local/bin/ss-apt-fast
# Remove residual symbol links to stop upgrade detect if exist
if [ -f /etc/xdg/autostart/spark-update-notifier.desktop ];then

View File

@@ -37,6 +37,7 @@ polkit-1.files +=pkg/usr/share/polkit-1/actions/store.spark-app.ssinstall.policy
polkit-1.path = /usr/share/polkit-1/actions/
icon.files += pkg/usr/share/icons/hicolor/scalable/apps/spark-store.svg
icon.path = /usr/share/icons/hicolor/scalable/apps

View File

@@ -30,7 +30,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.1.1"));
dialog.setVersion(DApplication::buildVersion("Version 3.1.2"));
dialog.setProductIcon(QIcon::fromTheme("spark-store")); // 设置Logo
dialog.setProductName(QLabel::tr("Spark Store"));
dialog.setDescription(
@@ -51,7 +51,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.1.1"));
a.setApplicationVersion(DApplication::buildVersion("3.1.2"));
a.setApplicationAcknowledgementPage("https://gitee.com/deepin-community-store/spark-store");
a.setApplicationDescription(
QObject::tr(

View File

@@ -29,7 +29,7 @@ void SpkAppInfoLoaderThread::run()
QString deburl = serverUrl;
deburl = deburl.left(urladdress.length() - 1);
urladdress = "https://img.jerrywang.top/"; // 使用图片专用服务器请保留这行,删除后将使用源服务器
urladdress = "https://d.store.deepinos.org.cn/"; // 使用图片专用服务器请保留这行,删除后将使用源服务器
urladdress = urladdress.left(urladdress.length() - 1);
for(int i = 3; i < downloadurl.size(); i++)

View File

@@ -0,0 +1,147 @@
###################################################################
# CONFIGURATION OPTIONS
###################################################################
# Every item has a default value besides MIRRORS (which is unset).
# Use aptitude, apt-get, or apt?
# Note that apt-get is used as a fallback for outputting the
# package URI list for e.g. aptitude, which can't do this
# Optionally add the FULLPATH to apt-get or apt-rpm or aptitude
# e.g. /usr/bin/aptitude
#
# Default: apt-get
#
_APTMGR=apt
# Enable DOWNLOADBEFORE to suppress apt-fast confirmation dialog and download
# packages directly.
#
# Default: dialog enabled
#
DOWNLOADBEFORE=true
# Choose mirror list to speed up downloads from same archive. To select some
# mirrors take a look at your distribution's archive mirror lists.
# Debian: http://www.debian.org/mirror/list
# Ubuntu: https://launchpad.net/ubuntu/+archivemirrors
#
# It is required to add mirrors in the sources.list to this array as well, so
# apt-fast can destinguish between different distributions.
#
# Examples:
#
# Different distributions (as in operating systems):
#
# sources.list:
# deb http://deb.debian.org/debian/ unstable main non-free contrib
# deb http://de.archive.ubuntu.com/ubuntu/ bionic main universe
#
# apt-fast.conf:
# MIRRORS=( 'http://deb.debian.org/debian','http://ftp.debian.org/debian,http://ftp2.de.debian.org/debian,http://ftp.de.debian.org/debian,ftp://ftp.uni-kl.de/debian'
# 'http://archive.ubuntu.com/ubuntu,http://de.archive.ubuntu.com/ubuntu,http://ftp.halifax.rwth-aachen.de/ubuntu,http://ftp.uni-kl.de/pub/linux/ubuntu,http://mirror.informatik.uni-mannheim.de/pub/linux/distributions/ubuntu/' )
#
#
# Single distribution:
#
# sources.list:
# deb http://fr.archive.ubuntu.com/ubuntu/ bionic main
# deb http://fr.archive.ubuntu.com/ubuntu/ artful main
#
# apt-fast.conf:
# MIRRORS=( 'http://fr.archive.ubuntu.com/ubuntu,http://bouyguestelecom.ubuntu.lafibre.info/ubuntu,http://mirror.ovh.net/ubuntu,http://ubuntu-archive.mirrors.proxad.net/ubuntu' )
#
# Default: disabled
#
MIRRORS=( 'https://d.store.deepinos.org.cn/,https://d1.store.deepinos.org.cn/,https://d2.store.deepinos.org.cn/,https://d3.store.deepinos.org.cn/,https://d4.store.deepinos.org.cn/,https://d5.store.deepinos.org.cn/' )
# Maximum number of connections
# You can use this value in _DOWNLOADER command. Escape with ${}: ${_MAXNUM}
#
# Default: 5
#
_MAXNUM=5
# Maximum number of connections per server
# Default: 10
#
_MAXCONPERSRV=10
# Download file using given number of connections
# If more than N URIs are given, first N URIs are used and remaining URIs are used for backup.
# If less than N URIs are given, those URIs are used more than once so that N connections total are made simultaneously.
#
_SPLITCON=8
# Split size i.e. size of each piece
# Possible Values: 1M-1024M
#
_MINSPLITSZ=1M
# Piece selection algorithm to use
# Available values are: default, inorder, geom
# default: selects piece so that it reduces the number of establishing connection, reasonable for most cases
# inorder: selects pieces in sequential order starting from first piece
# geom: selects piece which has minimum index like inorder, but it exponentially increasingly keeps space from previously selected pieces
#
_PIECEALGO=default
# Downloadmanager listfile
# You can use this value in _DOWNLOADER command. Escape with ${}: ${DLLIST}
#
# Default: /tmp/apt-fast.list
#
DLLIST='/tmp/apt-fast.list'
# Download command to use. Temporary download list is designed for aria2. But
# you can choose another download command or download manager. It has to
# support following input file syntax (\t is tab character):
#
# # Comment
# MIRROR1\tMIRROR2\tMIRROR3...
# out=FILENAME1
# MIRROR1\tMIRROR2\tMIRROR3...
# out=FILENAME2
# ...
#
# Examples:
# aria2c with a proxy (set username, proxy, ip and password!)
# _DOWNLOADER='aria2c --no-conf -c -j ${_MAXNUM} -x ${_MAXCONPERSRV} -s ${_SPLITCON} --min-split-size=${_MINSPLITSZ} --stream-piece-selector=${_PIECEALGO} --http-proxy=http://username:password@proxy_ip:proxy_port -i ${DLLIST}'
#
# Default: _DOWNLOADER='aria2c --no-conf -c -j ${_MAXNUM} -x ${_MAXCONPERSRV} -s ${_SPLITCON} --min-split-size=${_MINSPLITSZ} --stream-piece-selector=${_PIECEALGO} -i ${DLLIST} --connect-timeout=600 --timeout=600 -m0'
#
_DOWNLOADER='aria2c --no-conf -c -j ${_MAXNUM} -x ${_MAXCONPERSRV} -s ${_SPLITCON} --min-split-size=${_MINSPLITSZ} --stream-piece-selector=${_PIECEALGO} -i ${DLLIST} --connect-timeout=600 --timeout=600 -m0'
# Download temp folder for Downloadmanager
# example /tmp/apt-fast. Standard is /var/cache/apt-fast
#
# Default: /var/cache/apt/apt-fast
#
DLDIR='/var/cache/apt/apt-fast'
# APT archives cache directory
#
# Default /var/cache/apt/archives
# (APT configuration items Dir::Cache and Dir::Cache::archives)
#
APTCACHE='/var/cache/apt/archives'
# apt-fast colors
# Colors are disabled when not using a terminal.
#
# Default colors are:
# cGreen='\e[0;32m'
# cRed='\e[0;31m'
# cBlue='\e[0;34m'
# endColor='\e[0m'

8
tool/ss-apt-fast Executable file
View File

@@ -0,0 +1,8 @@
#/bin/bash
DEPEND=`dpkg -l | grep apt-fast`
if [ "$DEPEND" = "" ] ; then
echo "未安装依赖apt-fast 本脚本退出"
exit 0
fi
sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/apt-fast.conf' /etc/apt-fast.conf apt-fast "$@"

View File

@@ -67,9 +67,9 @@ echo "$upass" | sudo -S dpkg -i $1 || apt install -yf || dpkg -P $1
fi
if [ "$DEPEND" != "" ] && [ "$isuos" = "" ]; then
echo "检测到apt-fast使用apt-fast进行多线程下载加速"
echo "检测到apt-fast使用ss-apt-fast进行多线程下载加速"
echo ----------------------------------------------------------------------------------
echo "$upass" | sudo -S dpkg -i $1 || apt-fast install -yf || dpkg -P $1
echo "$upass" | sudo -S dpkg -i $1 || ss-apt-fast install -yf || dpkg -P $1
fi
echo "$upass" | sudo -S sed -i 's/500/400/g' /etc/apt/preferences.d/sparkstore
@@ -99,9 +99,9 @@ dpkg -i $1 || apt install -yf || dpkg -P $1
fi
if [ "$DEPEND" != "" ] && [ "$isuos" = "" ]; then
echo "检测到apt-fast使用apt-fast进行多线程下载加速"
echo "检测到apt-fast使用ss-apt-fast进行多线程下载加速"
echo ----------------------------------------------------------------------------------
dpkg -i $1 || apt-fast install -yf || dpkg -P $1
dpkg -i $1 || ss-apt-fast install -yf || dpkg -P $1
fi
sed -i 's/500/400/g' /etc/apt/preferences.d/sparkstore

View File

@@ -5,5 +5,5 @@ echo "没有安装apt-fast使用apt运行"
sudo apt upgrade -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
else
echo "已安装apt-fast使用apt-fast加速运行"
sudo apt-fast upgrade -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
ss-apt-fast upgrade -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
fi

View File

@@ -29,13 +29,20 @@ echo "输入1 $text_update_open星火更新检测工具(如果开启则会在系
echo "输入2 查看可更新软件包列表并决定是否更新"
echo "输入3 $text_auto_install_open点击安装免输入密码功能"
echo "输入4 退出脚本"
echo
echo "小提示建议安装apt-fast以提高下载速度。"
echo "安装过apt-fast的用户可在系统更新的时候使用ss-apt-fast代替apt-fast进行更新"
echo "比如 sudo ss-apt-fast update或者sudo ss-apt-fast upgrade"
echo
echo "UOS除外UOS对下载源采取了禁止非APT应用多线程下载的策略"
echo "为了防止系统依赖包无法下载在依赖下载时禁用了apt-fast."
read option
case $option in
0)
reset
echo "此须知适用于自动更新功能"
echo "此脚本可以检测星火源中是否有比当前系统更高版本的软件包,由您决定是否安装"
echo "此脚本可以检测星火源中是否有比当前系统更高版本的软件包,由您决定是否安装;在安装更新过程中请不要直接点击关闭本页面,以免发生错误"
echo "此脚本使用apt update/apt list --upgrade/apt upgrade来更新软件源、列出更新列表和操作更新"
echo
echo "该脚本不对其使用效果有任何明示或暗示的担保,在使用前请您确保您清楚地知道您在干什么。您应当清楚,星火商店的软件包并不是适配所有发行版的;尽管绝大多数的软件更新是无害的,您仍然应该仔细检查显示出来的更新内容,以确保不会对您 的依赖环境造成破坏,尤其是那些看起来和系统依赖相关的软件包。在查看过更新列表之后,确认更新之前,您仍有一次取消更新的机会。"
@@ -51,13 +58,13 @@ case $option in
1)
echo "执行以下操作需要授权..."
if [ -f /etc/xdg/autostart/spark-update-notifier.desktop ];then
echo "检测到已经启动了自动更新检测,执行关闭"
echo "---检测到已经启动了自动更新检测,执行关闭"
sudo systemctl disable spark-update-notifier
sudo rm /etc/xdg/autostart/spark-update-notifier.desktop
sleep 3
reset
else
echo "未检测到自动更新检测,启动"
echo "---未检测到自动更新检测,执行启动"
sudo systemctl enable spark-update-notifier
sudo service spark-update-notifier start
# ln -s /opt/durapps/spark-store/bin/update-upgrade/autostart/spark-update-notifier.desktop $XDG_CONFIG_HOME/autostart
@@ -70,16 +77,17 @@ case $option in
;;
2)
echo "请注意:如果有些更新需要从系统获取更多依赖,你将需要手动操作 sudo ss-apt-fast upgrade"
echo "执行以下操作需要授权..."
/opt/durapps/spark-store/bin/update-upgrade/ss-upgrade-list.sh
/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh
echo "请按回车返回"
echo "---请按回车返回"
read
reset
;;
3)
if [ -f /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy ];then
echo "检测到已经启动了免输入密码,执行关闭"
echo "---检测到已经启动了免输入密码,执行关闭"
sudo rm /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy
sleep 3
reset
@@ -96,11 +104,11 @@ read is_accept_polkiy
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 已启动
echo "---已启动"
sleep 3
reset
else
echo 未同意,返回
echo "---未同意,返回"
sleep 3
reset
fi
@@ -110,7 +118,7 @@ fi
exit 0
;;
*)
echo "无法识别的输入!请重新输入"
echo "---无法识别的输入!请重新输入"
reset
esac

View File

@@ -2,5 +2,5 @@
set -e
echo "可更新的应用有:"
echo "---可更新的应用有:"
sudo apt list --upgradable -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"