diff --git a/.gitee/callback.py b/.gitee/callback.py index b52d702..6abf80e 100644 --- a/.gitee/callback.py +++ b/.gitee/callback.py @@ -7,7 +7,7 @@ import json sha = os.getenv("GIT_COMMIT") # sha = '48fed26c51a8c42554e45f72f43e49703e04c97f' #get sha from environment -url = "https://gitee.com/api/v5/repos/deepin-community-store/spark-store/commits/{}/comments".format(sha) +url = "https://gitee.com/api/v5/repos/spark-store-project/spark-store/commits/{}/comments".format(sha) token = os.getenv("gitee_token") diff --git a/.workflow/pipeline-dtk-build-aarch64.yml b/.workflow/pipeline-dtk-build-aarch64.yml index 77495d2..1f25618 100644 --- a/.workflow/pipeline-dtk-build-aarch64.yml +++ b/.workflow/pipeline-dtk-build-aarch64.yml @@ -34,7 +34,7 @@ stages: - 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/deepin-community-store/repo_auto_update_script/raw/master/spark-build-aarch64.sh && mv spark-build-aarch64.sh DEBIAN/root + - wget https://gitee.com/spark-store-project/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 - '' diff --git a/DOCS/json-api-doc.md b/DOCS/json-api-doc.md index 859132d..5af00c2 100644 --- a/DOCS/json-api-doc.md +++ b/DOCS/json-api-doc.md @@ -30,7 +30,7 @@ `{SOURCE_URL}/{ARCH}/{CATOGARY}/applist.json` 说明:SOURCE_URL:线路链接,目前推荐 https://cdn.d.store.deepinos.org.cn,你也可以使用其他的星火线路 ARCH:架构文件夹 x86是store或amd64-store,arm是aarch64-store。特别的,如果你使用非https://cdn.d.store.deepinos.org.cn的线路,你可能会发现amd64-store会返回404,因为不是所有的服务器都支持软连接 -CATOGARY:分类目录。参考 https://gitee.com/deepin-community-store/spark-store/blob/dev/DOCS/spk-doc.md 中 store 直达的对应关系 +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 diff --git a/DOCS/内网部署.md b/DOCS/内网部署.md index 1686d3d..7fa01ec 100644 --- a/DOCS/内网部署.md +++ b/DOCS/内网部署.md @@ -4,4 +4,4 @@ 为方便使用(其实是早期屎山使然),请将仓库放置于 `/home/ftp/spark-store` -仓库管理相关代码请移步 [这里](https://gitee.com/deepin-community-store/repo_auto_update_script),update.sh请联系 @shenmo 获取 \ No newline at end of file +仓库管理相关代码请移步 [这里](https://gitee.com/spark-store-project/repo_auto_update_script),update.sh请联系 @shenmo 获取 \ No newline at end of file diff --git a/FAQ.md b/FAQ.md index 3ec114b..8eb13a8 100644 --- a/FAQ.md +++ b/FAQ.md @@ -8,7 +8,7 @@ The Spark App Store is an application store aimed at Linux users and supports mu ### Communication and Feedback **Q: Where can I join the community group?** -**A:** You can click [here](https://www.deepinos.org/) to enter the main communication platform of the Spark Store. +**A:** You can click [here](https://bbs.spark-app.store/) to enter the main communication platform of the Spark Store. > ⚠️ If the above link doesn't work, you can also join our QQ groups as an alternative. The group numbers are 872690351 and 865927727. We also offer forums for communication. #### Differences Between arm64 and amd64 @@ -79,12 +79,12 @@ Linux: ### Reporting Issues and Removing Apps **Q: Some apps are outdated or inactive, and I want them removed** -**A:** You can report issues [here](https://gitee.com/deepin-community-store/software_-issue). +**A:** You can report issues [here](https://gitee.com/spark-store-project/software_-issue). --- ### Installing Spark App Store -If you wish to install the Spark App Store, please visit the [Release page](https://gitee.com/deepin-community-store/spark-store/releases), find the latest version, and choose the package suitable for your current system. +If you wish to install the Spark App Store, please visit the [Release page](https://gitee.com/spark-store-project/spark-store/releases), find the latest version, and choose the package suitable for your current system. > ⚠️ Special Note: If you are using Debian10/Debian11 or Ubuntu 20.04, you may need to download additional dependency packages. After downloading, unzip multiple times until you see the software user guide. For operating systems later than Ubuntu 22.04, you do not need to install dependency packages. Just follow the steps above to install the main program directly. diff --git a/FAQ.zh.md b/FAQ.zh.md index 0a91f2d..1c45e07 100644 --- a/FAQ.zh.md +++ b/FAQ.zh.md @@ -8,7 +8,7 @@ ### 交流与反馈 **Q: 在哪进交流群?** -**A:** 你可以点击[这里](https://www.deepinos.org/)进入星火商店的主交流平台。 +**A:** 你可以点击[这里](https://bbs.spark-app.store/)进入星火商店的主交流平台。 > ⚠️ 如果上面的链接无法使用,你还可以加入我们的 QQ 群作为备选方案,群号是 872690351 和 865927727。我们还提供论坛作为交流平台。 arm64与amd64的区别 @@ -78,12 +78,12 @@ Linux: ### 报告问题和应用下架 **Q: 有些应用已经过时或者失效了,我想让他下架** -**A:** 你可以前往 [这里](https://gitee.com/deepin-community-store/software_-issue) 报告问题。 +**A:** 你可以前往 [这里](https://gitee.com/spark-store-project/software_-issue) 报告问题。 --- ### 安装星火应用商店 -如果你想安装星火应用商店,请打开[Release页面](https://gitee.com/deepin-community-store/spark-store/releases),找到最新版本,并选择适用于当前系统的安装包下载。 +如果你想安装星火应用商店,请打开[Release页面](https://gitee.com/spark-store-project/spark-store/releases),找到最新版本,并选择适用于当前系统的安装包下载。 > ⚠️ 特别提示: 如果你在使用 Debian10/Debian11 或 Ubuntu 20.04,你可能额外下载依赖补充包。您需要在下载完依赖包后,解压多次一直到看到内部的软件使用说明,对于 Ubuntu22.04 以后的操作系统版本,您无需安装依赖包,您需要按照上面的操作直接安装本体程序。 diff --git a/debian/changelog b/debian/changelog index 836aa31..d01ac56 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,10 @@ -spark-store (4.5.1) UNRELEASED; urgency=medium +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 区的展示方式 @@ -200,7 +206,7 @@ spark-store (4.2.7.3) stable; urgency=medium * 修复:aptss现在会正确地透传错误码而不是exit 0 * 修复:下载时如果卡0%(无法下载metalink),会在超时后报错中断而不是一直傻等 - * 修复:排队下载时CPU占满单核的bug https://gitee.com/deepin-community-store/spark-store/issues/I7B91V + * 修复:排队下载时CPU占满单核的bug https://gitee.com/spark-store-project/spark-store/issues/I7B91V * 修复:在终端中打开的icon过大导致无法投稿到UOS * 修复:v23下编译出错 * 薪怎:支持崩溃日志收集系统 @@ -437,7 +443,7 @@ spark-store (4.2.3~test2) stable; urgency=medium spark-store (4.2.3~test1) stable; urgency=medium * 修复:因判断安装状态错误创建多个相同任务的bug - * 测试中:尝试修复安装结束的闪退问题 https://gitee.com/deepin-community-store/spark-store/commit/cb093dcc2bb0a193db89aa0ce5f20ea9cc5d56eb + * 测试中:尝试修复安装结束的闪退问题 https://gitee.com/spark-store-project/spark-store/commit/cb093dcc2bb0a193db89aa0ce5f20ea9cc5d56eb * 修复:Deepin 显示开发者模式未开启 * 修复:从托盘打开主窗口时透明度动画不流畅 * 修复:主窗口关闭后,从托盘打开关于窗口会被主窗口遮挡 @@ -519,8 +525,8 @@ spark-store (4.1.2) stable; urgency=medium * chore: 去除安装依赖:g++ * fix: 修复下载列表中进度提示文字显示不完整的问题 * feat: ssinstall支持从单独文件夹中校验软件包 - * 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是自由的 + * 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是自由的 * chore: 添加 Application 类,继承 DApplication,将 main 函数中设置属性、关于信息等操作移至 Application 构造函数中进行 @@ -539,8 +545,8 @@ spark-store (4.1.2) stable; urgency=medium spark-store (4.1.2~test2) stable; urgency=medium * feat: ssinstall支持从单独文件夹中校验软件包 - * 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是自由的 + * 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是自由的 -- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800 @@ -751,7 +757,7 @@ spark-store (3.2.4) stable; urgency=medium spark-store (3.2.4~test4) stable; urgency=medium - * 现在在商店启动后点击spk链接仍会正常启动 https://gitee.com/deepin-community-store/spark-store/commit/dd6780d636042bf12d77414e6f1552cc7d1ed24c + * 现在在商店启动后点击spk链接仍会正常启动 https://gitee.com/spark-store-project/spark-store/commit/dd6780d636042bf12d77414e6f1552cc7d1ed24c -- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800 diff --git a/debian/copyright b/debian/copyright index e212ce7..ac61728 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,6 +1,6 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: spark-store -Source: https://gitee.com/deepin-community-store/spark-store +Source: https://gitee.com/spark-store-project/spark-store Files: * Copyright: The Spark Project Developers diff --git a/patchs/README.md b/patchs/README.md index 2020a5c..f62895d 100644 --- a/patchs/README.md +++ b/patchs/README.md @@ -5,7 +5,7 @@ > 用于 zinface-community-cmake-build-system.patch 补丁化构建方式 ```shell - git clone https://gitee.com/deepin-community-store/spark-store + git clone https://gitee.com/spark-store-project/spark-store cd spark-store git am < patchs/zinface-community-cmake-build-system.patch make package diff --git a/src/assets/assets.qrc b/src/assets/assets.qrc index f2f5df4..348edce 100644 --- a/src/assets/assets.qrc +++ b/src/assets/assets.qrc @@ -45,24 +45,33 @@ <file>icon/light/update.svg</file> <file>icon/logo.svg</file> <file>json/features.json</file> - <file>tags/a2d-small.png</file> + <file>tags/a2d_full.svg</file> <file>tags/a2d.png</file> - <file>tags/community-small.png</file> + <file>tags/a2d.svg</file> + <file>tags/community_full.svg</file> <file>tags/community.png</file> <file>tags/community.svg</file> - <file>tags/deepin-small.png</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.svg</file> - <file>tags/dtk-small.png</file> - <file>tags/dwine2-small.png</file> - <file>tags/dwine5-small.png</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/dwine5.svg</file> - <file>tags/logo_icon.svg</file> - <file>tags/ubuntu-small.png</file> + <file>tags/ubuntu_full.svg</file> <file>tags/ubuntu.png</file> - <file>tags/uos-authorize.svg</file> - <file>tags/uos-small.png</file> + <file>tags/ubuntu.svg</file> + <file>tags/uos_full.svg</file> + <file>tags/uos.png</file> <file>tags/uos.svg</file> <file>translations/qtwebengine_zh.qm</file> - <file>tags/debian.svg</file> </qresource> </RCC> diff --git a/src/assets/json/features.json b/src/assets/json/features.json index c771916..8c7772b 100644 --- a/src/assets/json/features.json +++ b/src/assets/json/features.json @@ -20,6 +20,6 @@ "description": "Fix 1 detailed description..." } ], - "linkUrl": "https://gitee.com/deepin-community-store/spark-store/releases/", + "linkUrl": "https://gitee.com/spark-store-project/spark-store/releases/", "linkButtonVisible": true } diff --git a/src/assets/tags/a2d-small.png b/src/assets/tags/a2d-small.png deleted file mode 100644 index e0bf6d0..0000000 Binary files a/src/assets/tags/a2d-small.png and /dev/null differ diff --git a/src/assets/tags/community-small.png b/src/assets/tags/community-small.png deleted file mode 100644 index 6250da5..0000000 Binary files a/src/assets/tags/community-small.png and /dev/null differ diff --git a/src/assets/tags/debian-small.png b/src/assets/tags/debian-small.png deleted file mode 100644 index 955942d..0000000 Binary files a/src/assets/tags/debian-small.png and /dev/null differ diff --git a/src/assets/tags/deepin-small.png b/src/assets/tags/deepin-small.png deleted file mode 100644 index e192bf9..0000000 Binary files a/src/assets/tags/deepin-small.png and /dev/null differ diff --git a/src/assets/tags/dtk-small.png b/src/assets/tags/dtk-small.png deleted file mode 100644 index dc83133..0000000 Binary files a/src/assets/tags/dtk-small.png and /dev/null differ diff --git a/src/assets/tags/dwine2-small.png b/src/assets/tags/dwine2-small.png deleted file mode 100644 index fddaf72..0000000 Binary files a/src/assets/tags/dwine2-small.png and /dev/null differ diff --git a/src/assets/tags/dwine5-small.png b/src/assets/tags/dwine5-small.png deleted file mode 100644 index d1fc71b..0000000 Binary files a/src/assets/tags/dwine5-small.png and /dev/null differ diff --git a/src/assets/tags/logo_icon.svg b/src/assets/tags/logo_icon.svg deleted file mode 100644 index 215d31a..0000000 --- a/src/assets/tags/logo_icon.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="500" zoomAndPan="magnify" viewBox="0 0 375 374.999991" height="500" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><filter x="0%" y="0%" width="100%" height="100%" id="e882d0151b"><feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0" color-interpolation-filters="sRGB"/></filter><g/><clipPath id="e67dfdd3cb"><path d="M 26.367188 8.089844 L 348.632812 8.089844 L 348.632812 366.90625 L 26.367188 366.90625 Z M 26.367188 8.089844 " clip-rule="nonzero"/></clipPath><clipPath id="aaae80a724"><path d="M 213.429688 15.085938 L 322.703125 78.664062 C 338.757812 88.003906 348.632812 105.175781 348.632812 123.75 L 348.632812 251.25 C 348.632812 269.824219 338.757812 286.996094 322.703125 296.335938 L 213.429688 359.914062 C 197.402344 369.238281 177.597656 369.238281 161.570312 359.914062 L 52.296875 296.335938 C 36.242188 286.996094 26.367188 269.824219 26.367188 251.25 L 26.367188 123.75 C 26.367188 105.175781 36.242188 88.003906 52.296875 78.664062 L 161.570312 15.085938 C 177.597656 5.761719 197.402344 5.761719 213.429688 15.085938 Z M 213.429688 15.085938 " clip-rule="nonzero"/></clipPath><linearGradient x1="-7.258984" gradientTransform="matrix(1.25885, 0, 0, 1.25885, 26.367192, -0.00024)" y1="13.687016" x2="263.258471" gradientUnits="userSpaceOnUse" y2="284.203481" id="8866302ba3"><stop stop-opacity="1" stop-color="rgb(99.998474%, 99.998474%, 99.998474%)" offset="0"/><stop stop-opacity="1" stop-color="rgb(99.848938%, 99.983215%, 99.855042%)" offset="0.015625"/><stop stop-opacity="1" stop-color="rgb(99.54834%, 99.952698%, 99.568176%)" offset="0.03125"/><stop stop-opacity="1" stop-color="rgb(99.249268%, 99.920654%, 99.279785%)" offset="0.046875"/><stop stop-opacity="1" stop-color="rgb(98.948669%, 99.890137%, 98.99292%)" offset="0.0625"/><stop stop-opacity="1" stop-color="rgb(98.648071%, 99.858093%, 98.704529%)" offset="0.078125"/><stop stop-opacity="1" stop-color="rgb(98.348999%, 99.827576%, 98.417664%)" offset="0.09375"/><stop stop-opacity="1" stop-color="rgb(98.048401%, 99.795532%, 98.130798%)" offset="0.109375"/><stop stop-opacity="1" stop-color="rgb(97.749329%, 99.765015%, 97.842407%)" offset="0.125"/><stop stop-opacity="1" stop-color="rgb(97.44873%, 99.732971%, 97.555542%)" offset="0.140625"/><stop stop-opacity="1" stop-color="rgb(97.148132%, 99.702454%, 97.267151%)" offset="0.15625"/><stop stop-opacity="1" stop-color="rgb(96.84906%, 99.67041%, 96.980286%)" offset="0.171875"/><stop stop-opacity="1" stop-color="rgb(96.548462%, 99.639893%, 96.69342%)" offset="0.1875"/><stop stop-opacity="1" stop-color="rgb(96.24939%, 99.607849%, 96.405029%)" offset="0.203125"/><stop stop-opacity="1" stop-color="rgb(95.948792%, 99.577332%, 96.118164%)" offset="0.21875"/><stop stop-opacity="1" stop-color="rgb(95.648193%, 99.545288%, 95.829773%)" offset="0.234375"/><stop stop-opacity="1" stop-color="rgb(95.349121%, 99.514771%, 95.542908%)" offset="0.25"/><stop stop-opacity="1" stop-color="rgb(95.048523%, 99.482727%, 95.254517%)" offset="0.265625"/><stop stop-opacity="1" stop-color="rgb(94.749451%, 99.452209%, 94.967651%)" offset="0.28125"/><stop stop-opacity="1" stop-color="rgb(94.448853%, 99.420166%, 94.680786%)" offset="0.296875"/><stop stop-opacity="1" stop-color="rgb(94.148254%, 99.389648%, 94.392395%)" offset="0.3125"/><stop stop-opacity="1" stop-color="rgb(93.849182%, 99.357605%, 94.10553%)" offset="0.328125"/><stop stop-opacity="1" stop-color="rgb(93.548584%, 99.327087%, 93.817139%)" offset="0.34375"/><stop stop-opacity="1" stop-color="rgb(93.249512%, 99.295044%, 93.530273%)" offset="0.359375"/><stop stop-opacity="1" stop-color="rgb(92.948914%, 99.264526%, 93.243408%)" offset="0.375"/><stop stop-opacity="1" stop-color="rgb(92.648315%, 99.234009%, 92.955017%)" offset="0.390625"/><stop stop-opacity="1" stop-color="rgb(92.349243%, 99.201965%, 92.668152%)" offset="0.40625"/><stop stop-opacity="1" stop-color="rgb(92.048645%, 99.171448%, 92.379761%)" offset="0.421875"/><stop stop-opacity="1" stop-color="rgb(91.748047%, 99.139404%, 92.092896%)" offset="0.4375"/><stop stop-opacity="1" stop-color="rgb(91.448975%, 99.108887%, 91.804504%)" offset="0.453125"/><stop stop-opacity="1" stop-color="rgb(91.148376%, 99.076843%, 91.517639%)" offset="0.46875"/><stop stop-opacity="1" stop-color="rgb(90.849304%, 99.046326%, 91.230774%)" offset="0.473169"/><stop stop-opacity="1" stop-color="rgb(90.699768%, 99.031067%, 91.087341%)" offset="0.484375"/><stop stop-opacity="1" stop-color="rgb(90.548706%, 99.014282%, 90.942383%)" offset="0.5"/><stop stop-opacity="1" stop-color="rgb(90.248108%, 98.983765%, 90.655518%)" offset="0.515625"/><stop stop-opacity="1" stop-color="rgb(89.949036%, 98.951721%, 90.367126%)" offset="0.526831"/><stop stop-opacity="1" stop-color="rgb(89.7995%, 98.936462%, 90.223694%)" offset="0.53125"/><stop stop-opacity="1" stop-color="rgb(89.648438%, 98.921204%, 90.080261%)" offset="0.546875"/><stop stop-opacity="1" stop-color="rgb(89.349365%, 98.88916%, 89.793396%)" offset="0.5625"/><stop stop-opacity="1" stop-color="rgb(89.048767%, 98.858643%, 89.505005%)" offset="0.578125"/><stop stop-opacity="1" stop-color="rgb(88.748169%, 98.826599%, 89.21814%)" offset="0.59375"/><stop stop-opacity="1" stop-color="rgb(88.449097%, 98.796082%, 88.929749%)" offset="0.609375"/><stop stop-opacity="1" stop-color="rgb(88.148499%, 98.764038%, 88.642883%)" offset="0.625"/><stop stop-opacity="1" stop-color="rgb(87.849426%, 98.733521%, 88.354492%)" offset="0.640625"/><stop stop-opacity="1" stop-color="rgb(87.548828%, 98.701477%, 88.067627%)" offset="0.65625"/><stop stop-opacity="1" stop-color="rgb(87.24823%, 98.670959%, 87.780762%)" offset="0.671875"/><stop stop-opacity="1" stop-color="rgb(86.949158%, 98.638916%, 87.492371%)" offset="0.6875"/><stop stop-opacity="1" stop-color="rgb(86.64856%, 98.608398%, 87.205505%)" offset="0.703125"/><stop stop-opacity="1" stop-color="rgb(86.349487%, 98.576355%, 86.917114%)" offset="0.71875"/><stop stop-opacity="1" stop-color="rgb(86.048889%, 98.545837%, 86.630249%)" offset="0.734375"/><stop stop-opacity="1" stop-color="rgb(85.748291%, 98.513794%, 86.343384%)" offset="0.75"/><stop stop-opacity="1" stop-color="rgb(85.449219%, 98.483276%, 86.054993%)" offset="0.765625"/><stop stop-opacity="1" stop-color="rgb(85.148621%, 98.452759%, 85.768127%)" offset="0.78125"/><stop stop-opacity="1" stop-color="rgb(84.849548%, 98.420715%, 85.479736%)" offset="0.796875"/><stop stop-opacity="1" stop-color="rgb(84.54895%, 98.390198%, 85.192871%)" offset="0.8125"/><stop stop-opacity="1" stop-color="rgb(84.248352%, 98.358154%, 84.90448%)" offset="0.828125"/><stop stop-opacity="1" stop-color="rgb(83.94928%, 98.327637%, 84.617615%)" offset="0.84375"/><stop stop-opacity="1" stop-color="rgb(83.648682%, 98.295593%, 84.33075%)" offset="0.859375"/><stop stop-opacity="1" stop-color="rgb(83.348083%, 98.265076%, 84.042358%)" offset="0.875"/><stop stop-opacity="1" stop-color="rgb(83.049011%, 98.233032%, 83.755493%)" offset="0.890625"/><stop stop-opacity="1" stop-color="rgb(82.748413%, 98.202515%, 83.467102%)" offset="0.90625"/><stop stop-opacity="1" stop-color="rgb(82.449341%, 98.170471%, 83.180237%)" offset="0.921875"/><stop stop-opacity="1" stop-color="rgb(82.148743%, 98.139954%, 82.893372%)" offset="0.9375"/><stop stop-opacity="1" stop-color="rgb(81.848145%, 98.10791%, 82.60498%)" offset="0.953125"/><stop stop-opacity="1" stop-color="rgb(81.549072%, 98.077393%, 82.318115%)" offset="0.96875"/><stop stop-opacity="1" stop-color="rgb(81.248474%, 98.045349%, 82.029724%)" offset="0.984375"/><stop stop-opacity="1" stop-color="rgb(80.949402%, 98.014832%, 81.742859%)" offset="1"/></linearGradient><clipPath id="6489d7feb9"><path d="M 26.367188 8 L 348.632812 8 L 348.632812 367 L 26.367188 367 Z M 26.367188 8 " clip-rule="nonzero"/></clipPath><clipPath id="8811541f98"><path d="M 213.429688 15.085938 L 322.703125 78.664062 C 338.757812 88.003906 348.632812 105.175781 348.632812 123.75 L 348.632812 251.25 C 348.632812 269.824219 338.757812 286.996094 322.703125 296.335938 L 213.429688 359.914062 C 197.402344 369.238281 177.597656 369.238281 161.570312 359.914062 L 52.296875 296.335938 C 36.242188 286.996094 26.367188 269.824219 26.367188 251.25 L 26.367188 123.75 C 26.367188 105.175781 36.242188 88.003906 52.296875 78.664062 L 161.570312 15.085938 C 177.597656 5.761719 197.402344 5.761719 213.429688 15.085938 Z M 213.429688 15.085938 " clip-rule="nonzero"/></clipPath><clipPath id="5213a98b01"><path d="M 78.128906 100.628906 L 348.828125 100.628906 L 348.828125 318.128906 L 78.128906 318.128906 Z M 78.128906 100.628906 " clip-rule="nonzero"/></clipPath><clipPath id="7f3d6bf434"><path d="M 115.628906 100.628906 L 311.128906 100.628906 C 321.074219 100.628906 330.613281 104.582031 337.644531 111.613281 C 344.679688 118.644531 348.628906 128.183594 348.628906 138.128906 L 348.628906 280.761719 C 348.628906 290.707031 344.679688 300.242188 337.644531 307.277344 C 330.613281 314.308594 321.074219 318.257812 311.128906 318.257812 L 115.628906 318.257812 C 105.683594 318.257812 96.144531 314.308594 89.113281 307.277344 C 82.078125 300.242188 78.128906 290.707031 78.128906 280.761719 L 78.128906 138.128906 C 78.128906 128.183594 82.078125 118.644531 89.113281 111.613281 C 96.144531 104.582031 105.683594 100.628906 115.628906 100.628906 Z M 115.628906 100.628906 " clip-rule="nonzero"/></clipPath><image x="0" y="0" width="271" xlink:href="data:image/png;base64,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" id="087dd76857" height="219" preserveAspectRatio="xMidYMid meet"/><mask id="9af80d150a"><g filter="url(#e882d0151b)"><g><image x="0" y="0" width="271" xlink:href="data:image/png;base64,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" height="219" preserveAspectRatio="xMidYMid meet"/></g></g></mask><clipPath id="6f04c798ba"><rect x="0" width="271" y="0" height="219"/></clipPath><pattern id="f985e7fad8" patternUnits="userSpaceOnUse" width="271" patternTransform="matrix(1.333333, 0, 0, -1.333333, -0.170796, 291.212946)" preserveAspectRatio="xMidYMid meet" viewBox="0 0 271 219" height="219" x="0" y="0"><g><g clip-path="url(#6f04c798ba)"><g mask="url(#9af80d150a)"><rect x="-61.746901" width="404.999983" fill="#3c9f6c" height="404.999973" y="-124.715277" fill-opacity="1"/></g></g></g></pattern></defs><g clip-path="url(#e67dfdd3cb)"><g clip-path="url(#aaae80a724)"><path fill="url(#8866302ba3)" d="M 26.367188 8.089844 L 26.367188 366.90625 L 348.632812 366.90625 L 348.632812 8.089844 Z M 26.367188 8.089844 " fill-rule="nonzero"/></g></g><g clip-path="url(#6489d7feb9)"><g clip-path="url(#8811541f98)"><path stroke-linecap="butt" transform="matrix(0.75, 0, 0, 0.75, 26.36719, 0)" fill="none" stroke-linejoin="miter" d="M 249.416663 20.114583 L 395.11458 104.885417 C 416.52083 117.338542 429.687497 140.234375 429.687497 165 L 429.687497 335.000001 C 429.687497 359.765626 416.52083 382.661459 395.11458 395.114584 L 249.416663 479.885417 C 228.046872 492.317709 201.640622 492.317709 180.27083 479.885417 L 34.572913 395.114584 C 13.166663 382.661459 -0.00000361141 359.765626 -0.00000361141 335.000001 L -0.00000361141 165 C -0.00000361141 140.234375 13.166663 117.338542 34.572913 104.885417 L 180.27083 20.114583 C 201.640622 7.682292 228.046872 7.682292 249.416663 20.114583 Z M 249.416663 20.114583 " stroke="#3c9f6c" stroke-width="50" stroke-opacity="1" stroke-miterlimit="4"/></g></g><g clip-path="url(#5213a98b01)"><g clip-path="url(#7f3d6bf434)"><path stroke-linecap="butt" transform="matrix(0.75, 0, 0, 0.75, 78.128099, 100.630277)" fill="none" stroke-linejoin="miter" d="M 50.001079 -0.00182819 L 310.667763 -0.00182819 C 323.92818 -0.00182819 336.646931 5.269005 346.021932 14.644006 C 355.402141 24.019007 360.667766 36.737758 360.667766 49.998175 L 360.667766 240.175271 C 360.667766 253.435688 355.402141 266.149231 346.021932 275.52944 C 336.646931 284.904441 323.92818 290.170066 310.667763 290.170066 L 50.001079 290.170066 C 36.740662 290.170066 24.021911 284.904441 14.64691 275.52944 C 5.266701 266.149231 0.00107584 253.435688 0.00107584 240.175271 L 0.00107584 49.998175 C 0.00107584 36.737758 5.266701 24.019007 14.64691 14.644006 C 24.021911 5.269005 36.740662 -0.00182819 50.001079 -0.00182819 Z M 50.001079 -0.00182819 " stroke="url(#f985e7fad8)" stroke-width="50" stroke-miterlimit="4"/></g></g><g fill="#3c9f6c" fill-opacity="1"><g transform="translate(117.300378, 257.283468)"><g><path d="M 4.90625 -110.84375 L 35.484375 -110.84375 C 43.398438 -110.84375 49.335938 -108.648438 53.296875 -104.265625 C 57.253906 -99.878906 59.273438 -93.382812 59.359375 -84.78125 L 59.625 -32.90625 C 59.707031 -21.976562 57.8125 -13.757812 53.9375 -8.25 C 50.070312 -2.75 43.664062 0 34.71875 0 L 4.90625 0 Z M 31.09375 -19.609375 C 35.144531 -19.609375 37.171875 -21.585938 37.171875 -25.546875 L 37.171875 -82.71875 C 37.171875 -85.21875 36.972656 -87.085938 36.578125 -88.328125 C 36.191406 -89.578125 35.484375 -90.414062 34.453125 -90.84375 C 33.421875 -91.28125 31.832031 -91.5 29.6875 -91.5 L 27.234375 -91.5 L 27.234375 -19.609375 Z M 31.09375 -19.609375 "/></g></g></g><g fill="#3c9f6c" fill-opacity="1"><g transform="translate(180.923185, 257.283468)"><g><path d="M 14.453125 0 L 14.453125 -89.5625 L 1.296875 -89.5625 L 1.296875 -110.84375 L 49.8125 -110.84375 L 49.8125 -89.5625 L 36.65625 -89.5625 L 36.65625 0 Z M 14.453125 0 "/></g></g></g><g fill="#3c9f6c" fill-opacity="1"><g transform="translate(232.027914, 257.283468)"><g><path d="M 4.90625 0 L 4.90625 -110.84375 L 26.84375 -110.84375 L 26.84375 -66.453125 L 37.171875 -110.84375 L 59.484375 -110.84375 L 47.109375 -60.140625 L 62.078125 0 L 39.09375 0 L 26.96875 -53.6875 L 26.96875 0 Z M 4.90625 0 "/></g></g></g></svg> \ No newline at end of file diff --git a/src/assets/tags/ubuntu-small.png b/src/assets/tags/ubuntu-small.png deleted file mode 100644 index ac173fe..0000000 Binary files a/src/assets/tags/ubuntu-small.png and /dev/null differ diff --git a/src/assets/tags/uos-authorize.svg b/src/assets/tags/uos-authorize.svg deleted file mode 100644 index 0636fe9..0000000 --- a/src/assets/tags/uos-authorize.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="80" zoomAndPan="magnify" viewBox="0 0 60 60" height="80" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/><clipPath id="41b0cdf4f2"><path d="M 4.21875 1.292969 L 55.78125 1.292969 L 55.78125 58.703125 L 4.21875 58.703125 Z M 4.21875 1.292969 " clip-rule="nonzero"/></clipPath><clipPath id="6d2779c255"><path d="M 34.148438 2.414062 L 51.632812 12.585938 C 54.199219 14.082031 55.78125 16.828125 55.78125 19.800781 L 55.78125 40.199219 C 55.78125 43.171875 54.199219 45.917969 51.632812 47.414062 L 34.148438 57.585938 C 31.585938 59.078125 28.414062 59.078125 25.851562 57.585938 L 8.367188 47.414062 C 5.800781 45.917969 4.21875 43.171875 4.21875 40.199219 L 4.21875 19.800781 C 4.21875 16.828125 5.800781 14.082031 8.367188 12.585938 L 25.851562 2.414062 C 28.414062 0.921875 31.585938 0.921875 34.148438 2.414062 Z M 34.148438 2.414062 " clip-rule="nonzero"/></clipPath><linearGradient x1="-7.258985" gradientTransform="matrix(0.201416, 0, 0, 0.201416, 4.21875, -0.000036)" y1="13.687015" x2="263.258467" gradientUnits="userSpaceOnUse" y2="284.203477" id="b14475ed5c"><stop stop-opacity="1" stop-color="rgb(99.998474%, 99.998474%, 100%)" offset="0"/><stop stop-opacity="1" stop-color="rgb(99.87793%, 99.984741%, 100%)" offset="0.0078125"/><stop stop-opacity="1" stop-color="rgb(99.635315%, 99.958801%, 100%)" offset="0.015625"/><stop stop-opacity="1" stop-color="rgb(99.3927%, 99.931335%, 100%)" offset="0.0234375"/><stop stop-opacity="1" stop-color="rgb(99.151611%, 99.90387%, 100%)" offset="0.03125"/><stop stop-opacity="1" stop-color="rgb(98.908997%, 99.876404%, 100%)" offset="0.0390625"/><stop stop-opacity="1" stop-color="rgb(98.666382%, 99.848938%, 100%)" offset="0.046875"/><stop stop-opacity="1" stop-color="rgb(98.423767%, 99.821472%, 100%)" offset="0.0546875"/><stop stop-opacity="1" stop-color="rgb(98.182678%, 99.794006%, 100%)" offset="0.0625"/><stop stop-opacity="1" stop-color="rgb(97.940063%, 99.766541%, 100%)" offset="0.0703125"/><stop stop-opacity="1" stop-color="rgb(97.697449%, 99.739075%, 100%)" offset="0.078125"/><stop stop-opacity="1" stop-color="rgb(97.45636%, 99.711609%, 100%)" offset="0.0859375"/><stop stop-opacity="1" stop-color="rgb(97.213745%, 99.684143%, 100%)" offset="0.09375"/><stop stop-opacity="1" stop-color="rgb(96.97113%, 99.656677%, 100%)" offset="0.101562"/><stop stop-opacity="1" stop-color="rgb(96.728516%, 99.630737%, 100%)" offset="0.109375"/><stop stop-opacity="1" stop-color="rgb(96.487427%, 99.603271%, 100%)" offset="0.117187"/><stop stop-opacity="1" stop-color="rgb(96.244812%, 99.575806%, 100%)" offset="0.125"/><stop stop-opacity="1" stop-color="rgb(96.002197%, 99.54834%, 100%)" offset="0.132812"/><stop stop-opacity="1" stop-color="rgb(95.761108%, 99.520874%, 100%)" offset="0.140625"/><stop stop-opacity="1" stop-color="rgb(95.518494%, 99.493408%, 100%)" offset="0.148438"/><stop stop-opacity="1" stop-color="rgb(95.275879%, 99.465942%, 100%)" offset="0.15625"/><stop stop-opacity="1" stop-color="rgb(95.033264%, 99.438477%, 100%)" offset="0.164062"/><stop stop-opacity="1" stop-color="rgb(94.792175%, 99.411011%, 100%)" offset="0.171875"/><stop stop-opacity="1" stop-color="rgb(94.549561%, 99.383545%, 100%)" offset="0.179688"/><stop stop-opacity="1" stop-color="rgb(94.306946%, 99.356079%, 100%)" offset="0.1875"/><stop stop-opacity="1" stop-color="rgb(94.065857%, 99.328613%, 100%)" offset="0.195312"/><stop stop-opacity="1" stop-color="rgb(93.823242%, 99.302673%, 100%)" offset="0.203125"/><stop stop-opacity="1" stop-color="rgb(93.580627%, 99.275208%, 100%)" offset="0.210938"/><stop stop-opacity="1" stop-color="rgb(93.338013%, 99.247742%, 100%)" offset="0.21875"/><stop stop-opacity="1" stop-color="rgb(93.096924%, 99.220276%, 100%)" offset="0.226562"/><stop stop-opacity="1" stop-color="rgb(92.854309%, 99.19281%, 100%)" offset="0.234375"/><stop stop-opacity="1" stop-color="rgb(92.611694%, 99.165344%, 100%)" offset="0.242188"/><stop stop-opacity="1" stop-color="rgb(92.36908%, 99.137878%, 100%)" offset="0.25"/><stop stop-opacity="1" stop-color="rgb(92.127991%, 99.110413%, 100%)" offset="0.257812"/><stop stop-opacity="1" stop-color="rgb(91.885376%, 99.082947%, 100%)" offset="0.265625"/><stop stop-opacity="1" stop-color="rgb(91.642761%, 99.055481%, 100%)" offset="0.273438"/><stop stop-opacity="1" stop-color="rgb(91.401672%, 99.028015%, 100%)" offset="0.28125"/><stop stop-opacity="1" stop-color="rgb(91.159058%, 99.000549%, 100%)" offset="0.289062"/><stop stop-opacity="1" stop-color="rgb(90.916443%, 98.973083%, 100%)" offset="0.296875"/><stop stop-opacity="1" stop-color="rgb(90.673828%, 98.947144%, 100%)" offset="0.304687"/><stop stop-opacity="1" stop-color="rgb(90.432739%, 98.919678%, 100%)" offset="0.3125"/><stop stop-opacity="1" stop-color="rgb(90.190125%, 98.892212%, 100%)" offset="0.320312"/><stop stop-opacity="1" stop-color="rgb(89.94751%, 98.864746%, 100%)" offset="0.328125"/><stop stop-opacity="1" stop-color="rgb(89.706421%, 98.83728%, 100%)" offset="0.335938"/><stop stop-opacity="1" stop-color="rgb(89.463806%, 98.809814%, 100%)" offset="0.34375"/><stop stop-opacity="1" stop-color="rgb(89.221191%, 98.782349%, 100%)" offset="0.351562"/><stop stop-opacity="1" stop-color="rgb(88.978577%, 98.754883%, 100%)" offset="0.359375"/><stop stop-opacity="1" stop-color="rgb(88.737488%, 98.727417%, 100%)" offset="0.367188"/><stop stop-opacity="1" stop-color="rgb(88.494873%, 98.699951%, 100%)" offset="0.375"/><stop stop-opacity="1" stop-color="rgb(88.252258%, 98.672485%, 100%)" offset="0.382812"/><stop stop-opacity="1" stop-color="rgb(88.011169%, 98.64502%, 100%)" offset="0.390625"/><stop stop-opacity="1" stop-color="rgb(87.768555%, 98.61908%, 100%)" offset="0.398438"/><stop stop-opacity="1" stop-color="rgb(87.52594%, 98.591614%, 100%)" offset="0.40625"/><stop stop-opacity="1" stop-color="rgb(87.283325%, 98.564148%, 100%)" offset="0.414062"/><stop stop-opacity="1" stop-color="rgb(87.042236%, 98.536682%, 100%)" offset="0.421875"/><stop stop-opacity="1" stop-color="rgb(86.799622%, 98.509216%, 100%)" offset="0.429687"/><stop stop-opacity="1" stop-color="rgb(86.557007%, 98.48175%, 100%)" offset="0.4375"/><stop stop-opacity="1" stop-color="rgb(86.314392%, 98.454285%, 100%)" offset="0.445312"/><stop stop-opacity="1" stop-color="rgb(86.073303%, 98.426819%, 100%)" offset="0.453125"/><stop stop-opacity="1" stop-color="rgb(85.830688%, 98.399353%, 100%)" offset="0.460937"/><stop stop-opacity="1" stop-color="rgb(85.588074%, 98.371887%, 100%)" offset="0.46875"/><stop stop-opacity="1" stop-color="rgb(85.346985%, 98.344421%, 100%)" offset="0.473169"/><stop stop-opacity="1" stop-color="rgb(85.22644%, 98.330688%, 100%)" offset="0.476562"/><stop stop-opacity="1" stop-color="rgb(85.10437%, 98.316956%, 100%)" offset="0.484375"/><stop stop-opacity="1" stop-color="rgb(84.861755%, 98.28949%, 100%)" offset="0.492187"/><stop stop-opacity="1" stop-color="rgb(84.619141%, 98.26355%, 100%)" offset="0.5"/><stop stop-opacity="1" stop-color="rgb(84.378052%, 98.236084%, 100%)" offset="0.507812"/><stop stop-opacity="1" stop-color="rgb(84.135437%, 98.208618%, 100%)" offset="0.515625"/><stop stop-opacity="1" stop-color="rgb(83.892822%, 98.181152%, 100%)" offset="0.523438"/><stop stop-opacity="1" stop-color="rgb(83.651733%, 98.153687%, 100%)" offset="0.526831"/><stop stop-opacity="1" stop-color="rgb(83.531189%, 98.139954%, 100%)" offset="0.53125"/><stop stop-opacity="1" stop-color="rgb(83.409119%, 98.126221%, 100%)" offset="0.539062"/><stop stop-opacity="1" stop-color="rgb(83.166504%, 98.098755%, 100%)" offset="0.546875"/><stop stop-opacity="1" stop-color="rgb(82.923889%, 98.071289%, 100%)" offset="0.554687"/><stop stop-opacity="1" stop-color="rgb(82.6828%, 98.043823%, 100%)" offset="0.5625"/><stop stop-opacity="1" stop-color="rgb(82.440186%, 98.016357%, 100%)" offset="0.570313"/><stop stop-opacity="1" stop-color="rgb(82.197571%, 97.988892%, 100%)" offset="0.578125"/><stop stop-opacity="1" stop-color="rgb(81.956482%, 97.961426%, 100%)" offset="0.585938"/><stop stop-opacity="1" stop-color="rgb(81.713867%, 97.935486%, 100%)" offset="0.59375"/><stop stop-opacity="1" stop-color="rgb(81.471252%, 97.90802%, 100%)" offset="0.601562"/><stop stop-opacity="1" stop-color="rgb(81.228638%, 97.880554%, 100%)" offset="0.609375"/><stop stop-opacity="1" stop-color="rgb(80.987549%, 97.853088%, 100%)" offset="0.617187"/><stop stop-opacity="1" stop-color="rgb(80.744934%, 97.825623%, 100%)" offset="0.625"/><stop stop-opacity="1" stop-color="rgb(80.502319%, 97.798157%, 100%)" offset="0.632812"/><stop stop-opacity="1" stop-color="rgb(80.259705%, 97.770691%, 100%)" offset="0.640625"/><stop stop-opacity="1" stop-color="rgb(80.018616%, 97.743225%, 100%)" offset="0.648438"/><stop stop-opacity="1" stop-color="rgb(79.776001%, 97.715759%, 100%)" offset="0.65625"/><stop stop-opacity="1" stop-color="rgb(79.533386%, 97.688293%, 100%)" offset="0.664062"/><stop stop-opacity="1" stop-color="rgb(79.292297%, 97.660828%, 100%)" offset="0.671875"/><stop stop-opacity="1" stop-color="rgb(79.049683%, 97.633362%, 100%)" offset="0.679688"/><stop stop-opacity="1" stop-color="rgb(78.807068%, 97.605896%, 100%)" offset="0.6875"/><stop stop-opacity="1" stop-color="rgb(78.564453%, 97.579956%, 100%)" offset="0.695312"/><stop stop-opacity="1" stop-color="rgb(78.323364%, 97.55249%, 100%)" offset="0.703125"/><stop stop-opacity="1" stop-color="rgb(78.08075%, 97.525024%, 100%)" offset="0.710937"/><stop stop-opacity="1" stop-color="rgb(77.838135%, 97.497559%, 100%)" offset="0.71875"/><stop stop-opacity="1" stop-color="rgb(77.597046%, 97.470093%, 100%)" offset="0.726563"/><stop stop-opacity="1" stop-color="rgb(77.354431%, 97.442627%, 100%)" offset="0.734375"/><stop stop-opacity="1" stop-color="rgb(77.111816%, 97.415161%, 100%)" offset="0.742188"/><stop stop-opacity="1" stop-color="rgb(76.869202%, 97.387695%, 100%)" offset="0.75"/><stop stop-opacity="1" stop-color="rgb(76.628113%, 97.360229%, 100%)" offset="0.757812"/><stop stop-opacity="1" stop-color="rgb(76.385498%, 97.332764%, 100%)" offset="0.765625"/><stop stop-opacity="1" stop-color="rgb(76.142883%, 97.305298%, 100%)" offset="0.773437"/><stop stop-opacity="1" stop-color="rgb(75.901794%, 97.277832%, 100%)" offset="0.78125"/><stop stop-opacity="1" stop-color="rgb(75.65918%, 97.251892%, 100%)" offset="0.789062"/><stop stop-opacity="1" stop-color="rgb(75.416565%, 97.224426%, 100%)" offset="0.796875"/><stop stop-opacity="1" stop-color="rgb(75.17395%, 97.19696%, 100%)" offset="0.804688"/><stop stop-opacity="1" stop-color="rgb(74.932861%, 97.169495%, 100%)" offset="0.8125"/><stop stop-opacity="1" stop-color="rgb(74.690247%, 97.142029%, 100%)" offset="0.820312"/><stop stop-opacity="1" stop-color="rgb(74.447632%, 97.114563%, 100%)" offset="0.828125"/><stop stop-opacity="1" stop-color="rgb(74.205017%, 97.087097%, 100%)" offset="0.835938"/><stop stop-opacity="1" stop-color="rgb(73.963928%, 97.059631%, 100%)" offset="0.84375"/><stop stop-opacity="1" stop-color="rgb(73.721313%, 97.032166%, 100%)" offset="0.851562"/><stop stop-opacity="1" stop-color="rgb(73.478699%, 97.0047%, 100%)" offset="0.859375"/><stop stop-opacity="1" stop-color="rgb(73.23761%, 96.977234%, 100%)" offset="0.867187"/><stop stop-opacity="1" stop-color="rgb(72.994995%, 96.949768%, 100%)" offset="0.875"/><stop stop-opacity="1" stop-color="rgb(72.75238%, 96.922302%, 100%)" offset="0.882813"/><stop stop-opacity="1" stop-color="rgb(72.509766%, 96.896362%, 100%)" offset="0.890625"/><stop stop-opacity="1" stop-color="rgb(72.268677%, 96.868896%, 100%)" offset="0.898438"/><stop stop-opacity="1" stop-color="rgb(72.026062%, 96.841431%, 100%)" offset="0.90625"/><stop stop-opacity="1" stop-color="rgb(71.783447%, 96.813965%, 100%)" offset="0.914062"/><stop stop-opacity="1" stop-color="rgb(71.542358%, 96.786499%, 100%)" offset="0.921875"/><stop stop-opacity="1" stop-color="rgb(71.299744%, 96.759033%, 100%)" offset="0.929688"/><stop stop-opacity="1" stop-color="rgb(71.057129%, 96.731567%, 100%)" offset="0.9375"/><stop stop-opacity="1" stop-color="rgb(70.814514%, 96.704102%, 100%)" offset="0.945312"/><stop stop-opacity="1" stop-color="rgb(70.573425%, 96.676636%, 100%)" offset="0.953125"/><stop stop-opacity="1" stop-color="rgb(70.330811%, 96.64917%, 100%)" offset="0.960938"/><stop stop-opacity="1" stop-color="rgb(70.088196%, 96.621704%, 100%)" offset="0.96875"/><stop stop-opacity="1" stop-color="rgb(69.847107%, 96.594238%, 100%)" offset="0.976563"/><stop stop-opacity="1" stop-color="rgb(69.604492%, 96.568298%, 100%)" offset="0.984375"/><stop stop-opacity="1" stop-color="rgb(69.361877%, 96.540833%, 100%)" offset="0.992188"/><stop stop-opacity="1" stop-color="rgb(69.119263%, 96.513367%, 100%)" offset="1"/></linearGradient><clipPath id="09ea6337d0"><path d="M 4.21875 1 L 55.78125 1 L 55.78125 59 L 4.21875 59 Z M 4.21875 1 " clip-rule="nonzero"/></clipPath><clipPath id="8f66e4c53a"><path d="M 34.148438 2.414062 L 51.632812 12.585938 C 54.199219 14.082031 55.78125 16.828125 55.78125 19.800781 L 55.78125 40.199219 C 55.78125 43.171875 54.199219 45.917969 51.632812 47.414062 L 34.148438 57.585938 C 31.585938 59.078125 28.414062 59.078125 25.851562 57.585938 L 8.367188 47.414062 C 5.800781 45.917969 4.21875 43.171875 4.21875 40.199219 L 4.21875 19.800781 C 4.21875 16.828125 5.800781 14.082031 8.367188 12.585938 L 25.851562 2.414062 C 28.414062 0.921875 31.585938 0.921875 34.148438 2.414062 Z M 34.148438 2.414062 " clip-rule="nonzero"/></clipPath></defs><g clip-path="url(#41b0cdf4f2)"><g clip-path="url(#6d2779c255)"><path fill="url(#b14475ed5c)" d="M 4.21875 1.292969 L 4.21875 58.703125 L 55.78125 58.703125 L 55.78125 1.292969 Z M 4.21875 1.292969 " fill-rule="nonzero"/></g></g><g clip-path="url(#09ea6337d0)"><g clip-path="url(#8f66e4c53a)"><path stroke-linecap="butt" transform="matrix(0.75, 0, 0, 0.75, 4.21875, 0.000002)" fill="none" stroke-linejoin="miter" d="M 39.906252 3.218747 L 63.218753 16.781248 C 66.640628 18.77604 68.750003 22.437498 68.750003 26.40104 L 68.750003 53.598958 C 68.750003 57.5625 66.640628 61.223958 63.218753 63.21875 L 39.906252 76.781251 C 36.489585 78.770834 32.260418 78.770834 28.843751 76.781251 L 5.53125 63.21875 C 2.109375 61.223958 0.000000234375 57.5625 0.000000234375 53.598958 L 0.000000234375 26.40104 C 0.000000234375 22.437498 2.109375 18.77604 5.53125 16.781248 L 28.843751 3.218747 C 32.260418 1.229164 36.489585 1.229164 39.906252 3.218747 Z M 39.906252 3.218747 " stroke="#159d99" stroke-width="8" stroke-opacity="1" stroke-miterlimit="4"/></g></g><g fill="#159d99" fill-opacity="1"><g transform="translate(13.7693, 40.232788)"><g><path d="M 5.40625 0.1875 C 3.800781 0.1875 2.601562 -0.269531 1.8125 -1.1875 C 1.03125 -2.101562 0.640625 -3.457031 0.640625 -5.25 L 0.640625 -19.625 L 4.453125 -19.625 L 4.453125 -5.40625 C 4.453125 -4.789062 4.507812 -4.304688 4.625 -3.953125 C 4.75 -3.597656 5.007812 -3.421875 5.40625 -3.421875 C 5.8125 -3.421875 6.070312 -3.59375 6.1875 -3.9375 C 6.3125 -4.28125 6.375 -4.769531 6.375 -5.40625 L 6.375 -19.625 L 10.1875 -19.625 L 10.1875 -5.25 C 10.1875 -3.457031 9.789062 -2.101562 9 -1.1875 C 8.21875 -0.269531 7.019531 0.1875 5.40625 0.1875 Z M 5.40625 0.1875 "/></g></g></g><g fill="#159d99" fill-opacity="1"><g transform="translate(24.597123, 40.232788)"><g><path d="M 5.546875 0.1875 C 3.960938 0.1875 2.757812 -0.296875 1.9375 -1.265625 C 1.113281 -2.234375 0.703125 -3.59375 0.703125 -5.34375 L 0.703125 -14.6875 C 0.703125 -16.375 1.113281 -17.648438 1.9375 -18.515625 C 2.757812 -19.378906 3.960938 -19.8125 5.546875 -19.8125 C 7.128906 -19.8125 8.332031 -19.378906 9.15625 -18.515625 C 9.976562 -17.648438 10.390625 -16.375 10.390625 -14.6875 L 10.390625 -5.34375 C 10.390625 -3.582031 9.976562 -2.21875 9.15625 -1.25 C 8.332031 -0.289062 7.128906 0.1875 5.546875 0.1875 Z M 5.546875 -3.421875 C 5.898438 -3.421875 6.132812 -3.570312 6.25 -3.875 C 6.375 -4.1875 6.4375 -4.613281 6.4375 -5.15625 L 6.4375 -14.75 C 6.4375 -15.175781 6.378906 -15.523438 6.265625 -15.796875 C 6.148438 -16.066406 5.921875 -16.203125 5.578125 -16.203125 C 4.921875 -16.203125 4.59375 -15.707031 4.59375 -14.71875 L 4.59375 -5.140625 C 4.59375 -4.578125 4.660156 -4.148438 4.796875 -3.859375 C 4.929688 -3.566406 5.179688 -3.421875 5.546875 -3.421875 Z M 5.546875 -3.421875 "/></g></g></g><g fill="#159d99" fill-opacity="1"><g transform="translate(35.69907, 40.232788)"><g><path d="M 5.53125 0.1875 C 3.75 0.1875 2.460938 -0.253906 1.671875 -1.140625 C 0.878906 -2.023438 0.484375 -3.445312 0.484375 -5.40625 L 0.484375 -7.328125 L 4.34375 -7.328125 L 4.34375 -4.890625 C 4.34375 -3.910156 4.65625 -3.421875 5.28125 -3.421875 C 5.625 -3.421875 5.863281 -3.523438 6 -3.734375 C 6.144531 -3.941406 6.21875 -4.289062 6.21875 -4.78125 C 6.21875 -5.414062 6.140625 -5.941406 5.984375 -6.359375 C 5.828125 -6.773438 5.628906 -7.125 5.390625 -7.40625 C 5.160156 -7.6875 4.742188 -8.125 4.140625 -8.71875 L 2.4375 -10.421875 C 1.132812 -11.691406 0.484375 -13.109375 0.484375 -14.671875 C 0.484375 -16.335938 0.863281 -17.609375 1.625 -18.484375 C 2.394531 -19.367188 3.519531 -19.8125 5 -19.8125 C 6.769531 -19.8125 8.039062 -19.34375 8.8125 -18.40625 C 9.59375 -17.46875 9.984375 -16 9.984375 -14 L 5.984375 -14 L 5.96875 -15.34375 C 5.96875 -15.601562 5.894531 -15.8125 5.75 -15.96875 C 5.601562 -16.125 5.398438 -16.203125 5.140625 -16.203125 C 4.835938 -16.203125 4.609375 -16.113281 4.453125 -15.9375 C 4.296875 -15.769531 4.21875 -15.546875 4.21875 -15.265625 C 4.21875 -14.617188 4.585938 -13.953125 5.328125 -13.265625 L 7.609375 -11.078125 C 8.140625 -10.554688 8.578125 -10.0625 8.921875 -9.59375 C 9.273438 -9.132812 9.554688 -8.585938 9.765625 -7.953125 C 9.984375 -7.328125 10.09375 -6.582031 10.09375 -5.71875 C 10.09375 -3.78125 9.738281 -2.3125 9.03125 -1.3125 C 8.320312 -0.3125 7.15625 0.1875 5.53125 0.1875 Z M 5.53125 0.1875 "/></g></g></g></svg> \ No newline at end of file diff --git a/src/assets/tags/uos-small.png b/src/assets/tags/uos-small.png deleted file mode 100644 index be8add4..0000000 Binary files a/src/assets/tags/uos-small.png and /dev/null differ diff --git a/src/pages/appintopage.cpp b/src/pages/appintopage.cpp index 8152db4..4e22bd8 100644 --- a/src/pages/appintopage.cpp +++ b/src/pages/appintopage.cpp @@ -562,7 +562,7 @@ void AppIntoPage::on_pushButton_3_clicked() ui->pushButton_3->setEnabled(false); QProcess uninstall; - uninstall.start("pkexec", QStringList() << "apt" << "autopurge" << "-y" << info["Pkgname"].toString().toLower()); + uninstall.start("pkexec", QStringList() << "/opt/durapps/spark-store/bin/store-helper/uninstaller" << info["Pkgname"].toString().toLower()); uninstall.waitForFinished(-1); uninstall.close(); @@ -595,16 +595,6 @@ void AppIntoPage::on_shareButton_clicked() void AppIntoPage::on_updateButton_clicked() { - QString feedbackSpk = "spk://store/chat/store.spark-app.feedback"; - QFileInfo actionSubmissionClientStatus("/opt/durapps/store.spark-app.feedback"); - if (actionSubmissionClientStatus.exists() && actionSubmissionClientStatus.isDir()) - { - qDebug() << "反馈器存在"; - QProcess::startDetached("sh", QStringList() << "/opt/durapps/store.spark-app.feedback/launch.sh"); - } - else - { - qDebug() << "反馈器不存在,跳转页面"; - openUrl(feedbackSpk); - } -} + QString feedbackURL = "https://bbs.spark-app.store/"; + QProcess::startDetached("xdg-open", QStringList{feedbackURL}); +} \ No newline at end of file diff --git a/src/pages/appintopage.ui b/src/pages/appintopage.ui index 3977dc7..7492a61 100644 --- a/src/pages/appintopage.ui +++ b/src/pages/appintopage.ui @@ -363,6 +363,19 @@ </item> </layout> </item> + <item> + <spacer name="verticalSpacer_9"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_4"> <item> @@ -383,7 +396,7 @@ <property name="maximumSize"> <size> <width>40</width> - <height>16777215</height> + <height>40</height> </size> </property> <property name="toolTip"> @@ -392,8 +405,8 @@ <property name="whatsThis"> <string><html><head/><body><p>Capable to Ubuntu 22.04</p></body></html></string> </property> - <property name="text"> - <string><html><head/><body><p><img src=":/tags/ubuntu.png" height=40 width=40 /></p></body></html></string> + <property name="pixmap"> + <pixmap resource="../assets/assets.qrc">:/tags/ubuntu.png</pixmap> </property> </widget> </item> @@ -402,7 +415,7 @@ <property name="maximumSize"> <size> <width>40</width> - <height>16777215</height> + <height>40</height> </size> </property> <property name="toolTip"> @@ -411,8 +424,8 @@ <property name="whatsThis"> <string><html><head/><body><p>Capable to UOS home 20</p></body></html></string> </property> - <property name="text"> - <string><html><head/><body><p><img src=":/tags/uos-authorize.svg" height=40 width=40 /></p></body></html></string> + <property name="pixmap"> + <pixmap resource="../assets/assets.qrc">:/tags/uos.png</pixmap> </property> </widget> </item> @@ -421,7 +434,7 @@ <property name="maximumSize"> <size> <width>40</width> - <height>16777215</height> + <height>40</height> </size> </property> <property name="toolTip"> @@ -430,21 +443,27 @@ <property name="whatsThis"> <string><html><head/><body><p>Capable to deepin 23</p></body></html></string> </property> - <property name="text"> - <string><html><head/><body><p><img src=":/tags/deepin.svg" height=40 width=40 /></p></body></html></string> + <property name="pixmap"> + <pixmap resource="../assets/assets.qrc">:/tags/deepin.png</pixmap> </property> </widget> </item> <item> <widget class="QLabel" name="tag_debian"> + <property name="maximumSize"> + <size> + <width>40</width> + <height>40</height> + </size> + </property> <property name="toolTip"> <string><html><head/><body><p>Capable to Debian Stable</p></body></html></string> </property> <property name="whatsThis"> <string><html><head/><body><p>Capable to Debian Stable</p></body></html></string> </property> - <property name="text"> - <string><html><head/><body><p><img src=":/tags/debian.svg" height=40 width=40 /></p></body></html></string> + <property name="pixmap"> + <pixmap resource="../assets/assets.qrc">:/tags/debian.png</pixmap> </property> </widget> </item> @@ -463,22 +482,6 @@ </item> </layout> </item> - <item> - <spacer name="verticalSpacer_9"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Expanding</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_13"> <item> @@ -499,7 +502,7 @@ <property name="maximumSize"> <size> <width>40</width> - <height>16777215</height> + <height>40</height> </size> </property> <property name="toolTip"> @@ -508,8 +511,8 @@ <property name="whatsThis"> <string><html><head/><body><p>An Appimage to deb app.</p></body></html></string> </property> - <property name="text"> - <string><html><head/><body><p><img src=":/tags/a2d.png"height=40 width=40 /></p></body></html></string> + <property name="pixmap"> + <pixmap resource="../assets/assets.qrc">:/tags/a2d.png</pixmap> </property> </widget> </item> @@ -518,7 +521,7 @@ <property name="maximumSize"> <size> <width>40</width> - <height>16777215</height> + <height>40</height> </size> </property> <property name="toolTip"> @@ -527,8 +530,8 @@ <property name="whatsThis"> <string><html><head/><body><p>This app is developed by community user,we give this tag to honor those who contribute to the Linux Ecology</p></body></html></string> </property> - <property name="text"> - <string><html><head/><body><p><img src=":/tags/community.svg" height=40 width=40 /></p></body></html></string> + <property name="pixmap"> + <pixmap resource="../assets/assets.qrc">:/tags/community.png</pixmap> </property> </widget> </item> @@ -537,7 +540,7 @@ <property name="maximumSize"> <size> <width>40</width> - <height>16777215</height> + <height>40</height> </size> </property> <property name="toolTip"> @@ -546,8 +549,8 @@ <property name="whatsThis"> <string><html><head/><body><p>This is a DTK5 app,which means it would have better effect on Deepin Desktop Environment</p></body></html></string> </property> - <property name="text"> - <string><html><head/><body><p><img src=":/tags/logo_icon.svg" height=40 width=40 /></p></body></html></string> + <property name="pixmap"> + <pixmap resource="../assets/assets.qrc">:/tags/dtk.png</pixmap> </property> </widget> </item> @@ -556,7 +559,7 @@ <property name="maximumSize"> <size> <width>40</width> - <height>16777215</height> + <height>40</height> </size> </property> <property name="toolTip"> @@ -565,8 +568,8 @@ <property name="whatsThis"> <string><html><head/><body><p>A deepin-wine2 app. Spark Store will automatically configure the wine kit for you.</p></body></html></string> </property> - <property name="text"> - <string><html><head/><body><p><img src=":/tags/dwine2-small.png" height=40 width=40 ></p></body></html></string> + <property name="pixmap"> + <pixmap resource="../assets/assets.qrc">:/tags/dwine2.png</pixmap> </property> </widget> </item> @@ -575,7 +578,7 @@ <property name="maximumSize"> <size> <width>40</width> - <height>16777215</height> + <height>40</height> </size> </property> <property name="toolTip"> @@ -584,8 +587,8 @@ <property name="whatsThis"> <string><html><head/><body><p>A Wine app.Spark Store will automatically configure the wine kit for you</p></body></html></string> </property> - <property name="text"> - <string><html><head/><body><p><img src=":/tags/dwine5.svg" height=40 width=40 /></p></body></html></string> + <property name="pixmap"> + <pixmap resource="../assets/assets.qrc">:/tags/dwine5.png</pixmap> </property> </widget> </item> @@ -1449,6 +1452,8 @@ QListWidget::item::selected </item> </layout> </widget> - <resources/> + <resources> + <include location="../assets/assets.qrc"/> + </resources> <connections/> </ui> diff --git a/tool/ssaudit b/tool/ssaudit index 711fd4e..06897c9 100755 --- a/tool/ssaudit +++ b/tool/ssaudit @@ -4,6 +4,7 @@ source /opt/durapps/spark-store/bin/bashimport/transhell.amber load_transhell_debug export DEBIAN_FRONTEND=noninteractive +trap 'unlock_file $DEBPATH' EXIT case $(arch) in x86_64) STORE_URL="store" @@ -11,9 +12,13 @@ case $(arch) in aarch64) STORE_URL="aarch64-store" ;; + loongarch64) + STORE_URL="loong64-store" + STORE_LIST_URL="-loong64" + ;; esac -echo "Spark Store Install script. 星火商店审核脚本" +echo "Spark Store Audit script. 星火商店审核脚本" function pkexec_as_current_user() { local user=$(who | awk '{print $1}' | head -n 1) @@ -47,6 +52,7 @@ function exec_create_desktop_file() { } + function zenity() { local user=$(who | awk '{print $1}' | head -n 1) local uid=$(id -u "$user") @@ -54,19 +60,19 @@ function zenity() { } function hash_check() { - if [ ! -e "/var/lib/aptss/lists/cdn.d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && \ + if [ ! -e "/var/lib/aptss/lists/d.spark-app.store_${STORE_URL}_Packages" ] && \ [ ! -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && \ - [ ! -e "/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" ]; then + [ ! -e "/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store_${STORE_URL}_Packages" ]; then echo "接收星火仓库软件信息中..." aptss ssupdate fi - if [ -e "/var/lib/aptss/lists/cdn.d.store.deepinos.org.cn_${STORE_URL}_Packages" ]; then - PACKAGES_DATA_PATH="/var/lib/aptss/lists/cdn.d.store.deepinos.org.cn_${STORE_URL}_Packages" - echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是星火域名单目录仓库配置" + if [ -e "/var/lib/aptss/lists/d.spark-app.store_${STORE_URL}_Packages" ]; then + PACKAGES_DATA_PATH="/var/lib/aptss/lists/d.spark-app.store_${STORE_URL}_Packages" + echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是星火域名仓库配置" elif [ -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ]; then PACKAGES_DATA_PATH="/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" - echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是星火域名单目录仓库配置" + echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是d域名单目录仓库配置" else PACKAGES_DATA_PATH="/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是SDU镜像仓库配置" @@ -76,11 +82,47 @@ function hash_check() { echo "Running Spark Package Verify..." DEB_SHA512SUM=$(sha512sum "$1" | cut -d ' ' -f 1) + unset IS_SHA512SUM_CHECKED IS_SHA512SUM_CHECKED=$(cat "$PACKAGES_DATA_PATH" | grep "$DEB_SHA512SUM") } +function lock_file(){ +chattr +i "$1" +} +function unlock_file(){ +chattr -i "$1" +} +function ensure_aptss_exist(){ + + if command -v aptss &>/dev/null; then + aptss update + else + local deb_file="/tmp/spark-store-console-in-container_latest_all.deb" + + # Download package + if ! wget -O "$deb_file" "https://amber-ce-resource.spark-app.store/store/depends/spark-store-console-in-container_latest_all.deb"; then + echo "下载 .deb 安装包失败" >&2 + return 1 + fi + + # Install package + if ! apt install -y "$deb_file"; then + echo "安装 .deb 包失败" >&2 + rm -f "$deb_file" + return 1 + fi + rm -f "$deb_file" + + # Verify installation + if ! command -v aptss &>/dev/null; then + echo "成功安装但未找到 aptss 命令" >&2 + return 1 + fi + fi +} +export -f ensure_aptss_exist #################################### if [ $# -eq 0 ]; then @@ -90,11 +132,7 @@ if [ $# -eq 0 ]; then exit fi -if [ ! -f "$1" ]; then - echo "${TRANSHELL_CONTENT_FILE_NOT_EXIST}" - echo "OMG-IT-GOES-WRONG" - exit 1 -fi + if [ "$(id -u)" != "0" ]; then echo "${TRANSHELL_CONTENT_PLEASE_RUN_AS_ROOT}" @@ -102,28 +140,80 @@ if [ "$(id -u)" != "0" ]; then exit 1 fi -DEBPATH=$(realpath "$1") +if [ ! -f "$1" ]; then + echo "${TRANSHELL_CONTENT_FILE_NOT_EXIST},Trying to redownload" + FILEPATH=$(dirname "$1") + FILENAME=$(basename "$1") + PACKAGE_NAME=$(echo "$FILENAME" | sed -r 's/^([^_]+)_.*$/\1/') + VERSION=$(echo "$FILENAME" | sed -r 's/^[^_]+_([^_]+)_.*$/\1/') + pushd ${FILEPATH} + aptss download ${PACKAGE_NAME} + popd + if [ ! -f "$1" ]; then + echo "OMG-IT-GOES-WRONG" + exit 1 + else + DEBPATH=$(realpath "$1") + fi + else + DEBPATH=$(realpath "$1") +fi +lock_file "$DEBPATH" +IS_SHA512SUM_CHECKED=skipped +if [ ! -z "$IS_SHA512SUM_CHECKED" ]; then + echo "校验跳过,开始安装" + echo "----------------------------------------------------------------------------------" package_name=$(dpkg-deb -f "$DEBPATH" Package) echo "Package name is $package_name" - try_run_output=$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh test-install-app "$DEBPATH") try_run_ret="$?" +# 安装失败后进行 aptss update 刷新,随后尝试安装 if [ "$try_run_ret" -ne 0 ]; then aptss update try_run_output=$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh test-install-app "$DEBPATH") try_run_ret="$?" fi + + if [ "$try_run_ret" -ne 0 ]; then - if [ "$try_run_ret" -ne 0 ]; then - echo "OMG-IT-GOES-WRONG" - echo -e "${try_run_output}" - exit "$try_run_ret" + if [[ "$IS_ACE_ENV" == "" ]];then ## 如果已经在ACE里面则不进入分支 + if command -v bookworm-run ;then + echo "----------------------------------------" + echo "Attention: USING ACE BOOKWORM TO INSTALL" + echo "----------------------------------------" + bookworm-run ensure_aptss_exist + try_run_output=$(bookworm-run aptss install --dry-run "$DEBPATH") + try_run_ret="$?" + if [ "$try_run_ret" -ne 0 ]; then + bookworm-run aptss update + try_run_output=$(bookworm-run aptss install --dry-run "$DEBPATH") + try_run_ret="$?" + fi + if [ "$try_run_ret" -ne 0 ]; then + echo "OMG-IT-GOES-WRONG" + echo -e "${try_run_output}" + echo "----------------------------------------" + echo "Attention: USING ACE BOOKWORM TO INSTALL" + echo "----------------------------------------" + exit "$try_run_ret" + fi + bookworm-run dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf + fi + + else + + echo "OMG-IT-GOES-WRONG" + echo -e "${try_run_output}" + exit "$try_run_ret" + fi + else + + dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf fi - - dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf +### 退出阶段 if [ "$?" = "0" ] && [ "$2" = "--delete-after-install" ]; then if dpkg -s "$package_name" >/dev/null 2>&1; then @@ -147,3 +237,4 @@ DEBPATH=$(realpath "$1") echo "OMG-IT-GOES-WRONG" fi fi +fi diff --git a/tool/ssinstall b/tool/ssinstall index 45fcc1e..2efbc87 100755 --- a/tool/ssinstall +++ b/tool/ssinstall @@ -1,6 +1,7 @@ #!/bin/bash source /opt/durapps/spark-store/bin/bashimport/transhell.amber + load_transhell_debug export DEBIAN_FRONTEND=noninteractive @@ -94,6 +95,35 @@ function unlock_file(){ chattr -i "$1" } +function ensure_aptss_exist(){ + + if command -v aptss &>/dev/null; then + aptss update + else + local deb_file="/tmp/spark-store-console-in-container_latest_all.deb" + + # Download package + if ! wget -O "$deb_file" "https://amber-ce-resource.spark-app.store/store/depends/spark-store-console-in-container_latest_all.deb"; then + echo "下载 .deb 安装包失败" >&2 + return 1 + fi + + # Install package + if ! apt install -y "$deb_file"; then + echo "安装 .deb 包失败" >&2 + rm -f "$deb_file" + return 1 + fi + rm -f "$deb_file" + + # Verify installation + if ! command -v aptss &>/dev/null; then + echo "成功安装但未找到 aptss 命令" >&2 + return 1 + fi + fi +} +export -f ensure_aptss_exist #################################### if [ $# -eq 0 ]; then @@ -153,22 +183,52 @@ if [ ! -z "$IS_SHA512SUM_CHECKED" ]; then echo "Package name is $package_name" try_run_output=$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh test-install-app "$DEBPATH") try_run_ret="$?" - +# 安装失败后进行 aptss update 刷新,随后尝试在主机安装 if [ "$try_run_ret" -ne 0 ]; then aptss update try_run_output=$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh test-install-app "$DEBPATH") try_run_ret="$?" fi - if [ "$try_run_ret" -ne 0 ]; then - echo "OMG-IT-GOES-WRONG" - echo -e "${try_run_output}" - exit "$try_run_ret" - fi + if [ "$try_run_ret" -ne 0 ]; then ## 若安装检测仍然失败 + + if [[ "$IS_ACE_ENV" == "" ]];then ## 如果已经在ACE里面则不进入分支 + + if command -v bookworm-run ;then ## 如果 bookworm-run 可用则进行安装 + echo "----------------------------------------" + echo "Attention: USING ACE BOOKWORM TO INSTALL" + echo "----------------------------------------" + bookworm-run ensure_aptss_exist + try_run_output=$(bookworm-run aptss install --dry-run "$DEBPATH") + try_run_ret="$?" + if [ "$try_run_ret" -ne 0 ]; then + bookworm-run aptss update + try_run_output=$(bookworm-run aptss install --dry-run "$DEBPATH") + try_run_ret="$?" + fi + if [ "$try_run_ret" -ne 0 ]; then + echo "OMG-IT-GOES-WRONG" + echo -e "${try_run_output}" + echo "----------------------------------------" + echo "Attention: USING ACE BOOKWORM TO INSTALL" + echo "----------------------------------------" + exit "$try_run_ret" + fi + bookworm-run dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf + fi + + else # 如果在主机安装失败且未安装ACE,报错退出并推荐安装 ACE + + echo "OMG-IT-GOES-WRONG" + echo -e "${try_run_output}" + echo "您可在商店安装 ACE Bookworm 兼容环境后重试安装" + exit "$try_run_ret" + fi + else ## 如果主机安装检测成功了,进入主机安装分支 dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf - -unlock_file "$DEBPATH" + fi +### 退出阶段 if [ "$?" = "0" ] && [ "$2" = "--delete-after-install" ]; then if dpkg -s "$package_name" >/dev/null 2>&1; then diff --git a/tool/store-helper/check-is-installed b/tool/store-helper/check-is-installed index febb4ce..ef4d447 100755 --- a/tool/store-helper/check-is-installed +++ b/tool/store-helper/check-is-installed @@ -1,2 +1,10 @@ #!/bin/bash dpkg -l | grep "^ii $1 " > /dev/null +RET="$?" +if [[ "$RET" != "0" ]] && command -v bookworm-run > /dev/null;then + echo "Try ACE Bookworm" + bookworm-run dpkg -l | grep "^ii $1 " > /dev/null + RET="$?" + exit "$RET" +fi +exit "$RET" diff --git a/tool/store-helper/uninstaller b/tool/store-helper/uninstaller new file mode 100755 index 0000000..86cee57 --- /dev/null +++ b/tool/store-helper/uninstaller @@ -0,0 +1,14 @@ +#!/bin/bash +dpkg -l | grep "^ii $1 " > /dev/null +RET="$?" +if [[ "$RET" == "0" ]] ;then +apt autopurge $1 -y +else + +if command -v bookworm-run > /dev/null;then + echo "Try ACE Bookworm" + bookworm-run apt autopurge $1 -y + +fi +fi +exit "$RET"