Compare commits

...

28 Commits

Author SHA1 Message Date
b6f57c727b update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-16 15:45:41 +00:00
d0dec1b3b0 update debian/spark-store.prerm.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-11 04:52:01 +00:00
b125993336 update tool/update-upgrade/ss-update-notifier.sh.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-02 14:38:44 +00:00
5a37f24145 try fix always retry 2024-12-01 23:22:14 +08:00
a7b32db9b5 update tool/bashimport/log.amber.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-30 11:02:58 +00:00
b7d9ea9358 add: binary to git 2024-11-29 00:00:34 +08:00
e2118a471f feat: aptss logger
feat: Now we only popup window for once
2024-11-28 23:47:03 +08:00
8d06c37e96 feat: aptss log enhance && upgrade-experience-enhance 2024-11-28 21:43:29 +08:00
0d3431b616 chore: adjust user experience of upgrading 2024-11-28 20:55:42 +08:00
b2fc02d145 fix: crash when upgrade
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-28 10:32:01 +00:00
102c0831af update debian/control.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-19 13:43:31 +00:00
8dc1854f2e update tool/update-upgrade/ss-do-upgrade.sh.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-14 11:54:33 +00:00
b778e351b3 update tool/update-upgrade/ss-do-upgrade.sh.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-14 11:47:32 +00:00
85a7790932 !313 try fix: Can not show window on pkexec
Merge pull request !313 from shenmo/N/A
2024-11-14 10:04:54 +00:00
09bc7f2867 try fix: Can not show window on pkexec
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-14 10:02:45 +00:00
81aa00ff01 update dtk-build-release-tag-20220425.yml 2024-11-12 11:40:17 +00:00
4b72d091e5 update .workflow/dtk-build-release-tag-20220425.yml.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-12 11:33:36 +00:00
a159a11807 spark-store (4.3.3.1) UNRELEASED; urgency=medium
* 修复点击更新需要输入密码的问题
  * 修复安装速度下降的问题
  * 修复闪退问题
  * 修复错误地展示已安装

 -- shenmo <shenmo@spark-app.store>  Tue, 24 Sep 2024 11:27:08 +0800

Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-12 11:25:41 +00:00
d86efc642a update dtk-build-release-tag-20220425.yml 2024-11-12 10:38:54 +00:00
4c05c18198 update dtk-build-release-tag-20220425.yml 2024-11-12 10:32:37 +00:00
09c1d50bd2 update dtk-build-release-tag-20220425.yml 2024-11-12 10:25:47 +00:00
ef36a92c7c update dtk-build-release-tag-20220425.yml 2024-11-12 10:16:22 +00:00
8a93d4dd06 update dtk-build-release-tag-20220425.yml 2024-11-12 10:04:42 +00:00
zty199
29ddef300f fix: crash when installation complete if MainWindow is closed
Installation finished signal is triggered in child thread, which may cause crash when handling in AppInfoPage slot

Log: use Qt::ConnectionType::QueuedConnection when connecting with installation finished signal
2024-11-12 17:43:54 +08:00
5bd6ad9399 fix: 包名部分匹配仍然展示为已安装
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-10 03:43:10 +00:00
32c74bc5a0 fix: can not install depends 2024-11-05 18:26:21 +08:00
ce34fc763f fix: 安装速度降低 2024-11-05 15:24:53 +08:00
85823fdc23 update tool/apt-fast/ss-apt-fast.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-29 12:08:59 +00:00
23 changed files with 242 additions and 180 deletions

View File

@@ -18,22 +18,28 @@ stages:
name: execute_by_docker name: execute_by_docker
displayName: 基于镜像的DTK构建 displayName: 基于镜像的DTK构建
certificate: '' certificate: ''
image: docker.io/debian:buster image: docker.jianmuhub.com/library/debian:buster
command: command:
- sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list - sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
- '# 换源' - '# 换源'
- apt update - apt update
- export DEBIAN_FRONTEND=noninteractive - export DEBIAN_FRONTEND=noninteractive
- echo "安装git devscripts equivs curl..." - echo "安装依赖..."
- 'apt install git devscripts equivs curl -y ' - 'apt install libgsettings-qt-dev -y '
- 'apt install debhelper git curl fakeroot qtbase5-dev zlib1g-dev qt5-default -y '
- git clone https://gitlink.org.cn/shenmo7192/dtk-old-bundle.git - git clone https://gitlink.org.cn/shenmo7192/dtk-old-bundle.git
- cd dtk-old-bundle - cd dtk-old-bundle
- apt install ./*.deb -y - apt install ./*.deb -y
- cd .. - cd ..
- rm -rf dtk-old-bundle - rm -rf dtk-old-bundle
- '' - ''
- 'mk-build-deps --install --tool "apt-get -o Debug::pkgProblemResolver=yes -y" ' - '#mk-build-deps --install --tool "apt-get -o Debug::pkgProblemResolver=yes -y" '
- dpkg-buildpackage -j2 -b -us -uc - 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
- cd .. - cd ..
- ls -all - ls -all
- pwd - pwd

13
debian/changelog vendored
View File

@@ -1,6 +1,17 @@
spark-store (4.3.2.2) UNRELEASED; urgency=medium 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 -- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800

3
debian/control vendored
View File

@@ -30,6 +30,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends},
libnotify-bin, libnotify-bin,
qtwayland5, qtwayland5,
desktop-file-utils, desktop-file-utils,
dpkg-dev dpkg-dev,
lsb-release,
Description: Spark Store Description: Spark Store
A community powered app store, based on DTK. A community powered app store, based on DTK.

4
debian/rules vendored
View File

@@ -36,4 +36,6 @@ override_dh_auto_install:
# Ignore the dpkg-shlibdeps: warning (it uses none of the library's symbols) # Ignore the dpkg-shlibdeps: warning (it uses none of the library's symbols)
# Qt Mutidedia lib will ref to network libraray. # Qt Mutidedia lib will ref to network libraray.
override_dh_shlibdeps: override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--warnings=0 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/

View File

@@ -51,7 +51,7 @@ for username in `ls /home`
# Remove gpg key file # Remove gpg key file
rm -f /etc/apt/trusted.gpg.d/spark-store.gpg rm -f /etc/apt/trusted.gpg.d/spark-store.gpg
apt-key del '9D9A A859 F750 24B1 A1EC E16E 0E41 D354 A29A 440C' apt-key del '9D9A A859 F750 24B1 A1EC E16E 0E41 D354 A29A 440C' || true
else else
if [ ! -z "`pidof spark-store`" ] ; then if [ ! -z "`pidof spark-store`" ] ; then

View File

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

View File

@@ -287,8 +287,10 @@ void AppIntoPage::setDownloadWidget(DownloadListWidget *w)
} }
dw = w; dw = w;
connect(w, &DownloadListWidget::downloadFinished, [=]() connect(w, &DownloadListWidget::downloadFinished, this, [=]() {
{ isDownloading(SparkAPI::getServerUrl() + SparkAPI::getArchDir() + spk.path() + "/" + info["Filename"].toString()); }); isDownloading(SparkAPI::getServerUrl() + SparkAPI::getArchDir() + spk.path() + "/" + info["Filename"].toString());
},
Qt::QueuedConnection);
} }
void AppIntoPage::initUI() void AppIntoPage::initUI()
@@ -486,7 +488,10 @@ void AppIntoPage::on_downloadButton_clicked()
return; return;
} }
connect(item, &DownloadItem::finished, [=]() { isDownloading(downloadUrl); }); connect(item, &DownloadItem::finished, this, [=]() {
isDownloading(downloadUrl);
},
Qt::QueuedConnection);
item->install(0); item->install(0);
isDownloading(downloadUrl); isDownloading(downloadUrl);
@@ -507,7 +512,10 @@ void AppIntoPage::on_downloadButton_clicked()
item->reinstall = true; item->reinstall = true;
} }
ui->downloadButton->setEnabled(false); ui->downloadButton->setEnabled(false);
connect(item, &DownloadItem::finished, [=]() { isDownloading(downloadUrl); }); connect(item, &DownloadItem::finished, this, [=]() {
isDownloading(downloadUrl);
},
Qt::QueuedConnection);
isDownloading(downloadUrl); isDownloading(downloadUrl);
} }

View File

@@ -52,7 +52,7 @@ for argument in "$@"; do
option="source" option="source"
root=0 root=0
;; ;;
changelog|search|policy) changelog|search|policy|show)
root=0 root=0
;; ;;
esac esac

View File

@@ -3,6 +3,7 @@
SPARK_DOWNLOAD_SERVER_URL="https://d.spark-app.store/" SPARK_DOWNLOAD_SERVER_URL="https://d.spark-app.store/"
SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL="d.spark-app.store" SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL="d.spark-app.store"
source /opt/durapps/spark-store/bin/bashimport/transhell.amber source /opt/durapps/spark-store/bin/bashimport/transhell.amber
source /opt/durapps/spark-store/bin/bashimport/log.amber
load_transhell load_transhell
case `arch` in case `arch` in
@@ -26,7 +27,17 @@ is_empty_dir(){
return `ls -A $1|wc -w` return `ls -A $1|wc -w`
} }
function update_list(){
curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list"
log.info "sparkstore${STORE_LIST_URL}.list update done"
}
function update_conf(){
mkdir -p /tmp/aptss-conf/
curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf"
log.info "apt-fast.conf update done"
chmod -R 755 /tmp/aptss-conf
}
if [ "$(id -u)" != "0" ];then if [ "$(id -u)" != "0" ];then
#############################无root权限时 #############################无root权限时
@@ -46,8 +57,7 @@ if [ ! -e "/tmp/aptss-conf/apt-fast.conf" ];then
mkdir -p /tmp/aptss-conf/ mkdir -p /tmp/aptss-conf/
echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m"
echo echo
curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf" update_conf
chmod -R 755 /tmp/aptss-conf
fi fi
@@ -57,11 +67,9 @@ if [ ! -e "/var/lib/aptss/lists/${SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL}_${STORE
mkdir -p /tmp/aptss-conf/ mkdir -p /tmp/aptss-conf/
echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m"
echo echo
curl --silent -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf"
chmod -R 755 /tmp/aptss-conf
curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list" update_list
/usr/bin/apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf update_conf
#只更新星火源 #只更新星火源
@@ -93,11 +101,10 @@ elif [ "$1" = "ssupdate" ];then
mkdir -p /tmp/aptss-conf/ mkdir -p /tmp/aptss-conf/
echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m"
echo echo
curl --silent -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf"
chmod -R 755 /tmp/aptss-conf
curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list"
update_list
update_conf
/usr/bin/apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list" /usr/bin/apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list"
@@ -107,10 +114,8 @@ elif [ "$1" = "update" ];then
echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m"
echo echo
curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list" update_list
mkdir -p /tmp/aptss-conf/ update_conf
curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf"
chmod -R 755 /tmp/aptss-conf
### 额外一份拿来给aptss自动补全用 ### 额外一份拿来给aptss自动补全用
${SS_APT_FAST} "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf ${SS_APT_FAST} "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf

View File

@@ -0,0 +1,5 @@
#!/bin/bash
log.warn() { echo -e "[\e[33mWARN\e[0m]: \e[1m$*\e[0m"; }
log.error() { echo -e "[\e[31mERROR\e[0m]: \e[1m$*\e[0m"; }
log.info() { echo -e "[\e[96mINFO\e[0m]: \e[1m$*\e[0m"; }
log.debug() { echo -e "[\e[32mDEBUG\e[0m]: \e[1m$*\e[0m"; }

BIN
tool/ss-feedback/sender-d-amd64 Executable file

Binary file not shown.

BIN
tool/ss-feedback/sender-d-arm64 Executable file

Binary file not shown.

BIN
tool/ss-feedback/sender-d-loong64 Executable file

Binary file not shown.

View File

@@ -123,7 +123,7 @@ DEBPATH=$(realpath "$1")
exit "$try_run_ret" exit "$try_run_ret"
fi fi
aptss install "$DEBPATH" -yf --reinstall dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf
if [ "$?" = "0" ] && [ "$2" = "--delete-after-install" ]; then if [ "$?" = "0" ] && [ "$2" = "--delete-after-install" ]; then
if dpkg -s "$package_name" >/dev/null 2>&1; then if dpkg -s "$package_name" >/dev/null 2>&1; then

View File

@@ -166,7 +166,7 @@ if [ ! -z "$IS_SHA512SUM_CHECKED" ]; then
exit "$try_run_ret" exit "$try_run_ret"
fi fi
aptss install "$DEBPATH" -yf --reinstall dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf
unlock_file "$DEBPATH" unlock_file "$DEBPATH"

View File

@@ -1,2 +1,2 @@
#!/bin/bash #!/bin/bash
dpkg -l | grep "^ii" | grep -w "$1" > /dev/null dpkg -l | grep "^ii $1 " > /dev/null

View File

@@ -3,10 +3,13 @@ if [ "$(id -u)" != "0" ] ; then
if [ "$IS_ACE_ENV" = "1" ];then if [ "$IS_ACE_ENV" = "1" ];then
/opt/durapps/spark-store/bin/store-helper/pass-auth.sh "$0" "$@" /opt/durapps/spark-store/bin/store-helper/pass-auth.sh "$0" "$@"
else else
xhost +
pkexec "$0" "$@" pkexec "$0" "$@"
exit exit
fi fi
fi fi
trap "rm -f /tmp/spark-store/upgradeStatus.txt" EXIT trap "rm -f /tmp/spark-store/upgradeStatus.txt" EXIT
source /opt/durapps/spark-store/bin/bashimport/transhell.amber source /opt/durapps/spark-store/bin/bashimport/transhell.amber
load_transhell_debug load_transhell_debug
@@ -54,7 +57,7 @@ echo ${app_name_in_desktop}
touch /tmp/spark-store/upgradeStatus.txt touch /tmp/spark-store/upgradeStatus.txt
# 执行 apt update # 执行 apt update
pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh ssupdate | zenity --progress --auto-close --pulsate --no-cancel --text="${TRANSHELL_CONTENT_UPDATE_CHEKING_PLEASE_WAIT}" --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh ssupdate 2>&1 > /dev/null | zenity --progress --auto-close --pulsate --no-cancel --text="${TRANSHELL_CONTENT_UPDATE_CHEKING_PLEASE_WAIT}" --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
if [ -z `cat /tmp/spark-store-app-ssupdate-status.txt` ] ; then if [ -z `cat /tmp/spark-store-app-ssupdate-status.txt` ] ; then
/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh clean-log /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh clean-log
@@ -117,11 +120,25 @@ done)
zenity --info --text "${TRANSHELL_CONTENT_NO_APP_IS_CHOSEN}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg zenity --info --text "${TRANSHELL_CONTENT_NO_APP_IS_CHOSEN}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
else else
### 更新用户选择的应用 ### 更新用户选择的应用
for PKG_UPGRADE in $PKG_UPGRADE_LIST;do
APP_UPGRADE="$(get_name_from_desktop_file $PKG_UPGRADE)"
update_transhell (for PKG_UPGRADE in $PKG_UPGRADE_LIST; do
pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh upgrade-app $PKG_UPGRADE -y | zenity --progress --auto-close --no-cancel --pulsate --text="${TRANSHELL_CONTENT_UPGRADING_PLEASE_WAIT}" --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg APP_UPGRADE="$(get_name_from_desktop_file $PKG_UPGRADE)"
done update_transhell
# 启动升级任务
(pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh upgrade-app $PKG_UPGRADE -y 2>&1 > /dev/null ) &
cmd_pid=$!
# 动态修改zenity的文本
echo "# ${TRANSHELL_CONTENT_UPGRADING_PLEASE_WAIT}"
wait
done) | zenity --progress --auto-close --no-cancel --pulsate --text="Preparing..." --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
#### 更新成功 #### 更新成功
if [ -z "`cat /tmp/spark-store-app-upgrade-status.txt`" ] ; then if [ -z "`cat /tmp/spark-store-app-upgrade-status.txt`" ] ; then
zenity --info --text "${TRANSHELL_CONTENT_CHOSEN_APP_UPGRADE_FINISHED}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg zenity --info --text "${TRANSHELL_CONTENT_CHOSEN_APP_UPGRADE_FINISHED}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg

View File

@@ -1,16 +1,12 @@
#!/bin/bash #!/bin/bash
source /opt/durapps/spark-store/bin/bashimport/transhell.amber source /opt/durapps/spark-store/bin/bashimport/transhell.amber
load_transhell_debug load_transhell_debug
############################################################# #############################################################
# 发送通知 # 发送通知
function notify-send() { function notify-send() {
# Detect user using the display # Detect user using the display
local user=$(who | awk '{print $1}' | head -n 1) local user=$(who | awk '{print $1}' | head -n 1)
@@ -20,11 +16,8 @@ function notify-send() {
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 "$@"
} }
# 检测网络链接畅通 # 检测网络链接畅通
function network-check() function network-check() {
{
# 超时时间 # 超时时间
local timeout=15 local timeout=15
@@ -32,9 +25,9 @@ function network-check()
local target=www.baidu.com local target=www.baidu.com
# 获取响应状态码 # 获取响应状态码
local ret_code=`curl -I -s --connect-timeout ${timeout} ${target} -w %{http_code} | tail -n1` local ret_code=$(curl -I -s --connect-timeout ${timeout} ${target} -w %{http_code} | tail -n1)
if [ "x$ret_code" = "x200" ] ; then if [ "$ret_code" = "200" ]; then
# 网络畅通 # 网络畅通
return 0 return 0
else else
@@ -43,32 +36,47 @@ function network-check()
fi fi
} }
network-check # 初始化等待时间和最大等待时间
if [ $? -ne 0 ] ; then initial_wait_time=15 # 初始等待时间 15 秒
echo "$TRANSHELL_CONTENT_NETWORK_FAIL" max_wait_time=$((12 * 3600)) # 最大等待时间 12 小时
exit -1
fi
# The code above is modified from https://blog.csdn.net/yaxuan88521/article/details/120516298 # 检测网络,若不通则进行重试,采用指数退避算法
wait_time=$initial_wait_time
while ! network-check; do
echo "$TRANSHELL_CONTENT_NETWORK_FAIL"
echo "Waiting for network to recover... Retrying in ${wait_time} seconds."
sleep $wait_time
wait_time=$((wait_time * 2)) # 等待时间翻倍
if [ $wait_time -gt $max_wait_time ]; then
wait_time=$max_wait_time # 最大等待时间限制为12小时
fi
done
# 每日更新星火源文件 # 每日更新星火源文件
aptss update aptss update
updatetext=`LANGUAGE=en_US aptss ssupdate 2>&1` updatetext=`LANGUAGE=en_US aptss ssupdate 2>&1`
until [ "`echo $updatetext | grep E: `" = "" ];do # 在网络恢复后,继续更新操作
echo "${TRANSHELL_CONTENT_UPDATE_ERROR_AND_WAIT_15_SEC}" retry_count=0
sleep 15 max_retries=12 # 最大重试次数,防止死循环
updatetext=`LANGUAGE=en_US aptss ssupdate 2>&1`
until ! echo $updatetext | grep -q "E:"; do
if [ $retry_count -ge $max_retries ]; then
echo "Reached maximum retry limit for aptss ssupdate."
exit 1
fi
echo "${TRANSHELL_CONTENT_UPDATE_ERROR_AND_WAIT_15_SEC}"
sleep 15
updatetext=`LANGUAGE=en_US aptss ssupdate 2>&1`
retry_count=$((retry_count + 1))
done done
update_app_number=$(env LANGUAGE=en_US /usr/bin/apt -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf list --upgradable -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="/dev/null" -o APT::Get::List-Cleanup="0" 2>/dev/null | grep -c upgradable) update_app_number=$(env LANGUAGE=en_US /usr/bin/apt -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf list --upgradable -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="/dev/null" -o APT::Get::List-Cleanup="0" 2>/dev/null | grep -c upgradable)
if [ "$update_app_number" -le 0 ] ; then if [ "$update_app_number" -le 0 ]; then
exit 0 exit 0
fi fi
@@ -78,43 +86,41 @@ PKG_LIST="$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh
IFS_OLD="$IFS" IFS_OLD="$IFS"
IFS=$'\n' IFS=$'\n'
for line in $PKG_LIST ; do for line in $PKG_LIST; do
PKG_NAME=$(echo $line | awk -F ' ' '{print $1}') PKG_NAME=$(echo $line | awk -F ' ' '{print $1}')
PKG_NEW_VER=$(echo $line | awk -F ' ' '{print $2}') PKG_NEW_VER=$(echo $line | awk -F ' ' '{print $2}')
PKG_CUR_VER=$(echo $line | awk -F ' ' '{print $3}') PKG_CUR_VER=$(echo $line | awk -F ' ' '{print $3}')
dpkg --compare-versions $PKG_NEW_VER le $PKG_CUR_VER dpkg --compare-versions $PKG_NEW_VER le $PKG_CUR_VER
if [ $? -eq 0 ] ; then if [ $? -eq 0 ]; then
let update_app_number=$update_app_number-1 let update_app_number=$update_app_number-1
continue continue
fi fi
## 检测是否是 hold 状态 # 检测是否是 hold 状态
PKG_STA=$(dpkg-query -W -f='${db:Status-Want}' $PKG_NAME) PKG_STA=$(dpkg-query -W -f='${db:Status-Want}' $PKG_NAME)
if [ "$PKG_STA" = "hold" ] ; then if [ "$PKG_STA" = "hold" ]; then
let update_app_number=$update_app_number-1 let update_app_number=$update_app_number-1
fi fi
done done
# 还原分隔符 # 还原分隔符
IFS="$IFS_OLD" IFS="$IFS_OLD"
if [ $update_app_number -le 0 ] ; then if [ $update_app_number -le 0 ]; then
exit 0 exit 0
fi fi
update_transhell update_transhell
## 如果都是hold或者版本一致的那就直接退出否则把剩余的给提醒了 # 如果都是hold或者版本一致的那就直接退出否则把剩余的给提醒了
# TODO: 除了apt-mark hold之外额外有一个禁止检查列表
##TODO:除了apt-mark hold之外额外有一个禁止检查列表 # 如果不想提示就不提示
## 如果不想提示就不提示
user=$(who | awk '{print $1}' | head -n 1) user=$(who | awk '{print $1}' | head -n 1)
if [ -e "/home/$user/.config/spark-union/spark-store/ssshell-config-do-not-show-upgrade-notify" ];then if [ -e "/home/$user/.config/spark-union/spark-store/ssshell-config-do-not-show-upgrade-notify" ]; then
echo "他不想站在世界之巅,好吧" echo "他不想站在世界之巅,好吧"
echo "Okay he don't want to be at the top of the world, okay" echo "Okay he don't want to be at the top of the world, okay"
exit exit
else else
notify-send -a spark-store "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_NOTIFY}" "${TRANSHELL_CONTENT_THERE_ARE_APPS_TO_UPGRADE}" notify-send -a spark-store "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_NOTIFY}" "${TRANSHELL_CONTENT_THERE_ARE_APPS_TO_UPGRADE}" || true # Some machine don't have bus, or who command just print nothing.
fi fi

View File

@@ -127,9 +127,9 @@
<message> <message>
<location filename="../src/pages/appintopage.ui" line="244"/> <location filename="../src/pages/appintopage.ui" line="244"/>
<location filename="../src/pages/appintopage.cpp" line="198"/> <location filename="../src/pages/appintopage.cpp" line="198"/>
<location filename="../src/pages/appintopage.cpp" line="336"/> <location filename="../src/pages/appintopage.cpp" line="338"/>
<location filename="../src/pages/appintopage.cpp" line="370"/> <location filename="../src/pages/appintopage.cpp" line="372"/>
<location filename="../src/pages/appintopage.cpp" line="533"/> <location filename="../src/pages/appintopage.cpp" line="541"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -187,8 +187,8 @@
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="183"/> <location filename="../src/pages/appintopage.cpp" line="183"/>
<location filename="../src/pages/appintopage.cpp" line="363"/> <location filename="../src/pages/appintopage.cpp" line="365"/>
<location filename="../src/pages/appintopage.cpp" line="505"/> <location filename="../src/pages/appintopage.cpp" line="510"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -198,57 +198,57 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="341"/> <location filename="../src/pages/appintopage.cpp" line="343"/>
<location filename="../src/pages/appintopage.cpp" line="481"/> <location filename="../src/pages/appintopage.cpp" line="483"/>
<source>Install</source> <source>Install</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="346"/> <location filename="../src/pages/appintopage.cpp" line="348"/>
<source>Installing</source> <source>Installing</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>Warning</source> <source>Warning</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<source>The current application does not support or tested on deepin, there may be problems</source> <source>The current application does not support or tested on deepin, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<source>The current application does not support or tested on UOS, there may be problems</source> <source>The current application does not support or tested on UOS, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<source>The current application does not support or tested on Ubuntu, there may be problems</source> <source>The current application does not support or tested on Ubuntu, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>The current application does not support or tested on current platform, there may be problems</source> <source>The current application does not support or tested on current platform, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>The URL has been copied to the clipboard</source> <source>The URL has been copied to the clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@@ -127,9 +127,9 @@
<message> <message>
<location filename="../src/pages/appintopage.ui" line="244"/> <location filename="../src/pages/appintopage.ui" line="244"/>
<location filename="../src/pages/appintopage.cpp" line="198"/> <location filename="../src/pages/appintopage.cpp" line="198"/>
<location filename="../src/pages/appintopage.cpp" line="336"/> <location filename="../src/pages/appintopage.cpp" line="338"/>
<location filename="../src/pages/appintopage.cpp" line="370"/> <location filename="../src/pages/appintopage.cpp" line="372"/>
<location filename="../src/pages/appintopage.cpp" line="533"/> <location filename="../src/pages/appintopage.cpp" line="541"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation>Descargar e instalar</translation> <translation>Descargar e instalar</translation>
</message> </message>
@@ -187,8 +187,8 @@
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="183"/> <location filename="../src/pages/appintopage.cpp" line="183"/>
<location filename="../src/pages/appintopage.cpp" line="363"/> <location filename="../src/pages/appintopage.cpp" line="365"/>
<location filename="../src/pages/appintopage.cpp" line="505"/> <location filename="../src/pages/appintopage.cpp" line="510"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation>Reinstalación</translation> <translation>Reinstalación</translation>
</message> </message>
@@ -198,57 +198,57 @@
<translation>Actualización</translation> <translation>Actualización</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="341"/> <location filename="../src/pages/appintopage.cpp" line="343"/>
<location filename="../src/pages/appintopage.cpp" line="481"/> <location filename="../src/pages/appintopage.cpp" line="483"/>
<source>Install</source> <source>Install</source>
<translation>Instalación</translation> <translation>Instalación</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="346"/> <location filename="../src/pages/appintopage.cpp" line="348"/>
<source>Installing</source> <source>Installing</source>
<translation>Se está instalando</translation> <translation>Se está instalando</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>Warning</source> <source>Warning</source>
<translation>Aviso</translation> <translation>Aviso</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<source>The current application does not support or tested on deepin, there may be problems</source> <source>The current application does not support or tested on deepin, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<source>The current application does not support or tested on UOS, there may be problems</source> <source>The current application does not support or tested on UOS, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<source>The current application does not support or tested on Ubuntu, there may be problems</source> <source>The current application does not support or tested on Ubuntu, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>The current application does not support or tested on current platform, there may be problems</source> <source>The current application does not support or tested on current platform, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation>SPARK Store</translation> <translation>SPARK Store</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation>Desinstalación exitosa</translation> <translation>Desinstalación exitosa</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>The URL has been copied to the clipboard</source> <source>The URL has been copied to the clipboard</source>
<translation>La URL ha sido copiada al portapapeles</translation> <translation>La URL ha sido copiada al portapapeles</translation>
</message> </message>

View File

@@ -127,9 +127,9 @@
<message> <message>
<location filename="../src/pages/appintopage.ui" line="244"/> <location filename="../src/pages/appintopage.ui" line="244"/>
<location filename="../src/pages/appintopage.cpp" line="198"/> <location filename="../src/pages/appintopage.cpp" line="198"/>
<location filename="../src/pages/appintopage.cpp" line="336"/> <location filename="../src/pages/appintopage.cpp" line="338"/>
<location filename="../src/pages/appintopage.cpp" line="370"/> <location filename="../src/pages/appintopage.cpp" line="372"/>
<location filename="../src/pages/appintopage.cpp" line="533"/> <location filename="../src/pages/appintopage.cpp" line="541"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation>Télécharger et installer</translation> <translation>Télécharger et installer</translation>
</message> </message>
@@ -187,8 +187,8 @@
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="183"/> <location filename="../src/pages/appintopage.cpp" line="183"/>
<location filename="../src/pages/appintopage.cpp" line="363"/> <location filename="../src/pages/appintopage.cpp" line="365"/>
<location filename="../src/pages/appintopage.cpp" line="505"/> <location filename="../src/pages/appintopage.cpp" line="510"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation>Réinstaller</translation> <translation>Réinstaller</translation>
</message> </message>
@@ -198,57 +198,57 @@
<translation>Mise à niveau</translation> <translation>Mise à niveau</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="341"/> <location filename="../src/pages/appintopage.cpp" line="343"/>
<location filename="../src/pages/appintopage.cpp" line="481"/> <location filename="../src/pages/appintopage.cpp" line="483"/>
<source>Install</source> <source>Install</source>
<translation>Installation</translation> <translation>Installation</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="346"/> <location filename="../src/pages/appintopage.cpp" line="348"/>
<source>Installing</source> <source>Installing</source>
<translation>Installation en cours</translation> <translation>Installation en cours</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>Warning</source> <source>Warning</source>
<translation>Avertissement</translation> <translation>Avertissement</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<source>The current application does not support or tested on deepin, there may be problems</source> <source>The current application does not support or tested on deepin, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<source>The current application does not support or tested on UOS, there may be problems</source> <source>The current application does not support or tested on UOS, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<source>The current application does not support or tested on Ubuntu, there may be problems</source> <source>The current application does not support or tested on Ubuntu, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>The current application does not support or tested on current platform, there may be problems</source> <source>The current application does not support or tested on current platform, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation>Le Spark store</translation> <translation>Le Spark store</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation>Désinstallation réussie</translation> <translation>Désinstallation réussie</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>The URL has been copied to the clipboard</source> <source>The URL has been copied to the clipboard</source>
<translation>L&apos;URL a é copiée dans le presse - papiers</translation> <translation>L&apos;URL a é copiée dans le presse - papiers</translation>
</message> </message>

View File

@@ -122,9 +122,9 @@
<message> <message>
<location filename="../src/pages/appintopage.ui" line="244"/> <location filename="../src/pages/appintopage.ui" line="244"/>
<location filename="../src/pages/appintopage.cpp" line="198"/> <location filename="../src/pages/appintopage.cpp" line="198"/>
<location filename="../src/pages/appintopage.cpp" line="336"/> <location filename="../src/pages/appintopage.cpp" line="338"/>
<location filename="../src/pages/appintopage.cpp" line="370"/> <location filename="../src/pages/appintopage.cpp" line="372"/>
<location filename="../src/pages/appintopage.cpp" line="533"/> <location filename="../src/pages/appintopage.cpp" line="541"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -187,8 +187,8 @@
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="183"/> <location filename="../src/pages/appintopage.cpp" line="183"/>
<location filename="../src/pages/appintopage.cpp" line="363"/> <location filename="../src/pages/appintopage.cpp" line="365"/>
<location filename="../src/pages/appintopage.cpp" line="505"/> <location filename="../src/pages/appintopage.cpp" line="510"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -198,57 +198,57 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="341"/> <location filename="../src/pages/appintopage.cpp" line="343"/>
<location filename="../src/pages/appintopage.cpp" line="481"/> <location filename="../src/pages/appintopage.cpp" line="483"/>
<source>Install</source> <source>Install</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="346"/> <location filename="../src/pages/appintopage.cpp" line="348"/>
<source>Installing</source> <source>Installing</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>Warning</source> <source>Warning</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<source>The current application does not support or tested on deepin, there may be problems</source> <source>The current application does not support or tested on deepin, there may be problems</source>
<translation>deepin上测试过</translation> <translation>deepin上测试过</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<source>The current application does not support or tested on UOS, there may be problems</source> <source>The current application does not support or tested on UOS, there may be problems</source>
<translation>UOS上测试过</translation> <translation>UOS上测试过</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<source>The current application does not support or tested on Ubuntu, there may be problems</source> <source>The current application does not support or tested on Ubuntu, there may be problems</source>
<translation>Ubuntu上测试过</translation> <translation>Ubuntu上测试过</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>The current application does not support or tested on current platform, there may be problems</source> <source>The current application does not support or tested on current platform, there may be problems</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>The URL has been copied to the clipboard</source> <source>The URL has been copied to the clipboard</source>
<translation></translation> <translation></translation>
</message> </message>

View File

@@ -122,9 +122,9 @@
<message> <message>
<location filename="../src/pages/appintopage.ui" line="244"/> <location filename="../src/pages/appintopage.ui" line="244"/>
<location filename="../src/pages/appintopage.cpp" line="198"/> <location filename="../src/pages/appintopage.cpp" line="198"/>
<location filename="../src/pages/appintopage.cpp" line="336"/> <location filename="../src/pages/appintopage.cpp" line="338"/>
<location filename="../src/pages/appintopage.cpp" line="370"/> <location filename="../src/pages/appintopage.cpp" line="372"/>
<location filename="../src/pages/appintopage.cpp" line="533"/> <location filename="../src/pages/appintopage.cpp" line="541"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -187,8 +187,8 @@
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="183"/> <location filename="../src/pages/appintopage.cpp" line="183"/>
<location filename="../src/pages/appintopage.cpp" line="363"/> <location filename="../src/pages/appintopage.cpp" line="365"/>
<location filename="../src/pages/appintopage.cpp" line="505"/> <location filename="../src/pages/appintopage.cpp" line="510"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -198,57 +198,57 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="341"/> <location filename="../src/pages/appintopage.cpp" line="343"/>
<location filename="../src/pages/appintopage.cpp" line="481"/> <location filename="../src/pages/appintopage.cpp" line="483"/>
<source>Install</source> <source>Install</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="346"/> <location filename="../src/pages/appintopage.cpp" line="348"/>
<source>Installing</source> <source>Installing</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>Warning</source> <source>Warning</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<source>The current application does not support or tested on deepin, there may be problems</source> <source>The current application does not support or tested on deepin, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<source>The current application does not support or tested on UOS, there may be problems</source> <source>The current application does not support or tested on UOS, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<source>The current application does not support or tested on Ubuntu, there may be problems</source> <source>The current application does not support or tested on Ubuntu, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>The current application does not support or tested on current platform, there may be problems</source> <source>The current application does not support or tested on current platform, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>The URL has been copied to the clipboard</source> <source>The URL has been copied to the clipboard</source>
<translation></translation> <translation></translation>
</message> </message>