Compare commits

..

4 Commits
4.8.2 ... 4.2.6

Author SHA1 Message Date
fd4b52e384 !214 426
Merge pull request !214 from shenmo/dev
2023-04-22 05:58:34 +00:00
db79a59fb6 !212 4251
Merge pull request !212 from shenmo/dev
2023-04-20 12:46:27 +00:00
6891fc5b87 !211 4.2.5
Merge pull request !211 from shenmo/dev
2023-04-12 05:20:09 +00:00
62f52451b7 !210 424
Merge pull request !210 from shenmo/dev
2023-03-23 06:25:48 +00:00
204 changed files with 4169 additions and 12883 deletions

View File

@@ -7,7 +7,7 @@ import json
sha = os.getenv("GIT_COMMIT")
# sha = '48fed26c51a8c42554e45f72f43e49703e04c97f'
#get sha from environment
url = "https://gitee.com/api/v5/repos/spark-store-project/spark-store/commits/{}/comments".format(sha)
url = "https://gitee.com/api/v5/repos/deepin-community-store/spark-store/commits/{}/comments".format(sha)
token = os.getenv("gitee_token")

View File

@@ -1,13 +0,0 @@
name: Building Program
run-name: Building ${{ GITHUB.REPOSITORY }}
on:
workflow_dispatch:
push:
tags:
- "*"
jobs:
call:
uses: GXDE-OS/GXDE/.github/workflows/building-deb.yml@master
secrets: inherit

1
.gitignore vendored
View File

@@ -53,4 +53,3 @@ debian/*.substvars
debian/spark-store
.vscode/*
obj-*

View File

@@ -2,7 +2,7 @@ version: '1.0'
name: dtk-build-release-tag-20220425
displayName: dtk-build-release-tag
triggers:
trigger: manual
trigger: auto
push:
tags:
prefix:
@@ -18,28 +18,22 @@ stages:
name: execute_by_docker
displayName: 基于镜像的DTK构建
certificate: ''
image: docker.jianmuhub.com/library/debian:buster
image: docker.io/debian:buster
command:
- sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
- '# 换源'
- apt update
- export DEBIAN_FRONTEND=noninteractive
- echo "安装依赖..."
- 'apt install libgsettings-qt-dev -y '
- 'apt install debhelper git curl fakeroot qtbase5-dev zlib1g-dev qt5-default -y '
- echo "安装git devscripts equivs curl..."
- 'apt install git devscripts equivs curl -y '
- git clone https://gitlink.org.cn/shenmo7192/dtk-old-bundle.git
- cd dtk-old-bundle
- apt install ./*.deb -y
- cd ..
- rm -rf dtk-old-bundle
- ''
- '#mk-build-deps --install --tool "apt-get -o Debug::pkgProblemResolver=yes -y" '
- apt build-dep . -y
- strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
- uname -a
- sed -i 's/dh \$@ --parallel/dh \$@/' debian/rules
- '# Gitee的配置太低了'
- dpkg-buildpackage -b -us -uc
- 'mk-build-deps --install --tool "apt-get -o Debug::pkgProblemResolver=yes -y" '
- dpkg-buildpackage -j2 -b -us -uc
- cd ..
- ls -all
- pwd

View File

@@ -25,16 +25,14 @@ stages:
- apt update
- export DEBIAN_FRONTEND=noninteractive
- echo "安装wget qemu-user-static"
- apt install git wget qemu-user-static xz-utils binfmt-support -y
- apt install wget qemu-user-static xz-utils -y
- mkdir ../spark-store-git
- mv * ../spark-store-git
- git clone https://gitlink.org.cn/shenmo7192/debian-container-aarch64.git
- mv debian-container-aarch64/DEBIANARM.tar.xz .
- rm -rf debian-container-aarch64
- wget https://code.gitlink.org.cn/shenmo7192/debian-container-aarch64/raw/branch/master/DEBIANARM.tar.xz
- tar -xf DEBIANARM.tar.xz
- mkdir -p DEBIAN/root/build-spark
- mv ../spark-store-git DEBIAN/root/build-spark/spark-store
- wget https://gitee.com/spark-store-project/repo_auto_update_script/raw/master/spark-build-aarch64.sh && mv spark-build-aarch64.sh DEBIAN/root
- wget https://gitee.com/deepin-community-store/repo_auto_update_script/raw/master/spark-build-aarch64.sh && mv spark-build-aarch64.sh DEBIAN/root
- mv /usr/bin/qemu-aarch64-static DEBIAN/
- chroot DEBIAN /qemu-aarch64-static /bin/bash /root/spark-build-aarch64.sh
- ''

328
DOCS/code-analyze.md Normal file
View File

@@ -0,0 +1,328 @@
#### 说明
当前服务器线路列表(项目中包含):
```
https://d.store.deepinos.org.cn/
https://store.deepinos.org.cn/
```
# 星火应用商店文档
# 目录结构
几个目录结构
```
/
/icons 图标文件夹
/tags 首页图标
/tras 多语言翻译
```
主要的文件分析
```js
spark-store.pro Qt工程配置文件
ssinstall 调用包安装器的脚本
icons.qrc 图标资源文件
main.cpp 入口文件
widget.h widget.cpp widget.ui 主要窗口控件
downloadlist.h downloadlist.cpp downloadlist.ui 单个软件的下载安装展示控件
progressload.h progressload.cpp 网页加载显示 得在deepin上编译运行才能搞清楚
workerthreads.h workerthreads.cpp 应用信息加载线程
image_show.h image_show.cpp 应用页面截图预览控件
big_image.h big_image.cpp 大图查看控件
```
# 使用的开源库及第三方工具
* GDebi 一个 Ubuntu 软件中心的轻量级替代品 https://linux.cn/article-4982-1.html
* libnotify 系统通知 https://developer.gnome.org/libnotify/unstable/
# 源码分析
## 应用的组成部分
左侧应用分类菜单
主窗口的下拉菜单
应用列表页面
应用详情页面
应用首页,有几个链接跳转
商店设置页面
下载列表页面
## 应用初始化,及主控件加载
初始化 `DApplication` 进入事件循环。
设置关于我们弹窗 `DAboutDialog`
主控件 Widget 根据不同屏幕大小自适应。
首页打开webview页面如果传入了`spk://`参数,会打开应用详情页。
```cpp
// main.cpp
QString arg1=argv[1];
if(arg1.left(6)=="spk://"){
w.openUrl(QUrl(argv[1]));
}
// widget.cpp
void Widget::openUrl(QUrl u)
{
QString app=serverUrl + "store"+u.path()+"/app.json";
ui->webEngineView->setUrl(app); // 会触发 webEngineView 的
}
```
## Tags处理方式
**Tags处理方式**
```cpp
// widget.cpp
QString tags=json["Tags"].toString(); //Read the Tags
QStringList tagList=tags.split(";");
for (int i=0;i<tagList.size();i++) {
if(tagList[i]=="community")
ui->tag_community->show();//Tags icon shows like this
if(tagList[i]=="ubuntu")
ui->tag_ubuntu->show();
if(tagList[i]=="deepin")
ui->tag_deepin->show();
if(tagList[i]=="uos")
ui->tag_uos->show();
if(tagList[i]=="dtk5")
ui->tag_dtk5->show();
if(tagList[i]=="dwine2")
ui->tag_dwine2->show();
if(tagList[i]=="dwine5")
ui->tag_dwine5->show();
if(tagList[i]=="a2d")
ui->tag_a2d->show();
}
```
**Widget 初始化**
```cpp
void Widget::initConfig()
{
...
// 读取服务器URL并初始化菜单项的链接
QSettings readConfig(QDir::homePath()+"/.config/spark-store/config.ini",QSettings::IniFormat);
if(readConfig.value("server/choose").toString()!=""){
ui->comboBox_server->setCurrentText(readConfig.value("server/choose").toString());
appinfoLoadThread.setServer(serverUrl=readConfig.value("server/choose").toString());
}else {
appinfoLoadThread.setServer(serverUrl="http://sucdn.jerrywang.top/"); // 默认URL
}
configCanSave=true; // 防止触发保存配置信号
menuUrl[0]=serverUrl + "store/#/"; // 首页
// 下面是各个应用分类页面直接加载的webview的
// 每个连接对应一个左侧的菜单项,在构造函数用连接到 chooseLeftMenu 槽函数
menuUrl[1]=serverUrl + "store/#/network";
...
menuUrl[12]=serverUrl + "store/#/others";
...
ui->webfoot->hide();
//初始化首页
ui->webEngineView->setUrl(menuUrl[0]);
}
/**
* 菜单切换逻辑
*
*/
void Widget::chooseLeftMenu(int index)
{
nowMenu=index;
updateUI();
left_list[index]->setStyleSheet("color:#FFFFFF;background-color:"+main_color.name()+";border-radius:8;border:0px");
// index <=12 加载某个分类的应用列表的webviejw
// index == 13 加载下载列表页面
if(index<=12){
if(themeIsDark){
darkurl = URL
ui->webEngineView->setUrl(darkurl);
}else {
ui->webEngineView->setUrl(menuUrl[index]);
}
ui->stackedWidget->setCurrentIndex(0);
}else if (index==13) {
ui->stackedWidget->setCurrentIndex(1);
}
}
```
## 应用下载安装卸载分析
**应用详情页面加载**
```cpp
/**
* 加载单个应用的信息
*/
void Widget::on_webEngineView_urlChanged(const QUrl &arg1)
{
//分析出服务器中的分类名称
...
//如果是app.json就打开详情页
if(arg1.path().right(8)=="app.json"){
...
// 读取相应的应用信息
appinfoLoadThread.requestInterruption();
appinfoLoadThread.wait(100);
appinfoLoadThread.setUrl(arg1);
appinfoLoadThread.start();
}
}
// 设置详情页的APP信息
SpkAppInfoLoaderThread::requestSetAppInformation() -> Widget::sltAppinfoDetails()
// 设置详情页的APP图标
SpkAppInfoLoaderThread::finishedIconLoad() -> Widget::sltAppinfoIcon()
// 设置详情页的APP截图
SpkAppInfoLoaderThread::finishedScreenshotLoad() -> Widget::sltAppinfoScreenshot()
// 下载APP详情信息线程
void SpkAppInfoLoaderThread::run()
{
QProcess get_json;
get_json.start("curl -o app.json " + targetUrl.toString());
QFile app_json("app.json");
app.json
}
```
**应用下载**
Widget::on_pushButton_download_clicked() 是点击下载的安装方法。
最终使用的是 `QNetwrokAccessManager` 进行GET请求获取数据写入文件。
```cpp
void Widget::on_pushButton_download_clicked()
{
if(!isBusy){
file = new QFile(fileName);
...
nowDownload+=1;
startRequest(urList.at(nowDownload-1)); // 进行链接请求
}
}
void Widget::startRequest(QUrl url)
{
reply = manager->get(QNetworkRequest(url));
// 请求响应完成,关闭文件,清理下载队列
connect(reply,SIGNAL(finished()),this,SLOT(httpFinished()));
// 接收应用下载数据
connect(reply,SIGNAL(readyRead()),this,SLOT(httpReadyRead()));
// 更新应用下载进度
connect(reply,SIGNAL(downloadProgress(qint64,qint64)),this,SLOT(updateDataReadProgress(qint64,qint64)));
}
```
使用 QSettings 来读取配置,更换服务源
```cpp
void Widget::on_comboBox_server_currentIndexChanged(const QString &arg1)
{
appinfoLoadThread.setServer(arg1); // 服务器信息更新
if(configCanSave){
ui->label_setting1->show();
QSettings *setConfig=new QSettings(QDir::homePath()+"/.config/spark-store/config.ini",QSettings::IniFormat);
setConfig->setValue("server/choose",arg1);
}
}
```
使用 `QProcess` 来调用各种小文件下载、包安装卸载的命令。
**应用安装**
```cpp
void Widget::httpFinished() // 完成下载
{
...
download_list[nowDownload-1].readyInstall();
download_list[nowDownload-1].free=true;
if(nowDownload<allDownload){ // 如果有排队则下载下一个
...
}
}
void downloadlist::readyInstall()
{
...
ui->pushButton_install->setEnabled(true);
ui->pushButton_install->show();
ui->pushButton_2->hide();
Widget::sendNotification(tr("Finished downloading %1, awaiting to install").arg(ui->label->text()), 5000,
"/tmp/spark-store/icon_"+QString::number(num).toUtf8()+".png");
}
void downloadlist::on_pushButton_install_clicked()
{
//弹出菜单
menu_install->exec(cursor().pos());
}
downloadlist menu_install
downloadlist::install()
gdebi, dpkg, deepin-deb-installer
void downloadlist::install(int t)
{
QtConcurrent::run([=](){
QProcess installer;
installer.start("pkexec gdebi -n /tmp/spark-store/"+ui->label_filename->text().toUtf8());
installer.start("pkexec ssinstall /tmp/spark-store/"+ui->label_filename->text().toUtf8());
installer.start("deepin-deb-installer /tmp/spark-store/"+ui->label_filename->text().toUtf8());
});
}
```
**应用卸载**
```cpp
void Widget::on_pushButton_uninstall_clicked()
{
QtConcurrent::run([=](){
uninstall.start("pkexec apt purge -y "+pkgName);
});
}
```
**仓库源更新**
```cpp
// 更新源列表
void Widget::on_pushButton_updateServer_clicked()
{
QtConcurrent::run([=](){
...
QFile::remove(QDir::homePath().toUtf8()+"/.config/spark-store/server.list");
system("curl -o "+QDir::homePath().toUtf8()+"/.config/spark-store/server.list http://dcstore.shenmo.tech/store/server.list");
server.open(QDir::homePath().toUtf8()+"/.config/spark-store/server.list",std::ios::in);
...
while (getline(server,lineTmp)) {
ui->comboBox_server->addItem(QString::fromStdString(lineTmp));
}
});
}
// 更新星火商店apt源
void Widget::on_pushButton_updateApt_clicked()
{
QtConcurrent::run([=](){
comboBox_server /tmp/spark-store/sparkstore.list
bash脚本 sparkstore.list /etc/apt/sources.list.d/
使QProcess pkexec update.sh
}):
}
```
## 发送系统通知
```cpp
#include <libnotify/notify.h>
static NotifyNotification *_notify = nullptr; // 初始化
notify_init(tr("Spark\\ Store").toLocal8Bit()); // 构造函数初始化
notify_uninit(); // 析构函数调用
void Widget::sendNotification(const QString &message, const int msTimeout, const QString &icon)
{
if(_notify == nullptr)
{
_notify = notify_notification_new(tr("Spark\\ Store").toLocal8Bit(), message.toLocal8Bit(), icon.toLocal8Bit());
notify_notification_set_timeout(_notify, msTimeout);
}
else
notify_notification_update(_notify, tr("Spark\\ Store").toLocal8Bit(), message.toLocal8Bit(), icon.toLocal8Bit());
notify_notification_show(_notify, nullptr);
}
```

View File

@@ -1,48 +0,0 @@
# 基本格式
0. 应用信息
例子https://cdn.d.store.deepinos.org.cn/store/tools/spark-store/app.json
```json
{
"Name": "星火应用商店",
"Version": "4.2.7.1",
"Filename": "spark-store_4.2.7.1_amd64.deb",
"Torrent_address": "spark-store_4.2.7.1_amd64.deb.torrent",
"Pkgname": "spark-store",
"Author": "shenmo <shenmo@spark-app.store>",
"Contributor": "shenmo <jifengshenmo@outlook.com>",
"Website": "https://www.spark-app.store/",
"Update": "2023-09-01 23:22:23",
"Size": "590.5 KB",
"More": "* 修复aptss加锁失败现在会正常报错\n * 新增在aptss的特定操作时添加了提示\n * 新增在aptss提示加粗\n * 调整ssinstall验证支持使用cdn.d.获取",
"Tags": "community;ubuntu;deepin;uos;dtk5",
"img_urls": "[\"https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2023/09/01/411c32fd691544bb985ecba87d151ea0.png\",\"https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2023/09/01/f44b3c2242c045e28f1161980d805e0d.png\",\"https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2023/09/01/00263ba857894667bd99240558bec69c.png\",\"https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2023/09/01/6fd248ad9eea4ef18c9c4acc2a9d372d.png\"]",
"icons": "https://examine-spark.oss-cn-shanghai.aliyuncs.com/icons/2023/09/01/a88dd18cc1734396a02e7e3c6be59718.png"
}
```
*注意img_urls和icons的信息不保证有效大部分是有效的少部分app.json可能缺失此项目*
**对于icon和截图的获取需求请参考第三点**
1. 对于某分类下的所有应用信息
`{SOURCE_URL}/{ARCH}/{CATOGARY}/applist.json`
说明SOURCE_URL线路链接目前推荐 https://cdn.d.store.deepinos.org.cn你也可以使用其他的星火线路
ARCH架构文件夹 x86是store或amd64-storearm是aarch64-store。特别的如果你使用非https://cdn.d.store.deepinos.org.cn的线路你可能会发现amd64-store会返回404因为不是所有的服务器都支持软连接
CATOGARY分类目录。参考 https://gitee.com/spark-store-project/spark-store/blob/dev/DOCS/spk-doc.md 中 store 直达的对应关系
例子https://cdn.d.store.deepinos.org.cn/aarch64-store/tools/applist.json
2. 对于单个应用的应用信息
`{SOURCE_URL}/{ARCH}/{CATOGARY}/{Package Name}/app.json`
Package Name是包名。可从上级的applist.json读取
例子https://cdn.d.store.deepinos.org.cn/store/tools/spark-store/app.json
3. 对应用截图和icon的获取
`{SOURCE_URL}/{ARCH}/{CATOGARY}/{Package Name}/icon.png`
`{SOURCE_URL}/{ARCH}/{CATOGARY}/{Package Name}/screen_n.png`(n=1-5)(至少为1不是所有的都有到5. 404是正常的

View File

@@ -1,14 +1,12 @@
#### 调用参数(spk规则)
* store直达
该url应当遵循这种格式`spk://store/web分类/包名`
参数只有一个Url该url应当遵循这种格式`spk://<任意合法字符>/web分类/包名`
目前第一字段不进行处理,以后可能会对此识别。在目前阶段,这个字段可以填写任意合法字符
例如:
[spk://store/games/store.spark-app.hmcl](spk://store/games/store.spark-app.hmcl)
[spk://abcdefg/games/store.spark-app.hmcl](spk://abcdefg/games/store.spark-app.hmcl)
可选的web分类
@@ -27,8 +25,3 @@
| 工具 | tools |
| 主题 | themes |
| 其他 | others |
* search搜索
spk://search/pkgname

View File

@@ -4,4 +4,4 @@
为方便使用(其实是早期屎山使然),请将仓库放置于 `/home/ftp/spark-store`
仓库管理相关代码请移步 [这里](https://gitee.com/spark-store-project/repo_auto_update_script)update.sh请联系 @shenmo 获取
仓库管理相关代码请移步 [这里](https://gitee.com/deepin-community-store/repo_auto_update_script)update.sh请联系 @shenmo 获取

41
EULA
View File

@@ -1,41 +0,0 @@
星火开源软件协议Spark Opensource LICENSE
版权所有 (C) 2023 星火社区
根据 GNU 通用公共许可证第三版GPL v3本软件是自由软件您可以修改和再发布它。但是为了维护原作者的权益并保护社区用户的权益请遵守以下条款
1. 对本仓库下的所有文件生效:本许可证适用于本仓库(或项目)下的所有文件。任何使用、修改或再发布本软件的个人或组织都必须遵守本许可证。
2. 版权声明和许可证文件:您不得移除、隐藏或更改本软件中包含的原作者的版权声明和许可证文件。保留原作者的权益信息对于维护开源软件生态系统至关重要。
3. 版本标注: 如果您对本软件做出修改并再发布,您必须在醒目位置标注此版本并非星火社区官方提供。这样可以避免误导使用者认为该软件为星火社区官方提供的版本。此软件仅授权用于个人非盈利用途,任何将其用于商业目的或在盈利性组织中使用的行为均需事先获得星火社区的书面许可。
4. 商标使用您不得在再发布版本中使用“星火应用商店”、“Spark Store”或星火应用商店的Logo等可能误导使用者此软件由星火社区官方提供的信息。
5. 服务条款:您使用星火商店软件的行为将被视为您同意星火在不侵犯您隐私的前提下搜集版本、日志等信息,以便于星火社区更好地为您提供服务。
6. 仓库版权条款:为了更好的提供持续性服务,星火仅对个人用户免费开放服务仓库,如您或您的组织需要提供商业服务或者您的组织为盈利性组织,请联系星火社区获取商业授权。
7. 禁止恶意行为和批量爬取: 用户或组织在使用本软件时,严禁进行任何形式的恶意行为,包括但不限于恶意攻击、滥用、破坏、批量爬取软件仓库等。恶意行为的定义由星火社区自行判断,违反者将被追究法律责任。
8. 分发与再分发权利: 星火社区保留对其制作的软件包的分发权利。未经明确授权,禁止任何个人或组织将星火社区软件包用于商业目的或在未获得星火社区许可的情况下进行再分发。此条款旨在确保开源精神的同时,维护星火社区的知识产权。
9. 商业应用限制:您不得使用本软件的代码开发商业应用,也不得在商业应用中使用本软件的代码,除非获得星火社区和火穗(沈阳)计算机软件开发有限公司的书面许可。
10. 其他条款:除上述约定外,若您使用了星火商店的主程序或其部分代码,您应遵守 GPL v3 的所有其他条款和要求。若本协议条款的内容与GPL V3中的内容不同的以本协议条款为准
11. 其他约定:本许可以简体中文版本为最准确释义
GPLV3许可证的完整文本可以在以下链接找到https://www.gnu.org/licenses/gpl-3.0.html
---------------------------------------------------------------------------------------------------------------------------------
Spark Opensource LICENSE
Copyright (C) 2023 The Spark Community
This software is free software; you can modify and redistribute it under the terms of the GNU General Public License version 3 (GPL v3). However, to protect the rights of the original authors and the interests of the community users, please adhere to the following terms:
1. Applicability to all files in this repository: This license applies to all files in this repository (or project). Any individuals or organizations that use, modify, or redistribute this software must comply with this license.
2. Copyright notice and license files: You must not remove, hide, or modify the copyright notice and license files of the original authors included in this software. Preserving the rights information of the original authors is essential for maintaining the open-source software ecosystem.
3. Version annotation: If you modify and redistribute this software, you must mark in a prominent position that this version is not officially provided by the Spark community. This avoids misleading users into thinking that the software is an official version provided by the Spark community. This software is licensed for personal, non-profit use only, and any use of it for commercial purposes or in for-profit organizations requires the prior written permission of the Spark Community.
4. Trademark usage: You are not allowed to use terms such as "Spark App Store," "Spark Store," or the logo of Spark App Store in redistributed versions, as they may mislead users into believing that the software is provided by the official Spark community.
5. Terms of Service: Your use of the software of Spark Store will be deemed as your consent to collect version, log and other information on the premise of not violating your privacy, so as to facilitate the Spark community to provide you with better services.
6. Warehouse copyright terms: In order to better provide continuous services, Spark is only free for individual users to open the service warehouse, if you or your organization needs to provide commercial services or your organization is a for-profit organization, please contact Spark community to obtain commercial authorization.
7. Prohibited malicious behavior and mass crawling: Users or organizations are strictly prohibited to engage in any form of malicious behavior when using the software, including but not limited to malicious attacks, abuse, destruction, and mass crawling of software warehouses. The definition of malicious behavior is judged by the Spark community, and violators will be held legally responsible.
8. Distribution and redistribution rights: Spark Community reserves the right to distribute the software packages it produces. Any person or organization is prohibited from using the Spark Community software package for commercial purposes or redistributing it without the express authorization of the Spark Community. This clause is intended to ensure the spirit of open source while safeguarding the intellectual property rights of the Spark community.
9. Business Application Restriction: You are not permitted to utilize the code of this software for developing commercial applications, nor are you allowed to integrate the code of this software into commercial applications without obtaining written consent from both the Spark Community and Flamescion (Shenyang) Computer Software Development Co., Ltd.
10. Other Terms: In addition to the above provisions, if you use the main program or any part of the code of Spark Store, you must comply with all other terms and requirements of GPL v3. In case of any inconsistency between the terms of this agreement and those of GPL v3, the terms of this agreement shall prevail.
11. Additional Agreements: This license shall be interpreted most accurately in its Simplified Chinese version.
You can find the full text of GPLV3 license at: https://www.gnu.org/licenses/gpl-3.0.html

91
FAQ.md
View File

@@ -1,91 +0,0 @@
# FAQ
## Spark Store FAQ and Support Guide
### Introduction
The Spark Store is an application store designed for Linux users, supporting various Linux distributions. Below are some frequently asked questions and their solutions. Please note that this document primarily targets ordinary users unfamiliar with Linux and the `apt` package management system.
---
### Communication and Feedback
**Q: How can I participate in discussions?**
**A:** You can click [this link](https://bbs.spark-app.store/) to enter the Spark Forum for communication.
> 📣 You can also join our QQ Discussion Groups: 872690351 and 865927727.
---
### Difference Between arm64 and amd64
#### arm64
* Full Name: Advanced RISC Machine 64-bit
* Primary Use: Mainly applied to mobile devices, embedded systems, and some new servers and desktop computers
* Advantages: Low power consumption, high efficiency, suitable for battery-powered and heat-sensitive devices
* Major Manufacturers: Apple, Qualcomm, HiSilicon, Phytium, etc.
#### amd64
* Full Name: AMD 64-bit, also known as x86_64
* Primary Use: Mainly applied to desktop computers, laptops, and servers
* Advantages: High performance, suitable for compute-intensive applications
* Major Manufacturers: Intel and AMD
The main difference between the two lies in their instruction sets and application scenarios. amd64 is typically used for high-performance computers and servers, while arm64 is more commonly used in environments with strict power consumption requirements.
#### How to Check:
- Open the Linux terminal
- Enter the command `uname -m` or `arch` and press `Enter`
- You will see your computer's processor architecture (e.g., x86_64, aarch64)
---
### Domestic Architecture Support
**Q: My computer uses a domestic architecture. How can I obtain the Spark Store?**
**A:** Currently, the Spark Store supports **ARM** architecture and **LoongArch New World** architecture. You can download deb packages (software installation packages) for arm64 and loong64 architectures.
> ⚠️ Please note that this support is experimental. If you encounter issues, please report them to us via the Spark Forum or QQ Discussion Group.
---
### Dependency Installation Issues
**Q: What if dependency package installation fails?**
**A:** If you are using UOS or deepin, do not install dependencies. Only some Linux distributions require dependency packages. For unsupported distributions, you may need to compile manually. See the [Spark Store Introduction](https://gitee.com/spark-store-project/spark-store/blob/dev/README.md).
> 💡 When errors occur, run `sudo apt update` first and try again. If the issue persists, refer to the above and seek help via communication platforms.
---
### Software Submission and Updates
**Q: Where can I submit software?**
**A:** You can find the "Submit Application" option in the top-right menu of the app store interface. We provide two submission methods: **Submission Tools** and **Online Platform**.
---
### Support for Non-deepin/UOS Users
**Q: Can I use Spark Store if I am not a deepin/UOS user?**
**A:** It can be installed normally on Debian-based distributions. For example, if you use Ubuntu 22.04, install directly. For Ubuntu 20.04 / Debian 10 / Debian 11, install dependencies first. Additionally, experience may not be guaranteed if installed on non-Debian Linux distributions.
---
### Installation Methods
**Q: Can I install using `dpkg -i`?**
**A:** We **strongly advise against this**. In the directory where the package is saved, use `sudo apt install ./spark-store*.deb` or a graphical installer like Gdebi.
> ⚠️ Direct use of `dpkg` generally does not handle software dependencies, potentially causing installation failures or damaging the system's dependency environment.
---
### System Updates
**Q: Will Spark Store affect normal system updates?**
**A:** No. The current version of Spark Store has decoupled its application sources from system sources and will not affect normal system updates.
---
### Reporting Issues and Application Removal
**Q: Some applications are outdated or invalid. I want them removed.**
**A:** You can [report issues here](https://gitee.com/spark-store-project/software_-issue).
---
### Installing Spark Store
If you need to install Spark Store, visit the [Release Page](https://gitee.com/spark-store-project/spark-store/releases), find the latest version, and download the installer suitable for your system.
> ⚠️ Special Note: If you are using Debian 10 / Debian 11 or Ubuntu 20.04, you need to download the dependency supplementary package additionally. After downloading, extract multiple times until dependency instructions are visible, then follow steps to install dependencies. For Ubuntu 22.04 and later, no dependency package is required. Follow the above instructions to install the main program directly.
---

View File

@@ -1,91 +0,0 @@
# FAQ
## 星火应用商店 FAQ 与支持指南
### 简介
星火应用商店是一个面向 Linux 用户的应用商店,支持多种不同的 Linux 发行版。以下是一些常见问题及解决方案。请注意,该文档主要面向对 Linux 和 `apt` 软件包管理系统不熟悉的普通用户。
---
### 交流与反馈
**Q: 如何参与交流讨论?**
**A:** 您可以点击[此链接](https://bbs.spark-app.store/)进入星火社区论坛进行交流。
> 📣 您还可以加入我们的 QQ 交流群,群号是 872690351 和 865927727。
---
### arm64 与 amd64 的区别
#### arm64
* 全称: Advanced RISC Machine 64-bit
* 主要用途: 主要应用于移动设备、嵌入式系统以及一些新型的服务器和桌面计算机;
* 优势: 低功耗、高效率,适合用在电池驱动和热敏感的设备;
* 主要生产商: 苹果、高通、海思、飞腾等。
#### amd64
* 全称: AMD 64-bit, 也被称为 x86_64
* 主要用途: 主要应用于桌面计算机、笔记本以及服务器;
* 优势: 高性能,适用于计算密集型应用;
* 主要生产商: Intel 和 AMD。
两者最主要的不同在于指令集和应用场景。amd64 通常用于高性能需求的计算机和服务器而arm64则更多应用于功耗要求更严格的场合。
#### 查看方法:
- 打开 Linux 终端;
- 输入命令 `uname -m``arch` 并按 `Enter` 键执行;
- 您将看到您计算机的处理器架构(可能是 x86_64, aarch64 等)。
---
### 国产架构支持
**Q: 我的计算机属于国产架构,如何获取星火应用商店?**
**A:** 目前,星火商店支持 **ARM** 架构和**龙芯·新世界**架构的国产芯片。您可以下载适用于 arm64 架构和 loong64 架构的 deb 包(软件安装包)。
> ⚠️ 请注意,这项支持是实验性的。若遇到问题,请在星火社区论坛或 QQ 交流群向我们反馈。
---
### 安装依赖问题
**Q: 安装依赖包出现错误,怎么办?**
**A:** 如果您使用 UOS 或 deepin请不要安装依赖包。仅有部分 Linux 发行版需要安装依赖包,此外对于不在支持列表中的发行版可能需要您自行编译安装,详见[星火应用商店简介](https://gitee.com/spark-store-project/spark-store/blob/dev/README.zh.md)。
> 💡 出现错误时,请运行 `sudo apt update` 后再尝试安装。如果问题仍然存在,请参考上文,进入交流平台寻求帮助。
---
### 投稿与应用更新
**Q: 在哪里可以投稿软件?**
**A:** 您可以在应用商店界面的右上角菜单找到“投递应用”的选项,我们提供了**投递工具**和**在线平台**两种投稿方案。
---
### 非 deepin/UOS 用户支持
**Q: 我不是 deepin/UOS 用户,可以使用星火应用商店吗?**
**A:** 在 Debian 系发行版可正常安装使用。例如,如果您使用 Ubuntu 22.04,请直接安装;对于 Ubuntu 20.04 / Debian 10 / Debian 11请先安装依赖包。此外如果您在非 Debian 系 Linux 发行版安装使用星火应用商店,软件的体验可能无法得到保证。
---
### 安装方法
**Q: 我可以用 `dpkg -i` 安装吗?**
**A:** 我们**极不建议您这样做**。请在安装包保存目录下,使用 `sudo apt install ./spark-store*.deb` 安装,或使用 Gdebi 等图形化安装器。
> ⚠️ 直接使用 `dpkg` 一般不会处理软件依赖,可能致使安装失败、破坏系统依赖环境。
---
### 系统更新
**Q: 星火应用商店会影响系统正常更新吗?**
**A:** 不会,当前版本的星火应用商店已将应用源与系统源解耦合,不会影响系统的正常更新。
---
### 报告问题和应用下架
**Q: 有些应用已经过时或者失效了,我想让它下架。**
**A:** 您可以[前往这里](https://gitee.com/spark-store-project/software_-issue)报告问题。
---
### 安装星火应用商店
如果您需要安装星火应用商店,请打开 [Release 页面](https://gitee.com/spark-store-project/spark-store/releases),找到最新版本,并选择适用于当前系统的安装包下载。
> ⚠️ 特别提示: 如果您在使用 Debian 10 / Debian 11 或 Ubuntu 20.04,则需要额外下载依赖补充包;您需要在下载完依赖包后,解压多次直至内部的依赖包使用说明可见,按照步骤安装依赖。对于 Ubuntu 22.04 以后的操作系统版本,您无需安装依赖包,按照上面的操作直接安装本体程序即可。
---

200
README.md
View File

@@ -1,179 +1,87 @@
# Spark Store
[![star](https://gitee.com/spark-store-project/spark-store/badge/star.svg?theme=gvp)](https://gitee.com/spark-store-project/spark-store/stargazers) [![fork](https://gitee.com/spark-store-project/spark-store/badge/fork.svg?theme=gvp)](https://gitee.com/spark-store-project/spark-store/members)
![star](https://gitcode.com/spark-store-project/spark-store/star/badge.svg)
# Spark App Store
[![star](https://gitee.com/deepin-community-store/spark-store/badge/star.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/stargazers) [![fork](https://gitee.com/deepin-community-store/spark-store/badge/fork.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/members)
## Branch: Flamescion
## Introduction
Welcome to the **Spark Store**! This is an application store designed for Linux platform users, aiming to address the issues of fragmented and difficult-to-obtain software within the Linux ecosystem. Regardless of your Linux distribution, you may find suitable software packages here.
The number of Linux applications is relatively limited, and obtaining Wine software can also be challenging. Excellent development kits and tool resources are scattered across various communities and forums, making it difficult for the entire ecosystem to achieve comprehensive improvement.
Ecosystem construction does not rely on isolated individual efforts but requires full community participation. Only when everyone's "spark" gathers in one place can it ignite a prairie fire.
To improve this situation, we have launched the Spark Store. The Spark Community extensively collects software packages for various user needs, aggregates high-quality small tools, and proactively adapts Wine applications. All resources are stored in our repository, allowing users to conveniently access these applications.
**Currently supported Linux distributions include (but are not limited to):**
- **amd64 Architecture:** deepin 20 / deepin 23 / Ubuntu 20.04 / Ubuntu 22.04 / UOS Home Edition 20 / Debian 11+
- **arm64 Architecture:** UOS Professional Edition 1060 / Ubuntu 22.04 / deepin 23
- **loong64 Architecture:** deepin 23
> Special Note: Spark Store also supports all Ubuntu OS versions newer than Ubuntu 22.04, such as Ubuntu 22.10, 23.04, 23.10, etc. Additionally, Spark Store may adapt to other Linux distributions beyond the listed platforms; you may conduct installation tests accordingly.
**Important Notice:** This software cannot guarantee continuous availability, uninterrupted operation, or meeting specific performance requirements. The Spark community makes no commitment to the functional completeness, stability, or error-free operation of this software. For example, if you plan to use it on UOS Professional Edition (or other similar specific platforms), please ensure you understand and enable the "Developer Mode" features. Basic troubleshooting capabilities are required. It is important to note that the Spark community cannot conduct extensive testing on some special platforms. Therefore, using the Spark Store client on these platforms may lead to various issues such as system update failures or data loss. Using this software indicates your understanding and acceptance that all risks must be borne by the user.
## About Team Collaboration
Organization Repository Links:
https://gitee.com/spark-store-project/spark-store
https://gitcode.com/spark-store-project/spark-store
https://github.com/spark-store-project/spark-store
Refer to [this link](https://wiki.spark-app.store/#/Dev/Spark-Store-Git-Repo) for detailed documentation on branch management.
We warmly welcome you to join our development team. Whether you wish to participate in development or plan to submit applications, you can find your place here to jointly promote the development of the Linux application ecosystem.
You can track our Issue processing status in real-time via the [Issue Board](https://gitee.com/spark-store-project/spark-store/board).
If you have software packages to submit, please [click here to contribute](https://wiki.spark-app.store/#/Submit/Submit).
## Table of Contents
- [Read the Copyright Notice](#read-the-copyright-notice)
- [Determine Your System Architecture](#determine-your-system-architecture)
- [System Support and Installation Instructions](#system-support-and-installation-instructions)
- [For deepin Users](#for-deepin-users)
- [For Ubuntu Users](#for-ubuntu-users)
- [For Debian Users](#for-debian-users)
- [Frequently Asked Questions (FAQ)](#frequently-asked-questions-faq)
- [Contact and Feedback](#contact-and-feedback)
This branch is the main branch of Spark Store
---
## You are informed that the aarch64 support is EXPERIMENTAL and there is NO GUARANTEE that this branch will be supported in the future
## Read the [Copyright Notice](LICENSE)
Spark Store aims to collect Linux apps for the convieniece of Linux new comers
The collecting process needs everyone's help
We set up this APP Store and collect APPs/tools that everyone need widely. Also we pack Windows apps with wine.
All packages will be shared in our repository for users to get freely.
Distrobution supportedDeepin 20 ; Ubuntu 22.04 LTS / Ubuntu 20.04 LTS(May stop support in the future ; UniontechOS Home 21
*About OpenKylin and deepin 23*
The adaptation work is scheduled after their official release.
You can track our Issue resoving progress here https://gitee.com/deepin-community-store/spark-store/board
## Determine Your System Architecture
We hope people who see here can also join our teamdevelopment help or submit applications are welcomed
Before installing any software, you need to know which architecture your computer is running on (e.g., x86_64/amd64 or aarch64/arm64), which also applies to the Spark Store.
If you want to submit an APP to share with othersPlease [Click here](https://upload.deepinos.org/index)
**How to Check:**
1. Open the Linux terminal.
2. Enter the command `uname -m` or `arch` and press `Enter`.
## 🙌 A simple start
You will see the terminal output result, which helps determine your system architecture. Examples:
If you simply want to install the Spark Store,just enter the [Release] page, find the version you want and install.
- If you see `x86_64`, your system is amd64 architecture.
- If you see `aarch64`, your system is arm64 architecture.
Based on this result, you need to download the corresponding version of the Spark Store installer to use it properly.
If you are using Debian11/Ubuntu 20.04, you will need extra dependency package. Available [here](https://zunyun01.store.deepinos.org.cn/spark-store-dependencies-kylin.zip)
---
#### Compile and developement
## System Support and Installation Instructions
Based on your Linux distribution and system architecture, here are detailed steps to install Spark Store.
For Deepin V20/UOS 21/ Debian 11
### For deepin Users
```shell
sudo apt install git qt5-default debhelper pkg-config qtchooser libqt5core5a libqt5gui5 libqt5widgets5 libqt5network5 libqt5concurrent5 libdtkcore-dev libdtkgui-dev libdtkwidget-dev qttools5-private-dev libnotify-dev qtwebengine5-dev fakeroot qtwayland5 qtwayland5-dev-tools dde-qt5wayland-plugin libqt5svg5*
#### For deepin Users
```
1. **Download and Install**
Ubuntu 22.04
```shell
sudo apt install git qtbase5-dev debhelper pkg-config qtchooser libqt5core5a libqt5gui5 libqt5widgets5 libqt5network5 libqt5concurrent5 libdtkcore-dev libdtkgui-dev libdtkwidget-dev qttools5-private-dev libnotify-dev qtwebengine5-dev qtwayland5 qtwayland5-dev-tools libqt5svg5*
You can directly search for `Spark Store` in the deepin App Store for installation, or copy this link to your browser address bar to jump to the deepin App Store installation page.
```
> appstore://deepin-home-appstore-client?app_detail_info/spark-store
Then
Versions published in the deepin App Store may not be the latest. To use the latest version, visit the Spark Store [Gitee Release Page](https://gitee.com/spark-store-project/spark-store/releases) or [Gitcode Release Page](https://gitcode.com/spark-store-project/spark-store/releases) and download the latest version for deepin, then install it.
```shell
git clone https://gitee.com/deepin-community-store/spark-store.git
cd spark-store
dpkg-buildpackage -j
```
Assuming you downloaded the installer to the Downloads folder under your home directory, we recommend using the `apt` tool for installation to avoid potential dependency issues:
Or:
```shell
git clone https://gitee.com/deepin-community-store/spark-store.git
cd spark-store
./build_and_install.sh
```
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
### For Ubuntu Users
#### For Ubuntu 20.04 Users
## 🚀 Coorperation
1. **Download Dependencies**
* Visit the [Spark Store Dependency Package Download Page](https://gitee.com/spark-store-project/spark-store-dependencies/releases) to download the latest dependency package;
* Extract the dependency package multiple times until you see numerous `.deb` installation packages;
* Follow the instructions inside the dependency package to install all dependencies at once.
We use Gitee as our code hosting platform. Please click here to contact us.
2. **Download and Install**
https://gitee.com/deepin-community-store/spark-store
Visit the Spark Store [Gitee Release Page](https://gitee.com/spark-store-project/spark-store/releases) or [Gitcode Release Page](https://gitcode.com/spark-store-project/spark-store/releases) to download and install the installer matching your computer's architecture.
### Rocket Chat
Assuming you downloaded the installer to the Downloads folder under your home directory, we recommend using the `apt` tool for installation to avoid potential dependency issues:
https://chat.shenmo.tech/
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
PWA Client
#### For Ubuntu 22.04 and Newer Ubuntu Versions
1. **No Dependency Package Required**
spk://store/chat/store.spark-app.feedback
2. **Download and Install**
Visit the Spark Store [Gitee Release Page](https://gitee.com/spark-store-project/spark-store/releases) or [Gitcode Release Page](https://gitcode.com/spark-store-project/spark-store/releases) to download and install the installer matching your computer's architecture.
Assuming you downloaded the installer to the Downloads folder under your home directory, we recommend using the `apt` tool for installation to avoid potential dependency issues:
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
### For Debian Users
#### For Debian 11 Users
1. **Download Dependencies**
* Visit the [Spark Store Dependency Package Download Page](https://gitee.com/spark-store-project/spark-store-dependencies/releases) to download the latest dependency package;
* Extract the dependency package multiple times until you see numerous `.deb` installation packages;
* Follow the instructions inside the dependency package to install all dependencies at once.
2. **Download and Install**
Visit the Spark Store [Gitee Release Page](https://gitee.com/spark-store-project/spark-store/releases) or [Gitcode Release Page](https://gitcode.com/spark-store-project/spark-store/releases) to download and install the installer.
#### For Debian 12+ Users
1. **No Dependency Package Required**
2. **Download and Install**
Visit the Spark Store [Gitee Release Page](https://gitee.com/spark-store-project/spark-store/releases) or [Gitcode Release Page](https://gitcode.com/spark-store-project/spark-store/releases) to download and install the installer matching your computer's architecture.
Assuming you downloaded the installer to the Downloads folder under your home directory, we recommend using the `apt` tool for installation to avoid potential dependency issues:
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
---
## Frequently Asked Questions (FAQ)
Please refer to the [Spark Store FAQ and Support Guide](https://gitee.com/spark-store-project/spark-store/blob/dev/FAQ.md);
For advanced users requiring custom aptss config configuration, please refer to the [aptss Repository](https://gitee.com/GXDE-OS/aptss).
---
## Contact and Feedback
- If you have any questions or suggestions, please submit issues via email or the [Issue Page](https://gitee.com/spark-store-project/spark-store/issues);
- If you want to follow our development progress, visit the [Spark Store Board](https://gitee.com/spark-store-project/spark-store/board) for more information;
- Welcome to visit the [Spark Community Forum](https://bbs.spark-app.store/) to join discussions;
- Our QQ Discussion Group: 872690351 and 865927727;
- If you or your organization requires commercial support, please leave a message for consultation.
---
Copy and paste to search bar or in browser address bar after installing Spark Store

View File

@@ -1,204 +1,81 @@
# 星火应用商店
[![star](https://gitee.com/spark-store-project/spark-store/badge/star.svg?theme=gvp)](https://gitee.com/spark-store-project/spark-store/stargazers) [![fork](https://gitee.com/spark-store-project/spark-store/badge/fork.svg?theme=gvp)](https://gitee.com/spark-store-project/spark-store/members)
![star](https://gitcode.com/spark-store-project/spark-store/star/badge.svg)
[![star](https://gitee.com/deepin-community-store/spark-store/badge/star.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/stargazers) [![fork](https://gitee.com/deepin-community-store/spark-store/badge/fork.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/members)
## 分支:火穗
## 简介
欢迎来到**星火应用商店**!这是一个为 Linux 平台用户设计的应用商店,旨在解决 Linux 生态下应用分散、难以获取的问题。无论您使用什么类型的 Linux 发行版,在这里都有可能找到适合您的软件包。
Linux 应用的数量相对有限Wine 软件的可获取性也颇为困难。优秀的开发套件和工具资源散布在各大社区和论坛之间,这种分散化让整个生态系统难以得到全面的提升。
生态系统的构建并非依赖个体的孤立努力,而需要全社区共同参与。只有当大家的“星火”聚集一处,方可引发“燎原之势”。
为了改善这一现状,我们推出了星火应用商店。星火社区广泛地收录了各种用户需求的软件包,汇集了高质量的小工具,并主动对 Wine 应用进行了适配,一切都储存在我们的软件库中,使得用户可以方便地获取这些应用。
**当前支持的 Linux 发行版包括(但不限于):**
- **amd64 架构:** deepin 20 / deepin 23 / Ubuntu 20.04 / Ubuntu 22.04 / UOS 家庭版 20 / Debian 11
- **arm64 架构:** UOS 专业版 1060 / Ubuntu 22.04 / deepin 23
- **loong64 架构:** deepin 23
> 特别说明:星火应用商店还支持所有版本高于 Ubuntu 22.04 的 Ubuntu 操作系统,例如 Ubuntu 22.10、23.04、23.10 等。此外星火应用商店也可能适配除上述平台的其他 Linux 发行版,您可自行进行安装测试。
**重要须知:** 本软件无法保证持续可用、无中断运行或满足特定性能要求。星火社区对其功能完整性、稳定性及无错误运行不作任何承诺。例如,若您计划在 UOS 专业版(或其他类似特定平台)上使用,请务必了解并启用“开发者模式”相关功能。请确保您具备基础的故障排查能力。需要明确的是,星火社区无法在部分特殊平台上进行广泛测试。因此,在这些平台上使用星火应用商店客户端可能会导致一系列问题,如系统更新失败、数据丢失等;使用该软件,即代表您理解并同意所有风险需由用户自行承担。
## 关于团队协作
组织仓库链接:
https://gitee.com/spark-store-project/spark-store
https://gitcode.com/spark-store-project/spark-store
https://github.com/spark-store-project/spark-store
参见[此链接](https://wiki.spark-app.store/#/Dev/Spark-Store-Git-Repo)以获取分支管理相关的详细文档。
我们热忱欢迎您加入我们的开发团队。无论您是希望参与开发,还是计划提交应用,都能在这里找到属于您的一席之地,共同推动 Linux 应用生态的发展。
您可以通过以下链接,实时跟踪我们的 Issue 处理状态:[Issue 看板](https://gitee.com/spark-store-project/spark-store/board)。
若您有软件包需要提交,敬请[点击此处进行投稿](https://wiki.spark-app.store/#/Submit/Submit)。
## 目录
- [星火应用商店](#星火应用商店)
- [简介](#简介)
- [关于团队协作](#关于团队协作)
- [目录](#目录)
- [阅读版权声明](#阅读版权声明)
- [确定你的系统架构](#确定你的系统架构)
- [系统支持与安装指引](#系统支持与安装指引)
- [对于 deepin 用户](#对于-deepin-用户)
- [对于 deepin 用户](#对于-deepin-用户-1)
- [对于 Ubuntu 用户](#对于-ubuntu-用户)
- [对于 Ubuntu 20.04 用户](#对于-ubuntu-2004-用户)
- [对于 Ubuntu 22.04 及更高版本的 Ubuntu 用户](#对于-ubuntu-2204-及更高版本的-ubuntu-用户)
- [对于 Debian 用户](#对于-debian-用户)
- [对于 Debian 11 用户](#对于-debian-11-用户)
- [对于 Debian 12+ 用户](#对于-debian-12-用户)
- [常见问题FAQ](#常见问题faq)
- [联系与反馈](#联系与反馈)
此分支是星火应用商店的主分支
---
## 请注意aarch64的支持是实验性的并未确认持续支持
## 阅读[版权声明](LICENSE)
众所周知国内的Linux应用比较少wine应用难以获取优质工具分散在民间各大论坛无法形成合力难以改善生态
生态构建需要的不是某一方的单打独斗,而是人人行动起来,汇聚星火,产生燎原之势
我们创建了这个应用商店广泛收录大家需要的软件包搜集优质小工具主动适配wine应用存放到储存库供大家获取
我们支持Deepin 20 ; Ubuntu 22.04 LTS / Ubuntu 20.04 LTS(将会逐渐停止支持) ; UOS Home 21
## 关于协作:分支相关的文档见 [这里](https://deepin-community-store.gitee.io/spark-wiki/#/Dev/Spark-Store-Git-Repo)
*关于OpenKylin和deepin 23*
支持计划将会在对应系统发布正式版之后开始评估和执行
希望看到这里的人也可以加入我们的队伍开发或者投递应用都很欢迎共同构建Linux应用生态
在这里追踪我们的Issue处理情况 https://gitee.com/deepin-community-store/spark-store/board
如果有想要提交的软件包,请 [在这里投稿](https://upload.deepinos.org/index)
## 确定你的系统架构
## 🙌 简单的开始
在安装任何软件之前,您需要知道你的计算机运行在何种架构之上(如 x86_64/amd64 或 aarch64/arm64对于星火应用商店亦是如此
如果想安装 `星火应用商店` ,请打开右侧的 [Release] 页面,找到最新版本,并选择适用于当前系统的安装包下载
**如何检查:**
1. 打开 Linux 终端。
2. 输入命令 `uname -m``arch` 并按 `Enter` 键执行。
您会看到终端输出结果,借此您可判断计算机的系统架构。举例:
- 如果您看到 `x86_64`,说明您的系统为 amd64 架构。
- 如果您看到 `aarch64`,说明您的系统为 arm64 架构。
根据这一结果,您需要下载对应版本的星火应用商店安装包以正常使用。
如果你在使用 `Debian 11/Ubuntu 20.04`,你需要额外下载[依赖补充包](https://zunyun01.store.deepinos.org.cn/spark-store-dependencies-kylin.zip)
---
## 系统支持与安装指引
根据您的 Linux 发行版和系统架构,以下是安装星火应用商店的详细步骤。
### 对于 deepin 用户
#### 对于 deepin 用户
1. **下载并安装**
您可直接在深度应用商店搜索 `星火应用商店` 安装,或复制此链接到浏览器地址栏,跳转至深度应用商店安装。
> appstore://deepin-home-appstore-client?app_detail_info/spark-store
#### 编译安装
深度应用商店发布的版本可能不是最新的。若要使用最新版本,请访问星火应用商店 [Gitee 的 Release 页面](https://gitee.com/spark-store-project/spark-store/releases)或 [Gitcode 的 Release 页面](https://gitcode.com/spark-store-project/spark-store/releases)并下载适用于 deepin 的最新版本,安装后即可使用。
Deepin V20/UOS 21 系统下, 安装依赖
假设您将安装包下载至用户目录下的 Downloads 文件夹,我们推荐您使用 `apt` 工具进行安装以避免潜在的依赖问题:
```shell
sudo apt install git qt5-default debhelper pkg-config qtchooser libqt5core5a libqt5gui5 libqt5widgets5 libqt5network5 libqt5concurrent5 libdtkcore-dev libdtkgui-dev libdtkwidget-dev qttools5-private-dev libnotify-dev qtwebengine5-dev fakeroot qtwayland5 qtwayland5-dev-tools dde-qt5wayland-plugin libqt5svg5*
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
2. **使用更新器**
您可以在应用商店左下角找到更新按钮,点击即可查看更新列表。
```
Ubuntu 22.04 系统下, 安装依赖
```shell
sudo apt install git qtbase5-dev debhelper pkg-config qtchooser libqt5core5a libqt5gui5 libqt5widgets5 libqt5network5 libqt5concurrent5 libdtkcore-dev libdtkgui-dev libdtkwidget-dev qttools5-private-dev libnotify-dev qtwebengine5-dev qtwayland5 qtwayland5-dev-tools libqt5svg5*
```
然后
```shell
git clone https://gitee.com/deepin-community-store/spark-store.git
cd spark-store
dpkg-buildpackage -j
```
或者: 编译并安装
```shell
git clone https://gitee.com/deepin-community-store/spark-store.git
cd spark-store
./build_and_install.sh
```
### 对于 Ubuntu 用户
## 🚀 协作
#### 对于 Ubuntu 20.04 用户
非常感谢有兴趣的开发者或爱好者参与 `星火应用商店` 项目,分享你的见解与思路。
1. **下载依赖包**
* 请访问[星火应用商店依赖包下载页面](https://gitee.com/spark-store-project/spark-store-dependencies/releases),下载最新的依赖包;
* 请多次解压依赖包,直至您可以看到诸多以 deb 结尾的安装包;
* 依据依赖包内的说明,一次性安装所有的依赖包。
### 交流平台
https://chat.shenmo.tech/
2. **下载并安装**
客户端PWA
请访问星火应用商店 [Gitee 的 Release 页面](https://gitee.com/spark-store-project/spark-store/releases)或 [Gitcode 的 Release 页面](https://gitcode.com/spark-store-project/spark-store/releases),下载和您电脑相同架构的安装包并安装。
spk://store/chat/store.spark-app.feedback
假设您将安装包下载至用户目录下的 Downloads 文件夹,我们推荐您使用 `apt` 工具进行安装以避免潜在的依赖问题:
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
#### 对于 Ubuntu 22.04 及更高版本的 Ubuntu 用户
1. **无需安装依赖包**
2. **下载并安装**
请访问星火应用商店 [Gitee 的 Release 页面](https://gitee.com/spark-store-project/spark-store/releases)或 [Gitcode 的 Release 页面](https://gitcode.com/spark-store-project/spark-store/releases),下载和您电脑相同架构的安装包并安装。
假设您将安装包下载至用户目录下的 Downloads 文件夹,我们推荐您使用 `apt` 工具进行安装以避免潜在的依赖问题:
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
### 对于 Debian 用户
#### 对于 Debian 11 用户
1. **下载依赖包**
* 请访问[星火应用商店依赖包下载页面](https://gitee.com/spark-store-project/spark-store-dependencies/releases) 下载最新的依赖包;
* 请多次解压依赖包,直到您可以看到诸多以 deb 结尾的安装包;
* 依据依赖包内的说明,一次性安装所有的依赖包。
2. **下载并安装**
请访问星火应用商店 [Gitee 的 Release 页面](https://gitee.com/spark-store-project/spark-store/releases)或 [Gitcode 的 Release 页面](https://gitcode.com/spark-store-project/spark-store/releases)并下载,安装后即可使用。
#### 对于 Debian 12+ 用户
1. **无需安装依赖包**
2. **下载并安装**
请访问星火应用商店 [Gitee 的 Release 页面](https://gitee.com/spark-store-project/spark-store/releases)或 [Gitcode 的 Release 页面](https://gitcode.com/spark-store-project/spark-store/releases),下载和您电脑相同架构的安装包并安装。
假设您将安装包下载至用户目录下的 Downloads 文件夹,我们推荐您使用 `apt` 工具进行安装以避免潜在的依赖问题:
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
---
## 常见问题FAQ
请参见[星火应用商店 FAQ 与支持指南](https://gitee.com/spark-store-project/spark-store/blob/dev/FAQ.zh.md)
对于高级用户,如需自定义配置 aptss config请参阅 [aptss 软件仓库](https://gitee.com/GXDE-OS/aptss)。
---
## 联系与反馈
- 如果您有任何问题或建议,请通过邮件或在 [Issue 页面](https://gitee.com/spark-store-project/spark-store/issues)上提交问题;
- 如果你想关注我们的开发进度,可以跳转至[星火应用商店 Board](https://gitee.com/spark-store-project/spark-store/board) 获取更多信息;
- 欢迎访问[星火社区论坛](https://bbs.spark-app.store/)加入讨论;
- 我们的 QQ 交流群号872690351 和 865927727
- 若您和您的组织需要寻求商业支持,请留言咨询。
---
(安装星火商店后在浏览器打开或复制到搜索栏打开)

594
debian/changelog vendored
View File

@@ -1,361 +1,31 @@
spark-store (4.8.2) UNRELEASED; urgency=medium
* 更新软件主图标
* 软件更新器更新成功后删除软件包
* 修复首次安装ACE环境情况下无法正确配置ACE中aptss的问题
* 修复使用aptss后在/tmp下留下垃圾的问题
-- momen <vmomenv@gmail.com> Tue, 28 Aug 2025 01:03:08 +0800
spark-store (4.8.1-1) UNRELEASED; urgency=medium
* 修复更新器安装软件完成后仍然显示下载完成的问题
* 修复一些aptss锁定失败bug
-- momen <vmomenv@gmail.com> Tue, 28 Aug 2025 01:03:08 +0800
spark-store (4.8.1~test1) UNRELEASED; urgency=medium
* 添加全新的更新器
* 替换了新版更新器的polkit policy
-- momen <vmomenv@gmail.com> Tue, 15 Jul 2025 01:03:08 +0800
spark-store (4.8.0) UNRELEASED; urgency=medium
* ssinstall重写支持安装到ACE和自动安装到ACE支持只允许安装到本地
* 商店支持展示ACE标识支持识别 native amber-ce-bookworm amber-ce-trixie amber-ce-sid amber-ce-deepin23
* 投稿器支持新版spec
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.5.2) UNRELEASED; urgency=medium
* 支持安装到 ACE Bookworm
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.5.1) UNRELEASED; urgency=medium
* 修复 aptss 部分报错
* 重新设计了 Tag 区的展示方式
* 新增 Fish 补全
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.5.0) UNRELEASED; urgency=medium
* 支持从商店中直接启动应用
* ssinstall 修复安装时不再指定版本号以避免出现问题
* aptss支持fish补全
* 修复: distrobox下无法正常校验应用hash
* aptss 4.5.0
* 应用更新新增进度条
* 支持识别Debian
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.3.2) UNRELEASED; urgency=medium
* 提升升级工具体验,不再反复弹窗
* 提升aptss使用体验汇报目前所在阶段而不是卡住不动
* 修复debian sid 无法卸载
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.3.1) UNRELEASED; urgency=medium
* 修复点击更新需要输入密码的问题
* 修复安装速度下降的问题
* 修复闪退问题
* 修复错误地展示已安装
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.2.0) UNRELEASED; urgency=medium
* 后续更新请从4.3.2.0版本号开始4.3.2版本仅用于GXDE测试
* 支持dummyapps 安装包安装
* 支持紧凑模式
* 修复部分情况下升级安装失败的问题
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.2) UNRELEASED; urgency=medium
* ssinstall支持安装conflict包
* 支持紧凑模式
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.1) UNRELEASED; urgency=medium
* 修复自提权更新问题
* 提升aptss稳定性
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.0-fix5) stable; urgency=medium
* 支持GXDE,重启空链接清理
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.3.0-fix4) stable; urgency=medium
* 修复:安装失败时仍然锁定
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.3.0-fix3) stable; urgency=medium
* 修复:创建快捷方式失效
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.3.0-fix2) stable; urgency=medium
* aptss配置调整
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.3.0-fix1) stable; urgency=medium
* 上游改为d.spark-app.store
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.3) stable; urgency=medium
* 修复客户端不支持301跳转的问题
* 修复UOS下错误地提示开发者模式未启动
* 现在会记住上次的窗口大小
* 删除无用依赖修复Debian 13依赖问题
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.14) stable; urgency=medium
* 上游改为d.spark-app.store
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.3.0) stable; urgency=medium
* 修复部分客户端启动白屏
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.3) stable; urgency=medium
* 修复客户端不支持301跳转的问题
* 修复UOS下错误地提示开发者模式未启动
* 现在会记住上次的窗口大小
* 删除无用依赖修复Debian 13依赖问题
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.13) stable; urgency=medium
* 未经测试文案修改
* 龙芯平台并入主线
* 修复:更新过程中中断无法再次启动更新检查
* 调整:提高超时时长,适应较差的网络环境
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.12.1) stable; urgency=medium
* 修复:龙芯自动--no-sandbox
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.12) stable; urgency=medium
* 修复:飞腾部分设备上白屏的问题
* 修复:下载开始时长时等待(降低链接超时时长)
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.11) stable; urgency=medium
* 修复:判断是否安装状态错误
* 修改:部分组件重构提升清晰度
* 修复v23下部分应用图标失效
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.10) stable; urgency=medium
* 修复:部分发行版上无法启动自动创建的桌面图标
* 修复:发行版统计信息
* 修复Gitee反馈链接错误
* 修复ACE下无法安装,支持ACE下软件更新
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
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
spark-store (4.2.8.1) stable; urgency=medium
* 修复A2D应用释放无效的Desktop到桌面上
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.8) stable; urgency=medium
* 修复在aptss上锁时支持等待释放锁而不是直接报错退出
* 调整:下载安装按钮文案修改
* 优化 KDE 深色模式支持实现方式
* 新增ssinstall现在会自动创建desktop文件
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.7.3) stable; urgency=medium
* 修复aptss现在会正确地透传错误码而不是exit 0
* 修复下载时如果卡0%(无法下载metalink),会在超时后报错中断而不是一直傻等
* 修复排队下载时CPU占满单核的bug https://gitee.com/spark-store-project/spark-store/issues/I7B91V
* 修复在终端中打开的icon过大导致无法投稿到UOS
* 修复v23下编译出错
* 薪怎:支持崩溃日志收集系统
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.7.2) stable; urgency=medium
* 新增:内置在终端打开功能
* 调整散列验证更改为使用sha512
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.7.1) stable; urgency=medium
* 修复aptss加锁失败现在会正常报错
* 新增在aptss的特定操作时添加了提示
* 新增在aptss提示加粗
* 调整ssinstall验证支持使用cdn.d.获取
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.7) stable; urgency=medium
* 修复:更新星火商店后禁止更新提醒的配置失效
* 新增:支持在设置中关闭平台不兼容提示
* 调整:更改了下载量统计的方式,减少漏数
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6.6) stable; urgency=medium
* 调整:文案修改:安装失败后引导查看详情而不是重新安装
* 修复dpkg阻塞出现漏掉的安装失败现在在安装后检测是否安装
* 修复UOS专业版上安装成功仍然显示失败的问题方式忽略E:等消息,仅检查脚本报错
* 调整卸载应用时采用autopurge以一并卸载依赖
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6.5) stable; urgency=medium
* 调整ssaudit安装结束时会提示安装结束
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6.4) stable; urgency=medium
* 修复:关于页面的入口过时
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6.3) stable; urgency=medium
* 修复:部分下载统计线路失效
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6.2) stable; urgency=medium
* 新增支持arm架构搜索
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6.1) stable; urgency=medium
* 修复mint下更新检测不正常
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6) stable; urgency=medium
* 修复:截图加载失败时点击闪退
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.5.1) stable; urgency=medium
* 调整重写了spark-dstore-patch速度提升尤其对机械硬盘下
* 调整优化了aptss源文件同步策略
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.5) stable; urgency=medium
* 修复ssinstall在文件不存在时仍然报安装成功
* 修复删除不再需要的依赖libc6-dev
* 在aarch64架构安装时也启用32位支持
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.4) stable; urgency=medium
* 修复ssinstall校验失败的时候仍然提示安装成功
* 新增ssinstall可以自动刷新ssupdate以防止仓库更新中导致的安装校验失败
* 修复:在不受支持的平台安装应用时弹出提示不正确
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.3.3) stable; urgency=medium
* aptss 不再使用bwrap去除依赖支持容器中启动
* aptss 支持非root模式启动
* aptss 添加transhell支持
@@ -366,30 +36,27 @@ spark-store (4.2.3.3) stable; urgency=medium
* 4.3 roadmap 实现,在浏览不支持的应用时会出现提示
* 4.3 roadmap 实现,在下载文件夹没有读写权限时会出现提示
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.3.2~Reason10) stable; urgency=medium
* 完成除web外大部分功能适配
* 修复依赖不完整的问题
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.3.2~Reason9) stable; urgency=medium
* sender-d.sh
* ssinstall和ssaudit的安装测试转到upgrade-worker
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.3.2~Reason8) stable; urgency=medium
* sender-d改用cpp重写在aarch64上稳定运行
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.3.2~Reason7) stable; urgency=medium
@@ -398,44 +65,36 @@ spark-store (4.2.3.2~Reason7) stable; urgency=medium
* ssinstall在发现无法安装后尝试先进行下aptss update
* 修复:安装商店后首次启动无法安装任何软件
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.3.2~Reason5) stable; urgency=medium
* aptss 不再使用bwrap去除依赖支持容器中启动
* aptss 支持非root模式启动
* aptss 添加transhell支持
* 关于界面自动获取分支名称
* 现在安装成功则自动删除安装包
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.3.2~Reason3) stable; urgency=medium
* 现在可在x86上编译使用同一套代码
* 暂时在aarch64上使用旧web----等待柚子
* 空间,疾疫,现在是静谧
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.3.2~only-for-test1) stable; urgency=medium
* 注意!!!!!! 此版本仅为启动测试还需要进一步完善——hardcode需要改善——关于web界面的调用方式需要在柚子做好之后修改成新的
* fix: hardcode
* fix: sender-d
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (4.2.3.1) stable; urgency=medium
* 修复: ssinstall验证签名出错
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (4.2.3) stable; urgency=medium
* 修复: 编译依赖不全
* 修复: prerm导致的dpkg崩溃
@@ -445,14 +104,12 @@ spark-store (4.2.3) stable; urgency=medium
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (4.2.3~test4) stable; urgency=medium
* 修复: aptss 无法安装
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (4.2.3~test3) stable; urgency=medium
* 调整:打包时从 debian/changelog 自动获取构建版本号并写入关于窗口保证与deb一致
@@ -464,7 +121,6 @@ spark-store (4.2.3~test3) stable; urgency=medium
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (4.2.3~test2) stable; urgency=medium
* 调整:开启安装包加固
@@ -476,7 +132,7 @@ spark-store (4.2.3~test2) stable; urgency=medium
spark-store (4.2.3~test1) stable; urgency=medium
* 修复因判断安装状态错误创建多个相同任务的bug
* 测试中:尝试修复安装结束的闪退问题 https://gitee.com/spark-store-project/spark-store/commit/cb093dcc2bb0a193db89aa0ce5f20ea9cc5d56eb
* 测试中:尝试修复安装结束的闪退问题 https://gitee.com/deepin-community-store/spark-store/commit/cb093dcc2bb0a193db89aa0ce5f20ea9cc5d56eb
* 修复Deepin 显示开发者模式未开启
* 修复:从托盘打开主窗口时透明度动画不流畅
* 修复:主窗口关闭后,从托盘打开关于窗口会被主窗口遮挡
@@ -558,8 +214,8 @@ spark-store (4.1.2) stable; urgency=medium
* chore: 去除安装依赖:g++
* fix: 修复下载列表中进度提示文字显示不完整的问题
* feat: ssinstall支持从单独文件夹中校验软件包
* feat 支持分单文件夹下载。具体内容参见https://gitee.com/spark-store-project/repo_auto_update_script/blob/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list
* info: 非常感谢 @jwyh 对星火商店代码仓库设计了很多标准,参见 https://wiki.spark-app.store/#/Dev/Spark-Store-Git-Repo?id=%e6%9b%b4%e6%96%b0%e6%97%a5%e5%bf%97%e8%a7%84%e5%88%99 不过shenmo是自由的
* feat 支持分单文件夹下载。具体内容参见https://gitee.com/deepin-community-store/repo_auto_update_script/blob/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list
* info: 非常感谢 @jwyh 对星火商店代码仓库设计了很多标准,参见 https://deepin-community-store.gitee.io/spark-wiki/#/Dev/Spark-Store-Git-Repo?id=%e6%9b%b4%e6%96%b0%e6%97%a5%e5%bf%97%e8%a7%84%e5%88%99 不过shenmo是自由的
* chore: 添加 Application 类,继承 DApplication将 main 函数中设置属性、关于信息等操作移至 Application 构造函数中进行
@@ -578,8 +234,8 @@ spark-store (4.1.2) stable; urgency=medium
spark-store (4.1.2~test2) stable; urgency=medium
* feat: ssinstall支持从单独文件夹中校验软件包
* feat 支持分单文件夹下载。具体内容参见https://gitee.com/spark-store-project/repo_auto_update_script/blob/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list
* info: 非常感谢 @jwyh 对星火商店代码仓库设计了很多标准,参见 https://wiki.spark-app.store/#/Dev/Spark-Store-Git-Repo 不过shenmo是自由的
* feat 支持分单文件夹下载。具体内容参见https://gitee.com/deepin-community-store/repo_auto_update_script/blob/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list
* info: 非常感谢 @jwyh 对星火商店代码仓库设计了很多标准,参见 https://deepin-community-store.gitee.io/spark-wiki/#/Dev/Spark-Store-Git-Repo 不过shenmo是自由的
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
@@ -790,7 +446,7 @@ spark-store (3.2.4) stable; urgency=medium
spark-store (3.2.4~test4) stable; urgency=medium
* 现在在商店启动后点击spk链接仍会正常启动 https://gitee.com/spark-store-project/spark-store/commit/dd6780d636042bf12d77414e6f1552cc7d1ed24c
* 现在在商店启动后点击spk链接仍会正常启动 https://gitee.com/deepin-community-store/spark-store/commit/dd6780d636042bf12d77414e6f1552cc7d1ed24c
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
@@ -815,5 +471,221 @@ spark-store (3.2.4~test2) stable; urgency=medium
spark-store (3.2.4~test1) stable; urgency=medium
* 客户端更新时不关闭免密码登录
* U
* UOS合并正常aptss中
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.2.3) stable; urgency=medium
* 客户端异常退出时仍然占用资源问题修复
* 降低dtk依赖版本Debian 11 stable可直接安装
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.2.2) stable; urgency=medium
* aptss will now refresh the system source before doing install, policy....etc
* 启动客户端GPU加速支持
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.2.1) stable; urgency=medium
* 更改刷新系统源的功能
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.2) stable; urgency=medium
* 新增 下载量统计功能
* 新增 显示下载量
* 修复 spk链接生成错误
* 调整 启动时检测商店applist源
* 新增 applist cdn加速
* 调整 ssupdate不再更新/etc/aptss下的cache如要如此请使用aptss update
* 修复 在更新检测设置中的是否开启自动更新检测设置项的显示不随开启或关闭状态改变
* 修复 在检测更新时临时降低优先级到100防止系统中有且版本一致的包被反复来回更新
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.6) stable; urgency=medium
* 修复部分情况下无法选中正确的镜像源的问题
* 合入3.1.5以来的各项修改
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.5-5) stable; urgency=medium
* 从所有镜像源中选取最快镜像源高速下载
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.5-4) stable; urgency=medium
* 更改ss-apt-fast策略现在只会在updatessupdate和没有检测到配置文件的时候更新配置文件
* 新增ss-apt-fast别名aptss
* 更新检测服务优化:从分体改为一体
* aptss 支持自动补全
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.5-3) stable; urgency=medium
* 包内自带密钥
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
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下载加速
* 修复使用更新和安装设置更新商店本体时出错
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.4-1) stable; urgency=medium
* 安装脚本和检测更新脚本检查网络时间超时时间延长至5s
* 修复ssinstall在没有安装apt-fast的情况下首次安装需要依赖的软件时安装失败
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.4) stable; urgency=medium
* 发布正式版,同步到官网
* 修复安装时使用wget的问题
* 合并3.1.3-1和3.1.3-2的更改
* 屏蔽了ssinstall之外的安装方式
* 调整了报错框的形式
* 修复pkexec下ssinstall不处理依赖
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.3-2) stable; urgency=medium
* 调整 现在与系统更新分开,不再导致更新失败
* 支持直接更新软件源文件不再让d.吃全部更新流量
* ss-apt-fast不再强制root权限
* 修改ss-apt-fast的策略现在除了安装下载和更新都改用apt
* ssinstall 现在也会在不适用ss-apt-fast的时候模拟源了针对UOS
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.3-1) stable; urgency=medium
* 修复 下载提前退出
* 移除 下载量显示
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.3) stable; urgency=medium
* Now uses aria2 to download softwares form all mirrors
* 新增ssinstall现在会在没有apt-fast的时候自动安装
* 新增ss-apt-fast现在会在没有apt-fast的时候自动安装
* 修改删除ssinstall中无用的 || dpkg -P $1
* 新增ss-apt-fast会先下载云上的conf以确保mirror是最新的
* 修复去除wget指令
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
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
* Now ss-update-controler will create symbol link instead of hard link
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.1.0) stable; urgency=medium
* Add pkexec policy: ssinstall. Only will be enabled after permitted.
* Modify ssinistall script: Now will ask for password when not run as root
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.0.3-13) stable; urgency=medium
* Update the ssinstall script. Now support apt-fast and will temporarily increase the spark store source priority to 500 to make depends install correctly
* Change the style of About Dialog
* Modified depends to avoid Deb installers can not handle "Provides"
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.0.3-12) stable; urgency=medium
* Rollback to use DApplication::loadDXcbPlugin() to make titlebar behave normally in ubuntu
* Now can run on Debian 11
* Now can run on Ubuntu 22.04
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.0.3-11) stable; urgency=medium
* Now support autoupdate
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.0.3-10) stable; urgency=medium
* Now also compile dstore patch
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.0.3-9) stable; urgency=medium
* Support dpkg-buildpackage
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800

44
debian/control vendored
View File

@@ -5,32 +5,44 @@ Priority: optional
Build-Depends:
debhelper (>= 9),
pkg-config,
qtchooser (>= 55-gc9562a1-1~) | qt5-default,
qtbase5-dev,
qtchooser (>= 55-gc9562a1-1~),
libqt5core5a,
libqt5gui5,
libqt5widgets5,
libqt5network5,
libqt5concurrent5,
libdtkcore-dev(>=5.0),
libdtkgui-dev(>=5.0),
libdtkwidget-dev(>=5.0),
libqt5svg5-dev,
qttools5-dev-tools,
qttools5-private-dev,
qtwebengine5-dev,
libdtkcore-dev (>= 5.0),
libdtkgui-dev (>= 5.0),
libdtkwidget-dev (>= 5.0)
Standards-Version: 4.1.7
qtwayland5,
qtwayland5-dev-tools,
gcc,
g++
Standards-Version: 4.0.0
Homepage: https://www.spark-app.store/
Package: spark-store
Architecture: any
Provides: spark-store-console-in-container
Depends: ${shlibs:Depends}, ${misc:Depends},
dde-qt5integration,
Depends:${shlibs:Depends}, ${misc:Depends},
libqt5core5a,
libqt5gui5,
libqt5widgets5,
libqt5network5,
libqt5concurrent5,
qtwayland5,
libdtkcore5,
libdtkgui5,
libdtkwidget5,
curl,
openssl,
dde-qt5integration,
aria2,
gnupg,
zenity,
policykit-1 | pkexec,
libnotify-bin,
qtwayland5,
desktop-file-utils,
dpkg-dev,
lsb-release,
policykit-1,
libnotify-bin
Description: Spark Store
A community powered app store, based on DTK.

2
debian/copyright vendored
View File

@@ -1,6 +1,6 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: spark-store
Source: https://gitee.com/spark-store-project/spark-store
Source: https://gitee.com/deepin-community-store/spark-store
Files: *
Copyright: The Spark Project Developers

21
debian/rules vendored
View File

@@ -7,9 +7,6 @@ include /usr/share/dpkg/default.mk
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
# Use realtime timestamp instead of the latest entry in debian/changelog
SOURCE_DATE_EPOCH := $(shell date +%s)
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE = 1
@@ -17,25 +14,25 @@ SOURCE_DATE_EPOCH := $(shell date +%s)
dh $@ --parallel
override_dh_auto_clean:
rm -rf $(CURDIR)/build-$(DEB_HOST_MULTIARCH)
rm -rf $(CURDIR)/build
override_dh_auto_configure:
mkdir -p $(CURDIR)/build-$(DEB_HOST_MULTIARCH)
mkdir -p $(CURDIR)/build
qmake BUILD_VERSION=$(DEB_VERSION_UPSTREAM) spark-store-project.pro \
-spec linux-g++ CONFIG+=force_debug_info \
-o $(CURDIR)/build-$(DEB_HOST_MULTIARCH)/
-spec linux-g++ CONFIG+=qtquickcompiler \
-o $(CURDIR)/build/
override_dh_auto_build:
make -C $(CURDIR)/build-$(DEB_HOST_MULTIARCH) -j$(JOBS)
make MAKEFLAGS="$(MAKEFLAGS)" -C $(CURDIR)/build
override_dh_auto_install:
make -C $(CURDIR)/build-$(DEB_HOST_MULTIARCH) install \
make -C $(CURDIR)/build install \
INSTALL_ROOT=$(CURDIR)/debian/spark-store
# Ignore the dpkg-shlibdeps: warning (it uses none of the library's symbols)
# Qt Mutidedia lib will ref to network libraray.
override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--warnings=0 --exclude=opt/durapps/spark-store/bin/ss-feedback/
override_dh_strip:
dh_strip --exclude=opt/durapps/spark-store/bin/ss-feedback/
dh_shlibdeps --dpkg-shlibdeps-params=--warnings=0

View File

@@ -1 +1 @@
3.0 (native)
1.0

View File

@@ -4,44 +4,41 @@ case "$1" in
configure)
case `arch` in
x86_64)
echo "Enabling i386 arch..."
dpkg --add-architecture i386
;;
aarch64)
echo "Will not enable armhf since 4271"
;;
loongarch64)
echo "Nope we DO NOT WANT ABI1 now"
dpkg --remove-architecture loongarch64
;;
*)
echo "Unknown architecture, skip enable 32-bit arch"
;;
x86_64)
echo "Enabling i386 arch..."
dpkg --add-architecture i386
;;
aarch64)
echo "Enabling armhf arch..."
dpkg --add-architecture armhf
;;
*)
echo "Unknown architecture, skip enable 32-bit arch"
;;
esac
mkdir -p /var/lib/aptss/lists
# Remove the sources.list file
rm -f /etc/apt/sources.list.d/sparkstore.list
# Check if /usr/local/bin existed
mkdir -p /usr/local/bin
## I hate /usr/local/bin. We will abandon them later
# Create symbol links for binary files
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/ssaudit /usr/local/bin/ssaudit
ln -s -f /opt/durapps/spark-store/bin/ssinstall /usr/bin/ssinstall
ln -s -f /opt/durapps/spark-store/bin/ssaudit /usr/bin/ssaudit
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/spark-dstore-patch /usr/bin/spark-dstore-patch
ln -s -f /opt/durapps/spark-store/bin/aptss /usr/local/bin/ss-apt-fast
ln -s -f /opt/durapps/spark-store/bin/aptss /usr/bin/aptss
ln -sf /usr/lib/qt5/bin/spark-update-tool /usr/bin/spark-update-tool
# Create symbol links for SSINSTALL
ln -s -f /opt/durapps/spark-store/bin/auto-install-policy/store.spark-app.ssinstall.policy /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy
# Install key
@@ -50,14 +47,14 @@ case "$1" in
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
# Run apt update to avoid users being fucked up by the non-exist dependency problem
# Now abandoned as aptss now run ssupdate everytime
#aptss ssupdate
# Start upgrade detect service
systemctl daemon-reload
systemctl enable spark-update-notifier
systemctl start spark-update-notifier
# Update certain caches
update-icon-caches /usr/share/icons/hicolor || true
update-desktop-database /usr/share/applications || true
@@ -72,7 +69,18 @@ case "$1" in
;;
triggered)
spark-dstore-patch
# Quit if deepin-app-store-tool existed
if [ -x "/usr/bin/deepin-app-store-tool" ] ; then
exit 0
fi
# Trigger for UOS debs installation
echo '--------检测到Uniontech标准软件包运行补丁以修正安装--------'
if [ -x "/usr/local/bin/spark-dstore-patch" ] ; then
/usr/local/bin/spark-dstore-patch
echo '-----------spark-dstore-patch补丁工具已运行完毕-----------'
else
echo '------------spark-dstore-patch补丁工具运行失败------------'
fi
;;
esac

0
debian/spark-store.postrm vendored Executable file → Normal file
View File

View File

@@ -1,64 +1,51 @@
#!/bin/bash
function notify-send()
{
# Detect the user using such display
#Detect the user using such display
local user=$(who | awk '{print $1}' | head -n 1)
# Detect the id of the user
#Detect the id of the user
local uid=$(id -u $user)
sudo -u $user DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus notify-send "$@"
sudo -u $user DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus notify-send "$@"
}
if [ "$1" = "remove" -o "$1" = "purge" ] ; then
echo "$1"
echo "卸载操作,进行配置清理"
if [ "$1" = "remove" ] || [ "$1" = "purge" ] ; then
# Remove residual symbol links
unlink /usr/local/bin/spark-store
unlink /usr/local/bin/ssinstall
unlink /usr/local/bin/ssaudit
unlink /usr/bin/ssinstall
unlink /usr/bin/ssaudit
unlink /usr/local/bin/spark-dstore-patch
unlink /usr/bin/spark-dstore-patch
unlink /usr/local/bin/ss-apt-fast
unlink /usr/bin/aptss
rm -f /usr/local/bin/spark-store
rm -f /usr/local/bin/ssinstall
rm -f /usr/local/bin/ssaudit
rm -f /usr/local/bin/spark-dstore-patch
rm -f /usr/local/bin/ss-apt-fast
rm -f /usr/bin/aptss
rm -rf /etc/aptss/
rm -rf /var/lib/aptss/
# Remove residual symbol links to stop upgrade detect
rm -f /etc/xdg/autostart/spark-update-notifier.desktop
# Remove config files
for username in `ls /home`
do
echo /home/$username
if [ -d /home/$username/.config/spark-union/spark-store ]
then
rm -rf /home/$username/.config/spark-union/spark-store
fi
done
# Shutdown services
systemctl stop spark-update-notifier
# Stop update detect service
systemctl disable spark-update-notifier
# Clean the auto install polkit file if exist
rm -f /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy
# Remove gpg key file
rm -f /etc/apt/trusted.gpg.d/spark-store.gpg
apt-key del '9D9A A859 F750 24B1 A1EC E16E 0E41 D354 A29A 440C' || true
apt-key del '9D9A A859 F750 24B1 A1EC E16E 0E41 D354 A29A 440C'
else
echo "非卸载操作,不进行配置清理"
if [ ! -z "`pidof spark-store`" ] ; then
echo "关闭已有 spark-store.."
notify-send "正在升级星火商店" "请在升级结束后重启星火商店" -i spark-store
killall spark-store
if [ ! -z "`pidof spark-store`" ];then
echo "关闭已有 spark-store.."
notify-send "正在升级星火商店" "请在升级结束后重启星火商店" -i spark-store
killall spark-store
else
echo "继续安装 spark-store.."
fi
fi

View File

@@ -1,2 +1 @@
interest-noawait /opt/apps

View File

@@ -5,7 +5,7 @@
> 用于 zinface-community-cmake-build-system.patch 补丁化构建方式
```shell
git clone https://gitee.com/spark-store-project/spark-store
git clone https://gitee.com/deepin-community-store/spark-store
cd spark-store
git am < patchs/zinface-community-cmake-build-system.patch
make package

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
deb [by-hash=force] https://d.store.deepinos.org.cn /

View File

@@ -1,11 +0,0 @@
[Unit]
Description=Timer for Spark Update Notifier
[Timer]
# 开机后第一次执行
OnBootSec=1min
# 每天执行一次
OnUnitActiveSec=1d
[Install]
WantedBy=timers.target

View File

@@ -2,14 +2,13 @@
Description=Spark Store update notifier
After=apt-daily.service network.target network-online.target systemd-networkd.service NetworkManager.service connman.service
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/opt/durapps/spark-store/bin/update-upgrade/ss-update-notifier.sh
Restart=on-failure
RestartSec=15 # 可以设置为更长的重试间隔,比如 15 秒或 30 秒
StartLimitIntervalSec=1h # 设置为 1 小时的时间窗口
StartLimitBurst=3 # 最大允许失败次数为 3 次
RestartSec=10
[Install]
WantedBy=multi-user.target

View File

@@ -1,12 +0,0 @@
[Desktop Entry]
Categories=Development;
Encoding=UTF-8
Exec=/opt/durapps/spark-store/bin/open-in-terminal/open-in-terminal %U
Icon=open-me-in-terminal
MimeType=application/x-desktop
Name=Open me in terminal
Name[zh_CN]=在终端中打开
NoDisplay=true
StartupWMClass=在终端中打开
Terminal=true
Type=Application

View File

@@ -1,5 +1,4 @@
#!/bin/bash
TRANSHELL_CONTENT_RUNNING_IN_NOT_ROOT_USER="INFO:Running in non-root mode! If error occurs, please try to excute me as root."
TRANSHELL_CONTENT_RUNNING_IN_NOT_ROOT_USER="W:Running in non-root mode! If error occurs, please try to excute me as root."
TRANSHELL_CONTENT_INFO_SOURCES_LIST_D_IS_EMPTY="INFOsources.list.d directory is emptywill not try to sync"
TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST="Getting server and mirror lists..."
TRANSHELL_CONTENT_PLEASE_USE_APTSS_INSTEAD_OF_APT="Please note: Although the error message suggests using \"apt\" (such as \"apt install --fix-broken\"), please use \"aptss\" instead of \"apt\" when troubleshooting errors (for example, change to \"aptss install --fix-broken\")."

View File

@@ -1,5 +1,4 @@
#!/bin/bash
TRANSHELL_CONTENT_RUNNING_IN_NOT_ROOT_USER="信息正在使用非root权限模式启动若出现问题请尝试使用root权限执行指令"
TRANSHELL_CONTENT_RUNNING_IN_NOT_ROOT_USER="警告正在使用非root权限模式启动若出现问题请尝试使用root权限执行指令"
TRANSHELL_CONTENT_INFO_SOURCES_LIST_D_IS_EMPTY="信息sources.list.d文件夹是空的将不会尝试同步"
TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST="从服务器获取配置和镜像列表..."
TRANSHELL_CONTENT_PLEASE_USE_APTSS_INSTEAD_OF_APT="注意尽管报错信息中提示使用apt如apt install --fix-broken),请在排查错误的时候使用aptss而不是apt(对于例子,改为使用 aptss install --fix-broken)."

View File

@@ -40,7 +40,7 @@ _aptss()
"list"
"search"
"show" "showsrc"
"install" "remove" "purge" "autoremove" "autopurge"
"install" "remove" "purge" "autoremove"
"update"
"upgrade" "full-upgrade" "dist-upgrade"
"edit-sources"

View File

@@ -1,242 +0,0 @@
# 清除已有的 aptss 补全(如果有的话)
complete -c aptss -e
# 禁用默认的文件补全(避免显示当前目录文件)
complete -c aptss -f
########################################################################
# aptss Fish 补全脚本(中文说明版,软件包补全显示简介)
#
# 说明:
# 1. 子命令和选项的说明采用中文显示。
# 2. 软件包补全部分不再调用 apt-cache而是解析 aptss 自有的软件源索引文件,
# 从 /var/lib/aptss/lists/*Packages或 *Sources中提取软件包名称及简介信息。
#
# 注意:如果你的 aptss 软件源索引文件位置或格式有变化,请相应修改下面的 awk 命令。
########################################################################
### 辅助函数
# 解析 /var/lib/aptss/lists/*Packages 文件,输出符合当前输入前缀的“软件包<TAB>简介”
function __fish_aptss_print_packages
set cur (commandline -ct)
# 将所有匹配的 Packages 文件拼接后,用 awk 分段解析RS="" 表示以空行为分段)
awk -v cur="$cur" '
BEGIN { RS=""; FS="\n" }
{
pkg = ""; desc = "";
for(i=1; i<=NF; i++){
if($i ~ /^Package: /) { pkg = substr($i, 10) } # “Package: ”共9个字符
else if($i ~ /^Description: /) { desc = substr($i, 14) } # “Description: ”共13个字符
}
if(pkg != "" && (cur == "" || pkg ~ ("^" cur))) {
print pkg "\t" desc
}
}
' /var/lib/aptss/lists/*Packages 2>/dev/null
end
# 解析已安装软件包(这里仍使用 dpkg-query如果需要使用 aptss 数据,可另外构造)
function __fish_aptss_print_installed_packages
set cur (commandline -ct)
dpkg-query -W -f='${Package}\t${Description}\n' 2>/dev/null | grep -i "^$cur"
end
# 解析 /var/lib/aptss/lists/*Sources 文件,输出源代码包信息(如果存在)
function __fish_aptss_print_source_packages
set cur (commandline -ct)
awk -v cur="$cur" '
BEGIN { RS=""; FS="\n" }
{
pkg = ""; desc = "";
for(i=1; i<=NF; i++){
if($i ~ /^Package: /) { pkg = substr($i, 10) }
else if($i ~ /^Description: /) { desc = substr($i, 14) }
}
if(pkg != "" && (cur == "" || pkg ~ ("^" cur))) {
print pkg "\t" desc
}
}
' /var/lib/aptss/lists/*Sources 2>/dev/null
end
# 翻译子命令为中文说明(用于补全时显示在括号内)
function __fish_translate_aptss_cmd
switch $argv[1]
case ssupdate
echo "更新软件源"
case list
echo "列出软件包"
case search
echo "搜索软件包"
case show
echo "显示软件包信息"
case showsrc
echo "显示源包信息"
case install
echo "安装软件包"
case remove
echo "移除软件包"
case purge
echo "彻底移除软件包"
case autoremove
echo "自动移除不必要的软件包"
case update
echo "更新软件包列表"
case upgrade
echo "升级软件包"
case full-upgrade
echo "完全升级(可能移除其他软件包)"
case dist-upgrade
echo "发行版升级"
case edit-sources
echo "编辑软件源列表"
case help
echo "显示帮助信息"
case source
echo "下载源代码包"
case build-dep
echo "安装构建依赖"
case clean
echo "清除软件包缓存"
case autoclean
echo "自动清理旧缓存"
case download
echo "下载软件包"
case changelog
echo "显示更新日志"
case moo
echo "彩蛋"
case depends
echo "显示软件包依赖"
case rdepends
echo "显示软件包逆向依赖"
case policy
echo "显示软件包策略"
case '*'
echo $argv[1]
end
end
### 定义各类子命令组
# 所有子命令列表
set -g __aptss_commands ssupdate list search show showsrc install remove purge autoremove update upgrade full-upgrade dist-upgrade edit-sources help source build-dep clean autoclean download changelog moo depends rdepends policy
# 需要补全二进制软件包名称的子命令(例如 install、show、search、download、changelog、depends、rdepends
set -l __aptss_pkg_subcmds install show search download changelog depends rdepends
# 需要补全已安装软件包的子命令(例如 remove、purge、autoremove
set -l __aptss_installed_pkg_subcmds remove purge autoremove
# 需要补全源代码包的子命令(例如 source、build-dep、showsrc、policy
set -l __aptss_src_pkg_subcmds source build-dep showsrc policy
### 子命令补全
# 未输入子命令时,显示所有候选子命令,并在括号中显示中文说明
for cmd in $__aptss_commands
set desc (__fish_translate_aptss_cmd $cmd)
complete -c aptss -a $cmd -d "$desc" -n "not __fish_seen_subcommand_from $__aptss_commands"
end
### 公共选项(适用于一组子命令)
set -l group1 "install remove purge upgrade dist-upgrade full-upgrade autoremove"
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l show-progress -d '显示进度'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l fix-broken -d '修复损坏的依赖'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l purge -d '清除配置文件'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l verbose-versions -d '显示详细版本'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l auto-remove -d '自动移除依赖'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -s s -l simulate -d '模拟/试运行'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l download -d '下载软件包'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l fix-missing -d '修复丢失文件'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l fix-policy -d '修复策略'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l ignore-hold -d '忽略锁定'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l force-yes -d '强制确认'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l trivial-only -d '仅处理简单情况'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l reinstall -d '重新安装'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l solver -d '使用求解器'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -s t -l target-release -d '目标版本'
# 附加的 GENERIC 选项
complete -c aptss -n "__fish_seen_subcommand_from $group1" -s d -l download-only -d '仅下载'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -s y -l assume-yes -d '默认确认'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l assume-no -d '默认否定'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -s u -l show-upgraded -d '显示升级情况'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -s m -l ignore-missing -d '忽略缺失'
### 针对各个子命令的专用选项
# update 命令
complete -c aptss -n "__fish_seen_subcommand_from update" -l list-cleanup -d '清理列表'
complete -c aptss -n "__fish_seen_subcommand_from update" -l print-uris -d '显示 URI'
complete -c aptss -n "__fish_seen_subcommand_from update" -l allow-insecure-repositories -d '允许不安全的仓库'
# list 命令
complete -c aptss -n "__fish_seen_subcommand_from list" -l installed -d '已安装的软件包'
complete -c aptss -n "__fish_seen_subcommand_from list" -l upgradable -d '可升级的软件包'
complete -c aptss -n "__fish_seen_subcommand_from list" -l manual-installed -d '手动安装的软件包'
complete -c aptss -n "__fish_seen_subcommand_from list" -s v -l verbose -d '详细模式'
complete -c aptss -n "__fish_seen_subcommand_from list" -s a -l all-versions -d '显示所有版本'
complete -c aptss -n "__fish_seen_subcommand_from list" -s t -l target-release -d '目标版本'
# show 命令
complete -c aptss -n "__fish_seen_subcommand_from show" -s a -l all-versions -d '显示所有版本'
# depends 和 rdepends 命令(逐项添加各选项)
for opt in i important installed pre-depends depends recommends suggests replaces breaks conflicts enhances recurse implicit
complete -c aptss -n "__fish_seen_subcommand_from depends rdepends" -l $opt -d $opt
end
complete -c aptss -n "__fish_seen_subcommand_from depends rdepends" -s i -d '选项 -i'
# search 命令
complete -c aptss -n "__fish_seen_subcommand_from search" -s n -l names-only -d '仅匹配名称'
complete -c aptss -n "__fish_seen_subcommand_from search" -s f -l full -d '全文搜索'
# showsrc 命令
complete -c aptss -n "__fish_seen_subcommand_from showsrc" -l only-source -d '仅显示源代码'
# source 命令
complete -c aptss -n "__fish_seen_subcommand_from source" -s s -l simulate -d '模拟'
complete -c aptss -n "__fish_seen_subcommand_from source" -s b -l compile -d '编译/构建'
complete -c aptss -n "__fish_seen_subcommand_from source" -s P -l build-profiles -d '构建配置'
complete -c aptss -n "__fish_seen_subcommand_from source" -l diff-only -d '仅显示差异'
complete -c aptss -n "__fish_seen_subcommand_from source" -l debian-only -d '仅限 Debian'
complete -c aptss -n "__fish_seen_subcommand_from source" -l tar-only -d '仅打包 tar'
complete -c aptss -n "__fish_seen_subcommand_from source" -l dsc-only -d '仅下载 DSC'
complete -c aptss -n "__fish_seen_subcommand_from source" -s t -l target-release -d '目标版本'
# build-dep 命令
complete -c aptss -n "__fish_seen_subcommand_from build-dep" -s a -l host-architecture -d '主机架构'
complete -c aptss -n "__fish_seen_subcommand_from build-dep" -s s -l simulate -d '模拟'
complete -c aptss -n "__fish_seen_subcommand_from build-dep" -s P -l build-profiles -d '构建配置'
complete -c aptss -n "__fish_seen_subcommand_from build-dep" -s t -l target-release -d '目标版本'
complete -c aptss -n "__fish_seen_subcommand_from build-dep" -l purge -d '清除'
complete -c aptss -n "__fish_seen_subcommand_from build-dep" -l solver -d '求解依赖'
# moo 命令
complete -c aptss -n "__fish_seen_subcommand_from moo" -l color -d '彩蛋模式'
# clean 和 autoclean 命令
complete -c aptss -n "__fish_seen_subcommand_from clean autoclean" -s s -l simulate -d '模拟'
### 针对 -t/--target-release 的特殊补全
complete -c aptss -n '
begin
set -l prev (commandline -poc | string trim)
test "$prev" = "-t" -o "$prev" = "--target-release"
end
' -a '(__fish_aptss_target_release)' -d '目标版本'
### 软件包补全
# 对于需要二进制软件包名称的子命令,调用 __fish_aptss_print_packages
# 输出的每一行格式为 "包名<TAB>简介"Fish 会将 TAB 后内容显示为注释。
complete -c aptss -n "__fish_seen_subcommand_from $__aptss_pkg_subcmds" -a '(__fish_aptss_print_packages)'
# 对于 remove、purge、autoremove 命令,补全已安装的软件包(使用 dpkg-query 输出)
complete -c aptss -n "__fish_seen_subcommand_from $__aptss_installed_pkg_subcmds" -a '(__fish_aptss_print_installed_packages)' -d '已安装软件包'
# 对于 source、build-dep、showsrc、policy 命令,补全源代码包,
# 如果存在对应的 Sources 索引文件,则调用 __fish_aptss_print_source_packages
# 否则可考虑默认使用二进制包的索引。
complete -c aptss -n "__fish_seen_subcommand_from $__aptss_src_pkg_subcmds" -a '(__fish_aptss_print_source_packages)' -d '源代码包'

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 381 KiB

View File

@@ -1,5 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="127"
inkscape:export-xdpi="127"
inkscape:export-filename="/home/zhangtianyi/Desktop/deepin-community-store.png"
@@ -8,16 +16,8 @@
viewBox="0 0 200 200"
version="1.1"
id="svg8"
inkscape:version="1.3 (0e150ed, 2023-07-21)"
sodipodi:docname="logo-no-border.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
inkscape:version="1.0 (4035a4f, 2020-05-01)"
sodipodi:docname="deepin-community-store.svg">
<defs
id="defs2">
<linearGradient
@@ -134,11 +134,7 @@
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Drop Shadow"
id="filter2201"
x="-0.06449152"
y="-0.061604632"
width="1.128983"
height="1.1232093">
id="filter2201">
<feFlood
flood-opacity="0.372549"
flood-color="rgb(145,145,145)"
@@ -175,21 +171,18 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="476.28692"
inkscape:cy="375.77675"
inkscape:zoom="0.7"
inkscape:cx="13.97476"
inkscape:cy="371.76152"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:current-layer="layer2"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="974"
inkscape:window-height="941"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:document-rotation="0"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
inkscape:document-rotation="0" />
<metadata
id="metadata5">
<rdf:RDF>
@@ -198,6 +191,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@@ -205,7 +199,18 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-97)" />
transform="translate(0,-97)">
<rect
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ebebeb;stroke-width:2.87004;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter2201)"
id="rect2119"
width="162.54665"
height="170.16383"
x="20.431099"
y="112.51035"
rx="30"
ry="30"
transform="matrix(1.0253898,0,0,0.97932001,-4.2824724,3.4808454)" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<vendor>Spark Store</vendor>
<icon_name>x-package-repository</icon_name>
<action id="store.spark-app.ss-do-upgrade-worker">
<description>运行ss-do-upgrade-worker需要权限</description>
<message>要使用ss-do-upgrade-worker需要权限</message>
<defaults>
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<action id="com.spark.update">
<description>Run the Spark Update Tool</description>
<message>Authentication is required to update the system</message>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/spark-update-tool</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
<defaults>
<allow_active>yes</allow_active>
<allow_inactive>no</allow_inactive>
</defaults>
</action>
</policyconfig>

View File

@@ -1,6 +0,0 @@
#!/bin/bash
TRANSHELL_CONTENT_HASH_CHECK_FAILED="Failed in checking package hash! \nPossibly reason can be the package is broken, laggy in sync of Spark Store repository, or, there is a malware attempt to attack. \nIf you don't know what happend, please try install again after execute the command below\n sudo aptss update\n\nIf the problem still happen, please click APP Feedback button in the APP information page to feedback to us.\n\n If you are in the Audition GroupPlease use ssaudit instead of ssinstall to audit APPsfor ssinstall is used for password-free install now.\nIf you want to install an app that is removed from Spark Store repositoryyou can also use ssaudit."
TRANSHELL_CONTENT_PLEASE_RUN_AS_ROOT="Please run ssinstall as root"
TRANSHELL_CONTENT_FILE_NOT_EXIST="File not exist"
TRANSHELL_CONTENT_WILL_NOT_DELETE_DEB="No delete after install option given, will not delete the deb"
TRANSHELL_CONTENT_DEB_IS_DELETED="--delete-after-install option is given and the installation is succeeded, delete the deb file."

View File

@@ -1,6 +0,0 @@
#!/bin/bash
TRANSHELL_CONTENT_HASH_CHECK_FAILED="软件包校验失败!这不应该发生!\n可能是因为软件包已损坏星火仓库未同步或者最坏的情况恶意软件尝试利用自动安装来入侵系统\n如果你不清楚发生了什么请执行 sudo aptss update 后再尝试安装。\n如果问题仍然存在请在应用信息界面点击 应用反馈 来提交反馈给我们!\n\n 如果你是审核人员,请使用 ssaudit来替代ssinstall进行审核工作因为现在ssinstall已经被用于免密安装。\n如果你正在尝试安装已经下架的星火应用也可用ssaudit来替代ssinstall"
TRANSHELL_CONTENT_PLEASE_RUN_AS_ROOT="请使用root启动ssinstall"
TRANSHELL_CONTENT_FILE_NOT_EXIST="文件不存在"
TRANSHELL_CONTENT_WILL_NOT_DELETE_DEB="未指定安装后删除或安装出错不删除deb包"
TRANSHELL_CONTENT_DEB_IS_DELETED="使用了--delete-after-install选项且安装未出错删除deb包"

View File

@@ -7,7 +7,8 @@
TARGET = spark-store
TEMPLATE = subdirs
CONFIG += ordered
#CONFIG += ordered
CONFIG += wayland-compositor
SUBDIRS += \
src/spark-store.pro
@@ -40,20 +41,16 @@ qm.path = /usr/share/spark-store/translations
bash_completion.files += pkg/usr/share/bash-completion/completions/aptss
bash_completion.path = /usr/share/bash-completion/completions
fish_completion.files += pkg/usr/share/fish/completions/aptss.fish
fish_completion.path = /usr/share/fish/completions/
desktop.files += pkg/usr/share/applications/*.desktop
desktop.files += pkg/usr/share/applications/spark-store.desktop
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/*
polkit-1.files +=pkg/usr/share/polkit-1/actions/store.spark-app.ss-do-upgrade-worker.policy
polkit-1.path = /usr/share/polkit-1/actions/
icon.files += pkg/usr/share/icons/hicolor/scalable/apps/*.svg
icon.files += pkg/usr/share/icons/hicolor/scalable/apps/*.png
icon.files += pkg/usr/share/icons/hicolor/scalable/apps/spark-store.svg
icon.path = /usr/share/icons/hicolor/scalable/apps
ssinstall-transhell.files += pkg/usr/share/ssinstall/transhell
@@ -76,13 +73,5 @@ INSTALLS += \
tmp \
service \
bash_completion \
fish_completion \
polkit-1
# 暂时不添加
SUBDIRS += src/spark-update-tool
spark-update-tool.subdir = src/spark-update-tool
spark-update-tool.file = src/spark-update-tool/spark-update-tool.pro
spark-update-tool.target = spark-update-tool
spark-update-tool.depends = spark-store

View File

@@ -2,8 +2,6 @@
#include "mainwindow-dtk.h"
#include "utils/utils.h"
#include <QDir>
#include <QJsonArray>
#include <DPlatformWindowHandle>
#include <DLog>
#include <DGuiApplicationHelper>
@@ -14,7 +12,6 @@
#include <QSettings>
#include <QStandardPaths>
#include <QTranslator>
DCORE_USE_NAMESPACE
@@ -35,13 +32,14 @@ Application::Application(int &argc, char **argv)
setApplicationName("spark-store"); // 影响 ~/.config/spark-union ~/.local/share/spark-union 下文件夹名称
setApplicationDisplayName(QObject::tr("Spark Store")); // 设置窗口显示标题 (Wayland 下会显示 Qt 原生标题栏)
setProductName(QObject::tr("Spark Store"));
setProductIcon(QIcon(":/icon/sparky.png"));
setApplicationHomePage("https://gitee.com/spark-store-project");
setProductIcon(QIcon::fromTheme("spark-store"));
setApplicationHomePage("https://gitee.com/deepin-community-store");
setApplicationDescription(
QObject::tr(
"<span style=' font-size:10pt;font-weight:60;'>An appstore powered by community</span><br/>"
"<span style=' font-size:10pt;font-weight:60;'>Sparky is our mascot, designed by <a href='https://tai3.cn/'>Tyson Tan</a></span><br/>"));
setApplicationLicense(" <a href='https://gitee.com/spark-store-project/spark-store/blob/Flamescion/LICENSE'>GPL V3</a> ");
"<a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/>"
"<span style=' font-size:12pt;'>Spark developers</span>"));
setApplicationLicense(" <a href='https://gitee.com/deepin-community-store/spark-store/blob/Flamescion/LICENSE'>GPLv3</a> ");
// 检查 ~/.config/spark-union/spark-store 文件夹是否存在
checkAppConfigLocation();
@@ -93,7 +91,7 @@ void Application::setBuildDateTime(const QString &buildDateTime)
qDebug() << "Spark Store has been updated!";
config.setValue("build/version", QString(APP_VERSION));
config.setValue("build/branch", QString(APP_BRANCH));
config.setValue("build/branch",QString(APP_BRANCH));
config.setValue("build/time", buildDateTime);
config.sync();
}
@@ -139,9 +137,9 @@ void Application::initAboutDialog()
dialog->setProductName(productName());
dialog->setProductIcon(productIcon());
dialog->setVersion(translate("DAboutDialog", "Version: %1").arg(applicationVersion()));
if (runtimeDtkVersion() >= DTK_VERSION_CHECK(5, 6, 4, 0)) {
dialog->setVersion(applicationVersion());
}
#if (DTK_VERSION >= DTK_VERSION_CHECK(5, 6, 4, 0))
dialog->setVersion(applicationVersion());
#endif
// 根据 shenmo 要求,不显示组织 Logo
// dialog->setCompanyLogo(QPixmap(":/icon/Logo-Spark.png"));
dialog->setCompanyLogo(QPixmap());
@@ -158,17 +156,6 @@ void Application::initAboutDialog()
dialog->hide();
}
void Application::loadTranslator()
{
DApplication::loadTranslator();
if (QLocale::system().language() == QLocale::Chinese) {
QTranslator *webengineTranslator = new QTranslator(this);
webengineTranslator->load(QLocale(QLocale::Chinese), "qtwebengine", "_", ":/translations");
installTranslator(webengineTranslator);
}
}
#if (DTK_VERSION >= DTK_VERSION_CHECK(5, 6, 4, 0))
/**
* @brief Application::initFeatureDisplayDialog 初始化版本特性对话框

View File

@@ -30,8 +30,6 @@ private:
void initFeatureDisplayDialog();
#endif
void loadTranslator();
private:
QJsonObject m_featuresJsonObj;

View File

@@ -44,50 +44,23 @@
<file>icon/light/text.svg</file>
<file>icon/light/update.svg</file>
<file>icon/logo.svg</file>
<file>icon/sparky.png</file>
<file>json/features.json</file>
<file>tags/a2d_full.svg</file>
<file>tags/a2d-small.png</file>
<file>tags/a2d.png</file>
<file>tags/a2d.svg</file>
<file>tags/community_full.svg</file>
<file>tags/community-small.png</file>
<file>tags/community.png</file>
<file>tags/community.svg</file>
<file>tags/debian_full.svg</file>
<file>tags/debian.png</file>
<file>tags/debian.svg</file>
<file>tags/deepin_full.svg</file>
<file>tags/deepin.png</file>
<file>tags/deepin-small.png</file>
<file>tags/deepin.svg</file>
<file>tags/dtk_full.svg</file>
<file>tags/dtk.png</file>
<file>tags/dtk.svg</file>
<file>tags/dwine2_full.svg</file>
<file>tags/dwine2.png</file>
<file>tags/dwine2.svg</file>
<file>tags/dwine5_full.svg</file>
<file>tags/dwine5.png</file>
<file>tags/dtk-small.png</file>
<file>tags/dwine2-small.png</file>
<file>tags/dwine5-small.png</file>
<file>tags/dwine5.svg</file>
<file>tags/ubuntu_full.svg</file>
<file>tags/logo_icon.svg</file>
<file>tags/ubuntu-small.png</file>
<file>tags/ubuntu.png</file>
<file>tags/ubuntu.svg</file>
<file>tags/uos_full.svg</file>
<file>tags/uos.png</file>
<file>tags/uos-authorize.svg</file>
<file>tags/uos-small.png</file>
<file>tags/uos.svg</file>
<file>tags/amber-ce-bookworm_full.svg</file>
<file>tags/amber-ce-bookworm.png</file>
<file>tags/amber-ce-bookworm.svg</file>
<file>tags/amber-ce-sid_full.svg</file>
<file>tags/amber-ce-sid.png</file>
<file>tags/amber-ce-sid.svg</file>
<file>tags/amber-ce-trixie_full.svg</file>
<file>tags/amber-ce-trixie.png</file>
<file>tags/amber-ce-trixie.svg</file>
<file>tags/native_full.svg</file>
<file>tags/native.png</file>
<file>tags/native.svg</file>
<file>translations/qtwebengine_zh.qm</file>
<file>tags/amber-ce-deepin_full.svg</file>
<file>tags/amber-ce-deepin.svg</file>
<file>tags/amber-ce-deepin.png</file>
</qresource>
</RCC>

Binary file not shown.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 401 KiB

View File

@@ -20,6 +20,6 @@
"description": "Fix 1 detailed description..."
}
],
"linkUrl": "https://gitee.com/spark-store-project/spark-store/releases/",
"linkUrl": "https://gitee.com/deepin-community-store/spark-store/releases/",
"linkButtonVisible": true
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 248 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 22 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 32 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 178 KiB

After

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 738 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 26 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 16 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>logo icon</title>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
<stop stop-color="#00F1FF" offset="0%"></stop>
<stop stop-color="#008AFF" offset="100%"></stop>
</linearGradient>
</defs>
<g id="light" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1" transform="translate(-460.000000, -159.000000)">
<g id="tittlebar" transform="translate(450.000000, 150.000000)">
<g id="logo-icon" transform="translate(10.000000, 9.000000)">
<g>
<rect id="矩形" fill="url(#linearGradient-1)" x="0" y="0" width="32" height="32" rx="8"></rect>
<path d="M23,25 L23,24.0002278 C21.6666667,24.0002278 21,24.0002278 21,24.0002278 L21,20 L22,20 L22,19 L21,19 L21,17 L20,17.5 L20,19 L19,19 L19,20 L20,20 L20,24.0002278 C20,24.0002278 20,24.0002278 20,24.0002278 C20,24.5523868 20.4476132,25 20.9997722,25 C20.9998481,25 20.9999241,25 21,25 L23,25 Z M24.0210414,23.9789586 L24.0210414,22.2215556 L24.0210414,22.2215556 L24.6565969,21.6226667 L27.2207674,25 L29.0052118,25 L25.6099302,20.7304444 L28.4678057,18.0074755 L26.6711391,18.0074755 L24.0210414,20.6204444 L24,15.5 L23,15 L23,25 C23.5639056,25 24.0210414,24.5428642 24.0210414,23.9789586 Z" id="tk" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M10.275,24 C13.175,24 15.35,23.2 16.85,21.6 C18.275,20.075 19,17.825 19,15 C19,12.15 18.275,10.05 16.85,8.55 C15.35,6.95 13.175,6 10.275,6 L4,6 L4,24 L10.275,24 Z M9.725,21 L7,21 L7,9 L9.725,9 C11.95,9 13.575,9.15 14.6,10.175 C15.6,11.175 16,12.75 16,15 C16,17.2 15.6,18.9 14.6,19.95 C13.575,20.975 11.95,21 9.725,21 Z" id="D" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 83 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
<defs>
<linearGradient id="uos-托盘1-a" x1="15.968%" x2="100%" y1="14.224%" y2="60.554%">
<stop offset="0%" stop-color="#0071FF"/>
<stop offset="48.72%" stop-color="#00E8FC"/>
<stop offset="100%" stop-color="#00A2FF"/>
</linearGradient>
</defs>
<g fill="none" transform="translate(1 1)">
<circle cx="9" cy="9" r="9" fill="url(#uos-托盘1-a)"/>
<path fill="#FFF" d="M13,4.5 C13.5128358,4.5 13.9355072,4.88604019 13.9932723,5.38337887 L14,5.5 L14,9.5 C14,12.5 12,14.5 9,14.5 C6,14.5 4,12.5 4.0043492,9.70016408 L4,9.5 L4,5.5 C4,4.94771525 4.44771525,4.5 5,4.5 C5.51283584,4.5 5.93550716,4.88604019 5.99327227,5.38337887 L6,5.5 L6,9.5 C6,11.5 7.5,12.5 9,12.5 C10.5,12.5 12,11.5 12,9.5 L12,5.5 C12,4.94771525 12.4477153,4.5 13,4.5 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 873 B

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

Some files were not shown because too many files have changed in this diff Show More