mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-12-15 21:32:05 +08:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5220b886de | |||
| 5be7923e60 | |||
| 6ca6f63b1f | |||
| bda0426a3b | |||
| a75b7b1e57 | |||
| 8054f85ada | |||
| bc6584eacc | |||
| c9e01d10fe | |||
| c3b9763aa8 | |||
| 398cd512d7 | |||
| 0c0ff452ae | |||
| e6d3b035db |
24
debian/changelog
vendored
24
debian/changelog
vendored
@@ -1,3 +1,27 @@
|
||||
spark-store (3.1.5-2) stable; urgency=medium
|
||||
|
||||
* 下载软件时跳过获取大小,修复部分软件无法下载的问题
|
||||
* 修复 获取key时出错,指定使用http1.1
|
||||
|
||||
|
||||
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
|
||||
|
||||
spark-store (3.1.5-1) stable; urgency=medium
|
||||
|
||||
* 改变更新策略,UOS也下载加速,但是安装不加速
|
||||
|
||||
|
||||
|
||||
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
|
||||
|
||||
spark-store (3.1.5) stable; urgency=medium
|
||||
|
||||
* 改变更新策略,现在支持应用在更新时引入新依赖
|
||||
* ss-apt-fast现在默认允许降级,以与apt使用体验一致
|
||||
|
||||
|
||||
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
|
||||
|
||||
spark-store (3.1.4-2) stable; urgency=medium
|
||||
|
||||
* 客户端下载使用metalink来支持bt下载加速
|
||||
|
||||
2
debian/spark-store.postinst
vendored
2
debian/spark-store.postinst
vendored
@@ -16,7 +16,7 @@ case "$1" in
|
||||
|
||||
|
||||
# Download and install key
|
||||
curl --progress-bar -o /tmp/spark-store-install/spark-store.asc https://d.store.deepinos.org.cn/dcs-repo.gpg-key.asc
|
||||
curl --http1.1 --progress-bar -o /tmp/spark-store-install/spark-store.asc https://d.store.deepinos.org.cn/dcs-repo.gpg-key.asc
|
||||
gpg --dearmor /tmp/spark-store-install/spark-store.asc
|
||||
cp -f /tmp/spark-store-install/spark-store.asc.gpg /etc/apt/trusted.gpg.d/spark-store.gpg
|
||||
|
||||
|
||||
1
debian/spark-store.prerm
vendored
1
debian/spark-store.prerm
vendored
@@ -8,6 +8,7 @@ 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
|
||||
rm /etc/xdg/autostart/spark-update-notifier.desktop
|
||||
|
||||
@@ -1,14 +1,8 @@
|
||||
#include "downloadworker.h"
|
||||
#include <QEventLoop>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkRequest>
|
||||
#include <QNetworkReply>
|
||||
#include <QThread>
|
||||
#include <QProcess>
|
||||
#include <QRegularExpression>
|
||||
#include <QFileInfo>
|
||||
#include <QDir>
|
||||
#include <QElapsedTimer>
|
||||
#include <QtConcurrent>
|
||||
|
||||
DownloadController::DownloadController(QObject *parent)
|
||||
@@ -36,13 +30,6 @@ void DownloadController::setFilename(QString filename)
|
||||
this->filename = filename;
|
||||
}
|
||||
|
||||
void timeSleeper(int time)
|
||||
{
|
||||
QElapsedTimer t1;
|
||||
t1.start();
|
||||
while(t1.elapsed()<time);
|
||||
return;
|
||||
}
|
||||
|
||||
bool checkMeatlink(QString metaUrl)
|
||||
{
|
||||
@@ -156,11 +143,9 @@ void DownloadController::startDownload(const QString &url)
|
||||
[&]()
|
||||
{
|
||||
//通过读取输出计算下载速度
|
||||
QFileInfo info(tmpdir.absoluteFilePath(filename));
|
||||
QString message = cmd->readAllStandardOutput().data();
|
||||
//qDebug() << message;
|
||||
message = message.replace(" ", "").replace("\n", "").replace("-", "");
|
||||
message = message.replace("*", "").replace("=", "");
|
||||
// qDebug() << message;
|
||||
message = message.replace(" ", "");
|
||||
QStringList list;
|
||||
qint64 downloadSize = 0;
|
||||
int downloadSizePlace1 = message.indexOf("(");
|
||||
@@ -174,10 +159,10 @@ void DownloadController::startDownload(const QString &url)
|
||||
{
|
||||
int percentInfoNumber = percentInfo.toUInt();
|
||||
|
||||
downloadSize = (percentInfoNumber + 1) * fileSize / 100;
|
||||
downloadSize = percentInfoNumber * fileSize / 100;
|
||||
}
|
||||
}
|
||||
if (speedPlace1 != -1 && speedPlace2 != -1)
|
||||
if (speedPlace1 != -1 && speedPlace2 != -1 && speedPlace2 - speedPlace1 <= 15)
|
||||
{
|
||||
speedInfo = message.mid(speedPlace1 + 3, speedPlace2 - speedPlace1 - 3);
|
||||
speedInfo += "/s";
|
||||
@@ -227,30 +212,8 @@ void DownloadController::stopDownload()
|
||||
|
||||
qint64 DownloadController::getFileSize(const QString &url)
|
||||
{
|
||||
QEventLoop event;
|
||||
QNetworkAccessManager requestManager;
|
||||
QNetworkRequest request;
|
||||
request.setUrl(QUrl(url));
|
||||
request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
|
||||
QNetworkReply *reply = requestManager.head(request);
|
||||
connect(reply, static_cast<void (QNetworkReply::*)(QNetworkReply::NetworkError)>(&QNetworkReply::error),
|
||||
[this, reply](QNetworkReply::NetworkError error)
|
||||
{
|
||||
if (error != QNetworkReply::NoError)
|
||||
{
|
||||
emit errorOccur(reply->errorString());
|
||||
}
|
||||
});
|
||||
connect(reply, &QNetworkReply::finished, &event, &QEventLoop::quit);
|
||||
event.exec();
|
||||
|
||||
qint64 fileSize = 0;
|
||||
if (reply->rawHeader("Accept-Ranges") == QByteArrayLiteral("bytes") && reply->hasRawHeader(QString("Content-Length").toLocal8Bit()))
|
||||
{
|
||||
fileSize = reply->header(QNetworkRequest::ContentLengthHeader).toUInt();
|
||||
}
|
||||
qDebug() << "文件大小为:" << fileSize;
|
||||
reply->deleteLater();
|
||||
// 已经无需使用 qtnetwork 再获取 filesize,完全交给 aria2 来计算进度。 为保证兼容性,故保留此函数。
|
||||
qint64 fileSize = 10000;
|
||||
return fileSize;
|
||||
}
|
||||
|
||||
|
||||
@@ -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.4-2"));
|
||||
dialog.setVersion(DApplication::buildVersion("Version 3.1.5-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.4-2"));
|
||||
a.setApplicationVersion(DApplication::buildVersion("3.1.5-2"));
|
||||
a.setApplicationAcknowledgementPage("https://gitee.com/deepin-community-store/spark-store");
|
||||
a.setApplicationDescription(
|
||||
QObject::tr(
|
||||
|
||||
0
tool/apt-fast-conf/sources.list.d/.keep
Normal file
0
tool/apt-fast-conf/sources.list.d/.keep
Normal file
@@ -1 +0,0 @@
|
||||
deb [by-hash=force] https://d.store.deepinos.org.cn /
|
||||
@@ -24,7 +24,7 @@ fi
|
||||
bwrap --dev-bind / / \
|
||||
--bind '/tmp/ss-apt-fast-conf/apt-fast.conf' /etc/apt-fast.conf \
|
||||
--bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \
|
||||
apt-fast "$@"
|
||||
apt-fast "$@" --allow-downgrades
|
||||
|
||||
rm -rf /tmp/ss-apt-fast-conf
|
||||
|
||||
|
||||
@@ -2,13 +2,51 @@
|
||||
|
||||
echo "以上可升级,是否升级?[y/n]"
|
||||
read yes_or_no
|
||||
if [ "$yes_or_no" = "y" ];then
|
||||
mkdir -p /tmp/ss-apt-fast-conf/sources.list.d
|
||||
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)"
|
||||
|
||||
|
||||
sudo ss-apt-fast upgrade -y -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
|
||||
isuos=`cat /etc/os-release | grep UnionTech`
|
||||
if [ "$isuos" != "" ]; then ###这是确定是否为UOS 如果是
|
||||
echo "UOS中系统依赖无法使用第三方下载工具,使用apt-fast下载本体"
|
||||
|
||||
cd /var/cache/apt/archives
|
||||
for PKG_NAME in $PKG_LIST;
|
||||
do
|
||||
echo "$PKG_NAME 正在下载..."
|
||||
sudo /usr/local/bin/ss-apt-fast download "$PKG_NAME" -y >/dev/null 2>&1;
|
||||
done
|
||||
|
||||
echo "----开始安装"
|
||||
for PKG_NAME in $PKG_LIST;
|
||||
do
|
||||
echo "$PKG_NAME 正在准备更新..."
|
||||
if sudo 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 install "$PKG_NAME" -y >/dev/null 2>&1;
|
||||
then
|
||||
echo "$PKG_NAME 已更新"
|
||||
else
|
||||
echo "WARNING: $PKG_NAME 无法更新"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
else
|
||||
exit
|
||||
fi
|
||||
|
||||
else ###这是确定是否为UOS
|
||||
|
||||
for PKG_NAME in $PKG_LIST;
|
||||
do
|
||||
echo "$PKG_NAME 正在准备更新..."
|
||||
if sudo /usr/local/bin/ss-apt-fast install "$PKG_NAME" -y >/dev/null 2>&1;
|
||||
then
|
||||
echo "$PKG_NAME 已更新"
|
||||
else
|
||||
echo "WARNING: $PKG_NAME 无法更新"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
fi ###这是确定是否为UOS
|
||||
|
||||
fi ###这是确定是否同意
|
||||
@@ -71,10 +71,9 @@ case $option in
|
||||
;;
|
||||
|
||||
2)
|
||||
echo "请注意:如果有些更新需要从系统获取更多依赖,你将需要手动操作 sudo ss-apt-fast upgrade"
|
||||
echo "执行以下操作需要授权..."
|
||||
sudo ss-apt-fast ssupdate
|
||||
/opt/durapps/spark-store/bin/update-upgrade/ss-upgrade-list.sh
|
||||
/opt/durapps/spark-store/bin/update-upgrade/ss-upgrade-list.sh
|
||||
/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh
|
||||
echo "---请按回车返回"
|
||||
read
|
||||
|
||||
Reference in New Issue
Block a user