优化更新逻辑

This commit is contained in:
2024-07-21 18:12:30 +08:00
parent 7a175c957a
commit 8f37bfd3b8
2 changed files with 29 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
{ {
"Version": "3.9.2", "Version": "4.0.0",
"Time": "未知", "Time": "未知",
"Thank": [ "Thank": [
"感谢 @り哥拽的冇气质° 和 @杨 提供了 3a5000新世界的测试机器", "感谢 @り哥拽的冇气质° 和 @杨 提供了 3a5000新世界的测试机器",

View File

@@ -1283,6 +1283,11 @@ class UpdateWindow():
unPackageNew = False unPackageNew = False
isArch = False isArch = False
isFedora = False isFedora = False
isTermux = False
if os.path.exists("/data/data/com.termux"):
isTermux = True
if UpdateWindow.data["Url-termux"][0] == None:
unPackageNew = True
if os.path.exists("/etc/arch-release"): if os.path.exists("/etc/arch-release"):
isArch = True isArch = True
if UpdateWindow.data["Url-pkg"][0] == None: if UpdateWindow.data["Url-pkg"][0] == None:
@@ -1340,6 +1345,20 @@ echo 安装安装包
yum reinstall $TMPDIR/tmp/spark-deepin-wine-runner/update/spark-deepin-wine-runner.rpm -y yum reinstall $TMPDIR/tmp/spark-deepin-wine-runner/update/spark-deepin-wine-runner.rpm -y
notify-send -i "{iconPath}" "更新完毕!" notify-send -i "{iconPath}" "更新完毕!"
zenity --info --text=\"更新完毕!\" --ellipsize zenity --info --text=\"更新完毕!\" --ellipsize
""")
elif isTermux:
# 使用 pkg 安装更新
write_txt(TMPDIR + "/tmp/spark-deepin-wine-runner/update.sh", f"""#!/data/data/com.termux/files/usr/bin/bash
echo 删除多余的安装包
rm -rfv $TMPDIR/tmp/spark-deepin-wine-runner/update/*
echo 关闭“Wine 运行器”
python3 "{programPath}/updatekiller.py"
echo 下载安装包
wget -O $TMPDIR/tmp/spark-deepin-wine-runner/update/spark-deepin-wine-runner-termux.deb {UpdateWindow.data["Url-termux"][0]}
echo 安装安装包
pkg reinstall $TMPDIR/tmp/spark-deepin-wine-runner/update/spark-deepin-wine-runner.rpm -y
notify-send -i "{iconPath}" "更新完毕!"
zenity --info --text=\"更新完毕!\" --ellipsize
""") """)
else: else:
# 使用 deb 安装更新 # 使用 deb 安装更新
@@ -1357,6 +1376,9 @@ apt install -f -y
notify-send -i "{iconPath}" "更新完毕!" notify-send -i "{iconPath}" "更新完毕!"
zenity --info --text=\"更新完毕!\" --ellipsize zenity --info --text=\"更新完毕!\" --ellipsize
""") """)
if isTermux:
OpenTerminal("bash $TMPDIR/tmp/spark-deepin-wine-runner/update.sh")
else:
OpenTerminal("pkexec bash $TMPDIR/tmp/spark-deepin-wine-runner/update.sh") OpenTerminal("pkexec bash $TMPDIR/tmp/spark-deepin-wine-runner/update.sh")
except: except:
traceback.print_exc() traceback.print_exc()
@@ -2484,12 +2506,14 @@ updateThingsString = QtCore.QCoreApplication.translate("U", '''※1、优化运
※5、跟进 dxvk 2.4 ※5、跟进 dxvk 2.4
※6、修复 deepin 23 无法使用 Mono/Gecko 安装器的问题 ※6、修复 deepin 23 无法使用 Mono/Gecko 安装器的问题
※7、修复 debian testing 打包时会把 / 打入 .7z 包内导致系统死机的问题 ※7、修复 debian testing 打包时会把 / 打入 .7z 包内导致系统死机的问题
8、修复虚拟机启动器入口不会调用安装的 Qemu Extra 的问题 8、支持 AOSC安同、小小电脑、proot 容器
9、优化高级打包器容器名称生成机制 9、支持在 Termux 直接运行
10、修复虚拟机启动器入口不会调用安装的 Qemu Extra 的问题
11、优化高级打包器容器名称生成机制
''') ''')
for i in information["Thank"]: for i in information["Thank"]:
thankText += f"{i}\n" thankText += f"{i}\n"
updateTime = "2024年06月29" updateTime = "2024年07月21"
aboutProgram = QtCore.QCoreApplication.translate("U", """<p>Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序。原版的 Wine 只能使用命令操作且安装过程较为繁琐对小白不友好。于是该运行器为了解决该痛点内置了对Wine图形化的支持、Wine 安装器、微型应用商店、各种Wine工具、自制的Wine程序打包器、运行库安装工具等。</p> aboutProgram = QtCore.QCoreApplication.translate("U", """<p>Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序。原版的 Wine 只能使用命令操作且安装过程较为繁琐对小白不友好。于是该运行器为了解决该痛点内置了对Wine图形化的支持、Wine 安装器、微型应用商店、各种Wine工具、自制的Wine程序打包器、运行库安装工具等。</p>
<p>它同时还内置了基于Qemu/VirtualBox制作的、专供小白使用的Windows虚拟机安装工具可以做到只需下载系统镜像并点击安装即可无需考虑虚拟机的安装、创建、分区等操作也能在非 X86 架构安装 X86 架构的 Windows 操作系统(但是效率较低,可以运行些老系统)。</p> <p>它同时还内置了基于Qemu/VirtualBox制作的、专供小白使用的Windows虚拟机安装工具可以做到只需下载系统镜像并点击安装即可无需考虑虚拟机的安装、创建、分区等操作也能在非 X86 架构安装 X86 架构的 Windows 操作系统(但是效率较低,可以运行些老系统)。</p>
<p>而且对于部分 Wine 应用适配者来说,提供了图形化的打包工具,以及提供了一些常用工具以及运行库的安装方式,以及能安装多种不同的 Wine 以测试效果,能极大提升适配效率。</p> <p>而且对于部分 Wine 应用适配者来说,提供了图形化的打包工具,以及提供了一些常用工具以及运行库的安装方式,以及能安装多种不同的 Wine 以测试效果,能极大提升适配效率。</p>