mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-12-15 03:22:04 +08:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6c0549afe6 | |||
| 4d30f1c04d | |||
| b481f01609 | |||
| 864be06001 | |||
| 189d7a1ba1 | |||
| c2e598c670 | |||
| 15c15dc5f8 | |||
| 676d52c964 | |||
| 7138c6fbb9 | |||
| 979c573768 | |||
| 9ea5e297b6 | |||
| 624b4c8b3a | |||
| 0c4e736b12 | |||
| 0d0438bddd | |||
| 3fe1ff8a61 | |||
| 1fe4ed75f4 | |||
| ebf9474bc6 | |||
| d7e131c778 |
2
.github/workflows/auto-building-rpm.yml
vendored
2
.github/workflows/auto-building-rpm.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
make package-rpm
|
||||
mv spark-deepin-wine-runner*.rpm /home/runner/spark-deepin-wine-runner.rpm
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: spark-deepin-wine-runner.rpm
|
||||
path: /home/runner/spark-deepin-wine-runner.rpm
|
||||
|
||||
2
.github/workflows/auto-building.yml
vendored
2
.github/workflows/auto-building.yml
vendored
@@ -30,7 +30,7 @@ jobs:
|
||||
- name: Building DEB (termux)
|
||||
run: |
|
||||
cd deep-wine-runner
|
||||
make package-deb-termux -j4
|
||||
make package-termux-deb -j4
|
||||
mv spark-deepin-wine-runner-termux.deb ~
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v3
|
||||
|
||||
@@ -71,7 +71,7 @@ jobs:
|
||||
cd ..
|
||||
xz -T $cpu spark-deepin-wine-runner-off-line.tar
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: spark-deepin-wine-runner-off-line.tar.xz
|
||||
path: /home/runner/spark-deepin-wine-runner-off-line.tar.xz
|
||||
|
||||
@@ -70,7 +70,7 @@ jobs:
|
||||
cd ..
|
||||
xz -T $cpu spark-deepin-wine-runner-off-line.tar
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: spark-deepin-wine-runner-off-line.tar.xz
|
||||
path: /home/runner/spark-deepin-wine-runner-off-line.tar.xz
|
||||
|
||||
55
Makefile
55
Makefile
@@ -177,8 +177,63 @@ copy-files:
|
||||
remove-copy-files:
|
||||
sudo rm -rfv /tmp/spark-deepin-wine-runner-builder
|
||||
|
||||
package-deb-to-amd64:
|
||||
rm -rfv /tmp/wine-runner-package
|
||||
dpkg -x spark-deepin-wine-runner.deb /tmp/wine-runner-package
|
||||
dpkg -e spark-deepin-wine-runner.deb /tmp/wine-runner-package/DEBIAN
|
||||
sudo chown -R root:root /tmp/wine-runner-package/opt
|
||||
sudo chown -R root:root /tmp/wine-runner-package/usr
|
||||
sed -i "s/Architecture: all/Architecture: amd64/g" /tmp/wine-runner-package/DEBIAN/control
|
||||
dpkg-deb -Z xz -z 0 -b /tmp/wine-runner-package spark-deepin-wine-runner-amd64.deb
|
||||
|
||||
package-deb-to-arm64:
|
||||
rm -rfv /tmp/wine-runner-package
|
||||
dpkg -x spark-deepin-wine-runner.deb /tmp/wine-runner-package
|
||||
dpkg -e spark-deepin-wine-runner.deb /tmp/wine-runner-package/DEBIAN
|
||||
sudo chown -R root:root /tmp/wine-runner-package/opt
|
||||
sudo chown -R root:root /tmp/wine-runner-package/usr
|
||||
sed -i "s/Architecture: all/Architecture: arm64/g" /tmp/wine-runner-package/DEBIAN/control
|
||||
dpkg-deb -Z xz -z 0 -b /tmp/wine-runner-package spark-deepin-wine-runner-arm64.deb
|
||||
|
||||
package-deb-to-mips64el:
|
||||
rm -rfv /tmp/wine-runner-package
|
||||
dpkg -x spark-deepin-wine-runner.deb /tmp/wine-runner-package
|
||||
dpkg -e spark-deepin-wine-runner.deb /tmp/wine-runner-package/DEBIAN
|
||||
sudo chown -R root:root /tmp/wine-runner-package/opt
|
||||
sudo chown -R root:root /tmp/wine-runner-package/usr
|
||||
sed -i "s/Architecture: all/Architecture: mips64el/g" /tmp/wine-runner-package/DEBIAN/control
|
||||
dpkg-deb -Z xz -z 0 -b /tmp/wine-runner-package spark-deepin-wine-runner-mips64el.deb
|
||||
|
||||
package-deb-to-loongarch64:
|
||||
rm -rfv /tmp/wine-runner-package
|
||||
dpkg -x spark-deepin-wine-runner.deb /tmp/wine-runner-package
|
||||
dpkg -e spark-deepin-wine-runner.deb /tmp/wine-runner-package/DEBIAN
|
||||
sudo chown -R root:root /tmp/wine-runner-package/opt
|
||||
sudo chown -R root:root /tmp/wine-runner-package/usr
|
||||
sed -i "s/Architecture: all/Architecture: loongarch64/g" /tmp/wine-runner-package/DEBIAN/control
|
||||
dpkg-deb -Z xz -z 0 -b /tmp/wine-runner-package spark-deepin-wine-runner-loongarch64.deb
|
||||
|
||||
package-deb-to-loong64:
|
||||
rm -rfv /tmp/wine-runner-package
|
||||
dpkg -x spark-deepin-wine-runner.deb /tmp/wine-runner-package
|
||||
dpkg -e spark-deepin-wine-runner.deb /tmp/wine-runner-package/DEBIAN
|
||||
sudo chown -R root:root /tmp/wine-runner-package/opt
|
||||
sudo chown -R root:root /tmp/wine-runner-package/usr
|
||||
sed -i "s/Architecture: all/Architecture: loong64/g" /tmp/wine-runner-package/DEBIAN/control
|
||||
dpkg-deb -Z xz -z 0 -b /tmp/wine-runner-package spark-deepin-wine-runner-loong64.deb
|
||||
|
||||
package-deb-to-riscv64:
|
||||
rm -rfv /tmp/wine-runner-package
|
||||
dpkg -x spark-deepin-wine-runner.deb /tmp/wine-runner-package
|
||||
dpkg -e spark-deepin-wine-runner.deb /tmp/wine-runner-package/DEBIAN
|
||||
sudo chown -R root:root /tmp/wine-runner-package/opt
|
||||
sudo chown -R root:root /tmp/wine-runner-package/usr
|
||||
sed -i "s/Architecture: all/Architecture: riscv64/g" /tmp/wine-runner-package/DEBIAN/control
|
||||
dpkg-deb -Z xz -z 0 -b /tmp/wine-runner-package spark-deepin-wine-runner-riscv64.deb
|
||||
|
||||
package-deb:
|
||||
make copy-files -j$(nproc)
|
||||
sudo chown -R root:root /tmp/spark-deepin-wine-runner-builder
|
||||
dpkg-deb -Z xz -z 9 -b /tmp/spark-deepin-wine-runner-builder spark-deepin-wine-runner.deb
|
||||
make remove-copy-files -j$(nproc)
|
||||
# 构建 ace 包
|
||||
|
||||
@@ -13,8 +13,8 @@ programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
# 优先为深度终端
|
||||
terminal = ""
|
||||
terminalList = [
|
||||
"deepin-terminal",
|
||||
"gxde-terminal",
|
||||
"deepin-terminal",
|
||||
"mate-terminal",
|
||||
"gnome-terminal",
|
||||
"xfce4-terminal"
|
||||
|
||||
120
ShellList/turn-amd64-to-all.sh
Executable file
120
ShellList/turn-amd64-to-all.sh
Executable file
@@ -0,0 +1,120 @@
|
||||
#!/bin/bash
|
||||
# A simple loongarch64 => loong64 .deb converter to help traverse the worlds.
|
||||
#
|
||||
# Mingcong Bai <jeffbai@aosc.io>, 2024
|
||||
|
||||
_display_usage() {
|
||||
printf "\
|
||||
Usage:
|
||||
|
||||
loong64-it [PACKAGE1] [PACKAGE2] ...
|
||||
|
||||
- PACKAGE{1..N}: Path to the old-world .deb package to convert.
|
||||
|
||||
"
|
||||
}
|
||||
|
||||
# Autobuild-like echo functions.
|
||||
abwarn() { echo -e "[\e[33mWARN\e[0m]: \e[1m$*\e[0m"; }
|
||||
aberr() { echo -e "[\e[31mERROR\e[0m]: \e[1m$*\e[0m"; exit 1; }
|
||||
abinfo() { echo -e "[\e[96mINFO\e[0m]: \e[1m$*\e[0m"; }
|
||||
abdbg() { echo -e "[\e[32mDEBUG\e[0m]: \e[1m$*\e[0m"; }
|
||||
|
||||
_convert_loong64() {
|
||||
PKG_PATH=$(realpath $1)
|
||||
PKG_NAME=$(dpkg-deb -f "$PKG_PATH" Package)
|
||||
VERSION=$(dpkg-deb -f "$PKG_PATH" Version)
|
||||
BASEDIR=$(dirname $PKG_PATH)
|
||||
abinfo "Examining package information: $1 ..."
|
||||
dpkg -I "$PKG_PATH" || \
|
||||
aberr "Invalid dpkg package: control (metadata) archive not found: $?"
|
||||
CONTROL_EXT="$(ar t "$PKG_PATH" | grep control.tar* | cut -f3 -d'.')"
|
||||
case "${CONTROL_EXT}" in
|
||||
gz)
|
||||
TAR_COMP_FLAG="z"
|
||||
;;
|
||||
xz)
|
||||
TAR_COMP_FLAG="J"
|
||||
;;
|
||||
bz2)
|
||||
TAR_COMP_FLAG="j"
|
||||
;;
|
||||
"")
|
||||
TAR_COMP_FLAG=""
|
||||
;;
|
||||
*)
|
||||
aberr "Invalid control archive extension ${CONTROL_EXT}!"
|
||||
;;
|
||||
esac
|
||||
|
||||
abinfo "Unpacking: $1 ..."
|
||||
cd $(mktemp -d) || \
|
||||
aberr "Failed to create temporary directory to unpack $1: $?."
|
||||
DEBDIR="$(pwd)"
|
||||
ar xv "$PKG_PATH" || \
|
||||
aberr "Failed to unpack $1: $?."
|
||||
|
||||
abinfo "Unpacking metadata archive: $1 ..."
|
||||
mkdir "$DEBDIR"/metadata || \
|
||||
aberr "Failed to create temporary directory for extracting the metdata archive from $1: $?."
|
||||
tar -C "$DEBDIR"/metadata -xvf control.tar."${CONTROL_EXT}" || \
|
||||
aberr "Failed to unpack metadata archive from $1: $?."
|
||||
|
||||
abinfo "Converting dpkg Architecture key: $1 ..."
|
||||
#if ! egrep '^Architecture: loongarch64$' "$DEBDIR"/metadata/control; then
|
||||
# aberr "Failed to detect a \"loongarch64\" architecture signature in control file - this is not a valid old-world LoongArch package!"
|
||||
#fi
|
||||
sed -e 's|^Architecture: amd64$|Architecture: all|g' \
|
||||
-i "$DEBDIR"/metadata/control
|
||||
|
||||
|
||||
|
||||
|
||||
abinfo "Building metadata archive (control.tar.${CONTROL_EXT}): $1 ..."
|
||||
cd "$DEBDIR"/metadata
|
||||
tar cvf${TAR_COMP_FLAG} "$DEBDIR"/control.tar."${CONTROL_EXT}" * || \
|
||||
aberr "Failed to build metadata archive (control.tar.${CONTROL_EXT}) for $1: $?."
|
||||
cd "$DEBDIR"
|
||||
|
||||
abinfo "Rebuilding dpkg package $1"
|
||||
ar rv "$PKG_PATH" control.tar.${CONTROL_EXT} || \
|
||||
aberr "Failed to rebuild dpkg package $1: $?."
|
||||
|
||||
#abinfo "Cleaning up: $1 ..."
|
||||
#rm -r "$DEBDIR"
|
||||
mv $1 ${BASEDIR}/${PKG_NAME}_${VERSION}_loong64.deb
|
||||
abinfo """Your requested package:
|
||||
|
||||
$1
|
||||
|
||||
Has been successfully converted as a loong64 package and renamed as ${PKG_NAME}_${VERSION}_loong64.deb
|
||||
|
||||
However, you may still need to install libLoL for old-world applications to
|
||||
work properly. Please refer to the libLoL home page:
|
||||
|
||||
https://liblol.aosc.io
|
||||
|
||||
For details on how to install and configure libLoL.
|
||||
"""
|
||||
}
|
||||
|
||||
# Display usage info if `-h' or `--help' is specified.
|
||||
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||
_display_usage
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Display usage info with directions if no option is specified.
|
||||
if [ -z "$1" ]; then
|
||||
abwarn "Please specify package(s) to convert.\n"
|
||||
_display_usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Record working directory.
|
||||
SRCDIR="$(pwd)"
|
||||
|
||||
# Rebuilding all requested packages.
|
||||
for i in "$@"; do
|
||||
_convert_loong64 $i
|
||||
done
|
||||
@@ -18,7 +18,7 @@ Depends: python3,
|
||||
python3-requests,
|
||||
python3-pyqt5 | pyqt5,
|
||||
python3-psutil | pypsutil,
|
||||
xfce4-terminal | gxde-terminal | deepin-terminal | mate-terminal | gnome-terminal,
|
||||
gxde-terminal |xfce4-terminal | deepin-terminal | mate-terminal | gnome-terminal,
|
||||
python3-dbus,
|
||||
python3-pip | pip, p7zip-full | p7zip-legacy | p7zip,
|
||||
sudo,
|
||||
@@ -42,7 +42,7 @@ Recommends: winbind,
|
||||
qemu,
|
||||
alien,
|
||||
spark-deepin-wine-runner-qemu-system-extra,
|
||||
deepin-wine8-stable | spark-wine | spark-wine9 | spark-wine9-wow | spark-wine8 | spark-wine8-wow | spark-wine7-devel | deepin-wine6-stable | deepin-wine5-stable | deepin-wine5 | deepin-wine | wine,
|
||||
deepin-wine-staging | deepin-wine8-stable | spark-wine | spark-wine9 | spark-wine9-wow | spark-wine8 | spark-wine8-wow | spark-wine7-devel | deepin-wine6-stable | deepin-wine5-stable | deepin-wine5 | deepin-wine | wine,
|
||||
spark-dwine-helper | store.spark-app.spark-dwine-helper | deepin-wine-helper | com.wine-helper.deepin
|
||||
Section: utils
|
||||
Conflicts: spark.deepin-venturi-setter, spark-deepin-wine5-application-packer, spark-deepin-wine-runner-52, spark-deepin-wine-runner-termux, termux-exec
|
||||
|
||||
@@ -19,12 +19,14 @@ python3 -m pip install --upgrade xpinyin --trusted-host https://repo.huaweicloud
|
||||
python3 -m pip install --upgrade pynput --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null 2>&1 | true
|
||||
python3 -m pip install --upgrade xpinyin --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null 2>&1 | true
|
||||
# 修改 box86/64 国内源错误数据
|
||||
if [ -f /etc/apt/sources.list.d/box64.list ]; then
|
||||
sed -i 's/http:\/\/seafile.jyx2048.com:2345/http:\/\/gfdgdxi.v5.idcfengye.com/g' /etc/apt/sources.list.d/box64.list
|
||||
fi
|
||||
if [ -f /etc/apt/sources.list.d/box86.list ]; then
|
||||
sed -i 's/http:\/\/seafile.jyx2048.com:2345/http:\/\/gfdgdxi.v5.idcfengye.com/g' /etc/apt/sources.list.d/box86.list
|
||||
fi
|
||||
sudo rm /etc/apt/sources.list.d/box64.list -rfv
|
||||
sudo rm /etc/apt/sources.list.d/box86.list -rfv
|
||||
#if [ -f /etc/apt/sources.list.d/box64.list ]; then
|
||||
# sed -i 's/http:\/\/seafile.jyx2048.com:2345/http:\/\/gfdgdxi.v5.idcfengye.com/g' /etc/apt/sources.list.d/box64.list
|
||||
#fi
|
||||
#if [ -f /etc/apt/sources.list.d/box86.list ]; then
|
||||
# sed -i 's/http:\/\/seafile.jyx2048.com:2345/http:\/\/gfdgdxi.v5.idcfengye.com/g' /etc/apt/sources.list.d/box86.list
|
||||
#fi
|
||||
echo 执行完成
|
||||
echo 移除旧组件
|
||||
if [ -d /opt/apps/deepin-wine-runner/arm-package ]; then
|
||||
@@ -60,6 +62,6 @@ if [[ `arch` != "x86_64" ]]; then
|
||||
rm -rf /opt/apps/deepin-wine-runner/InstallNewWineHQ.sh
|
||||
fi
|
||||
# 设置目录权限,让用户可读可写,方便后续删除组件
|
||||
chmod 777 -R /opt/apps/deepin-wine-runner > /dev/null 2>&1 | true
|
||||
#chmod 777 -R /opt/apps/deepin-wine-runner > /dev/null 2>&1 | true
|
||||
# 向服务器返回安装数加1(不显示内容且忽略错误)
|
||||
python3 /opt/apps/deepin-wine-runner/Download.py $version > /dev/null 2>&1 | true
|
||||
|
||||
@@ -4,7 +4,7 @@ X-Categories=System;Wine;
|
||||
Exec=/usr/bin/deepin-wine-package-builder "~/.wine" %F
|
||||
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||
Name=Wine Package Builder
|
||||
Name[zh]=Wine 打包器
|
||||
Name[zh_CN]=Wine 打包器
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
NoDisplay=true
|
||||
|
||||
@@ -4,7 +4,7 @@ X-Categories=System;Wine;
|
||||
Exec=/usr/bin/deepin-wine-packager-easy-builder %F
|
||||
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||
Name=Wine Package Builder
|
||||
Name[zh]=Wine 简易打包器
|
||||
Name[zh_CN]=Wine 简易打包器
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
NoDisplay=true
|
||||
|
||||
@@ -5,6 +5,6 @@ Exec=/usr/bin/deepin-wine-packager-with-script
|
||||
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||
Name=Wine Package Builder For UOS
|
||||
NoDisplay=true
|
||||
Name[zh]=Wine 打包器(基于活动脚本)
|
||||
Name[zh_CN]=Wine 打包器(基于活动脚本)
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
|
||||
@@ -4,7 +4,7 @@ X-Categories=System;Wine;
|
||||
Exec=/opt/apps/deepin-wine-runner/RunVM.sh %F
|
||||
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||
Name=Setting VirtualMachine
|
||||
Name[zh]=设置 Windows 虚拟机
|
||||
Name[zh_CN]=设置 Windows 虚拟机
|
||||
NoDisplay=true
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
|
||||
@@ -4,6 +4,6 @@ X-Categories=System;
|
||||
Exec=/opt/apps/deepin-wine-runner/StartVM.sh %F
|
||||
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||
Name=Start Windows VirtualMachine
|
||||
Name[zh]=开启 Windows 虚拟机
|
||||
Name[zh_CN]=开启 Windows 虚拟机
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
|
||||
@@ -4,7 +4,7 @@ X-Categories=System;Wine;
|
||||
Exec=/usr/bin/deepin-wine-runner %F
|
||||
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||
Name=Wine Runner
|
||||
Name[zh]=Wine 运行器
|
||||
Name[zh_CN]=Wine 运行器
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
Keywords=exe;scr;
|
||||
|
||||
@@ -305,7 +305,7 @@ if [ -n "$EXEC_PATH" ];then
|
||||
if [ -z "${{EXEC_PATH##*.lnk*}}" ];then
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "C:/windows/command/start.exe" "/Unix" "$EXEC_PATH" "$@"
|
||||
else
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "C:/windows/command/start.exe" "/Unix" "$EXEC_PATH" "$@"
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@"
|
||||
fi
|
||||
else
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "uninstaller.exe" "$@"
|
||||
@@ -321,7 +321,7 @@ Encoding=UTF-8
|
||||
Type=Application
|
||||
X-Created-By=@@@Maintainer@@@
|
||||
Icon=@@@Icon@@@
|
||||
Exec="/opt/apps/@@@Package@@@/files/run.sh"
|
||||
Exec="/opt/apps/@@@Package@@@/files/run.sh --uri %F"
|
||||
Name=@@@Name@@@
|
||||
Comment=@@@Description@@@
|
||||
MimeType=
|
||||
@@ -698,6 +698,7 @@ logText.setStyleSheet("""
|
||||
color: white;
|
||||
""")
|
||||
wineChooserList = [
|
||||
"使用 Deepin Wine Staging 打包应用",
|
||||
"使用 Deepin Wine8 Stable 打包应用",
|
||||
"使用 Spark Wine9 wow 打包应用",
|
||||
"使用 Spark Wine9 打包应用",
|
||||
@@ -710,7 +711,7 @@ wineChooserList = [
|
||||
"使用 Spark Wine 打包应用"
|
||||
]
|
||||
wineChooserIndex = 2
|
||||
wineList = ["deepin-wine8-stable", "spark-wine9-wow", "spark-wine9", "spark-wine8", "spark-wine7-devel", "deepin-wine6-stable", "deepin-wine6-vannila", "spark-wine8-wow", "deepin-wine5-stable", "deepin-wine5", "deepin-wine", "spark-wine"]
|
||||
wineList = ["deepin-wine-staging", "deepin-wine8-stable", "spark-wine9-wow", "spark-wine9", "spark-wine8", "spark-wine7-devel", "deepin-wine6-stable", "deepin-wine6-vannila", "spark-wine8-wow", "deepin-wine5-stable", "deepin-wine5", "deepin-wine", "spark-wine"]
|
||||
for i in range(len(wineList)):
|
||||
if not os.system(f"which '{wineList[i]}'"):
|
||||
wineChooserIndex = i
|
||||
|
||||
@@ -620,7 +620,7 @@ Description: {e3_text.text()}
|
||||
if iconUiList[0][2].text().replace(" ", "") == "":
|
||||
command = f"--uri {iconUiList[0][2].text()}"
|
||||
else:
|
||||
command = iconUiList[0][2].text()
|
||||
command = f"--uri {iconUiList[0][2].text()}" # 若要传参进入wine容器,必须--uri,否则是传给run.sh的
|
||||
replaceMap = [
|
||||
["@@@BOTTLENAME@@@", e5_text.text()],
|
||||
["@@@APPVER@@@", e2_text.text()],
|
||||
@@ -636,7 +636,7 @@ Description: {e3_text.text()}
|
||||
["@@@MAINTAINER@@@", e4_text.text()],
|
||||
["@@@DESCRIPTION@@@", e3_text.text()],
|
||||
["@@@DESKTOP_EXEC@@@",
|
||||
f'''"/opt/apps/{e1_text.text()}/files/run.sh" {command}'''],
|
||||
f'''"/opt/apps/{e1_text.text()}/files/run.sh" {command} %F'''],
|
||||
["@@@DESKTOP_NAME@@@", iconUiList[0][3].text()],
|
||||
["@@@DESKTOP_MIMETYPE@@@", iconUiList[0][5].text()],
|
||||
["@@@DESKTOP_CATEGORIES@@@", iconUiList[0][1].currentText()]
|
||||
@@ -1332,8 +1332,8 @@ bottleNameLock = False
|
||||
###############
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
# 如果要添加其他 wine,请在字典添加其名称和执行路径
|
||||
wine = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5 stable": "deepin-wine5-stable", "deepin-wine6 stable": "deepin-wine6-stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine", "okylin-wine": "okylin-wine", "spark-wine8": "spark-wine8", "spark-wine8-wow": "spark-wine8-wow", "deepin-wine6-vannila": "deepin-wine6-vannila", "deepin-wine8-stable": "deepin-wine8-stable", "spark-wine9": "spark-wine9", "spark-wine9-wow": "spark-wine9-wow", "spark-wine": "spark-wine"}
|
||||
wineValue = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5-stable": "deepin-wine5 stable", "deepin-wine6-stable": "deepin-wine6 stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine", "okylin-wine": "okylin-wine", "spark-wine8": "spark-wine8", "spark-wine8-wow": "spark-wine8-wow", "deepin-wine6-vannila": "deepin-wine6-vannila", "deepin-wine8-stable": "deepin-wine8-stable", "spark-wine": "spark-wine"}
|
||||
wine = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5 stable": "deepin-wine5-stable", "deepin-wine6 stable": "deepin-wine6-stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine", "okylin-wine": "okylin-wine", "spark-wine8": "spark-wine8", "spark-wine8-wow": "spark-wine8-wow", "deepin-wine6-vannila": "deepin-wine6-vannila", "deepin-wine8-stable": "deepin-wine8-stable", "spark-wine9": "spark-wine9", "spark-wine9-wow": "spark-wine9-wow", "spark-wine": "spark-wine", "deepin-wine-staging": "deepin-wine-staging"}
|
||||
wineValue = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5-stable": "deepin-wine5 stable", "deepin-wine6-stable": "deepin-wine6 stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine", "okylin-wine": "okylin-wine", "spark-wine8": "spark-wine8", "spark-wine8-wow": "spark-wine8-wow", "deepin-wine6-vannila": "deepin-wine6-vannila", "deepin-wine8-stable": "deepin-wine8-stable", "spark-wine": "spark-wine", "deepin-wine-staging": "deepin-wine-staging"}
|
||||
# 读取 wine 本地列表
|
||||
try:
|
||||
for i in os.listdir("/opt"):
|
||||
@@ -1356,6 +1356,15 @@ try:
|
||||
wine[f"{programPath}/wine/{i}"] = f"{programPath}/wine/{i}"
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
for i in json.loads(readtxt(f"{get_home()}/.deepwinerunner/wine/winelist.json")):
|
||||
if os.path.exists(f"{get_home()}/.deepwinerunner/wine/{i}.7z"):
|
||||
wine[f"{get_home()}/.deepwinerunner/wine/{i}.7z"] = f"{get_home()}/.deepwinerunner/wine/{i}.7z"
|
||||
continue
|
||||
if os.path.exists(f"{get_home()}/.deepwinerunner/wine/{i}"):
|
||||
wine[f"{get_home()}/.deepwinerunner/wine/{i}"] = f"{get_home()}/.deepwinerunner/wine/{i}"
|
||||
except:
|
||||
pass
|
||||
os.chdir("/")
|
||||
iconUiList = []
|
||||
helperConfigPath = None
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"Version": "4.1.1.1",
|
||||
"Version": "4.1.4",
|
||||
"Time": "未知",
|
||||
"Thank": [
|
||||
"感谢 @り哥拽的冇气质° 和 @杨 提供了 3a5000(新世界的测试机器)",
|
||||
|
||||
@@ -2162,6 +2162,20 @@ def TransLog():
|
||||
# 加载配置
|
||||
###########################
|
||||
|
||||
if not os.path.exists(get_home() + "/.deepwinerunner/wine/"): # 如果没有配置文件夹
|
||||
os.makedirs(get_home() + "/.deepwinerunner/wine/") # 创建配置文件夹
|
||||
try:
|
||||
shutil.copy(f"{programPath}/wine/installwine.py", get_home() + "/.deepwinerunner/wine/installwine.py")
|
||||
shutil.copy(f"{programPath}/globalenv.py", get_home() + "/.deepwinerunner/globalenv.py")
|
||||
shutil.copy(f"{programPath}/launch.sh", get_home() + "/.deepwinerunner/launch.sh")
|
||||
if os.path.exists(get_home() + "/.deepwinerunner/Model"):
|
||||
shutil.rmtree(get_home() + "/.deepwinerunner/Model")
|
||||
shutil.copytree(f"{programPath}/Model", get_home() + "/.deepwinerunner/Model")
|
||||
os.system(f"chmod 777 -Rv '{get_home()}/.deepwinerunner/launch.sh'")
|
||||
except:
|
||||
traceback.print_exc()
|
||||
exit()
|
||||
|
||||
if not os.path.exists(get_home() + "/.config/"): # 如果没有配置文件夹
|
||||
os.mkdir(get_home() + "/.config/") # 创建配置文件夹
|
||||
if not os.path.exists(get_home() + "/.config/deepin-wine-runner"): # 如果没有配置文件夹
|
||||
@@ -2205,6 +2219,7 @@ def CheckWine():
|
||||
"基于 UOS box86 的 deepin-wine6-stable": f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib BOX86_NOSIGSEGV=1 /opt/deepin-box86/box86 /opt/deepin-wine6-stable/bin/wine ",
|
||||
"基于 UOS exagear 的 deepin-wine6-stable": f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib /opt/exagear/bin/ubt_x64a64_al --path-prefix {get_home()}/.deepinwine/debian-buster --utmp-paths-list {get_home()}/.deepinwine/debian-buster/.exagear/utmp-list --vpaths-list {get_home()}/.deepinwine/debian-buster/.exagear/vpaths-list --opaths-list {get_home()}/.deepinwine/debian-buster/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- /opt/deepin-wine6-stable/bin/wine ",
|
||||
"使用 Flatpak 安装的 Wine": "flatpak run org.winehq.Wine",
|
||||
"deepin-wine-staging": "deepin-wine-staging",
|
||||
"deepin-wine8-stable": "deepin-wine8-stable",
|
||||
"deepin-wine6 stable": "deepin-wine6-stable",
|
||||
"deepin-wine6-vannila": "deepin-wine6-vannila",
|
||||
@@ -2304,9 +2319,10 @@ def CheckWine():
|
||||
traceback.print_exc()
|
||||
|
||||
# 不再从列表读取,直接读目录
|
||||
for i in os.listdir(f"{programPath}/wine/"):
|
||||
for i in os.listdir(f"{programPath}/wine/") + os.listdir(f"{get_home()}/.deepwinerunner/wine/"):
|
||||
#for i in json.loads(readtxt(f"{programPath}/wine/winelist.json")):
|
||||
if os.path.exists(f"{programPath}/wine/{i}") and os.path.isdir(f"{programPath}/wine/{i}"):
|
||||
if ((os.path.exists(f"{programPath}/wine/{i}") and os.path.isdir(f"{programPath}/wine/{i}")) or
|
||||
(os.path.exists(f"{get_home()}/.deepwinerunner/wine/{i}") and os.path.isdir(f"{get_home()}/.deepwinerunner/wine/{i}"))):
|
||||
name = ""
|
||||
qemuInstall = False
|
||||
nameValue = [["", ""]]
|
||||
@@ -2394,6 +2410,10 @@ def CheckWine():
|
||||
wine[f"{k[0]}{chrootProgramPath}/wine/{i}/bin/{j}"] = f"{k[1]}{chrootProgramPath}/wine/{i}/bin/{j}"
|
||||
canUseWine.append(f"{k[0]}{chrootProgramPath}/wine/{i}/bin/{j}")
|
||||
untipsWine.append(f"{k[0]}{chrootProgramPath}/wine/{i}/bin/{j}")
|
||||
if os.path.exists(f"{get_home()}/.deepwinerunner/wine/{i}/bin/{j}"):
|
||||
wine[f"{k[0]}{get_home()}/.deepwinerunner/wine/{i}/bin/{j}"] = f"{k[1]}{get_home()}/.deepwinerunner/wine/{i}/bin/{j}"
|
||||
canUseWine.append(f"{k[0]}{get_home()}/.deepwinerunner/wine/{i}/bin/{j}")
|
||||
untipsWine.append(f"{k[0]}{get_home()}/.deepwinerunner/wine/{i}/bin/{j}")
|
||||
|
||||
except:
|
||||
traceback.print_exc()
|
||||
@@ -2478,12 +2498,9 @@ exe路径\' 参数 \'
|
||||
5、wine 容器如果没有指定,则会默认为 ~/.wine;
|
||||
6、如果可执行文件比较大的话,会出现点击“获取该程序运行情况”出现假死的情况,因为正在后台读取 SHA1,只需要等一下即可(读取速度依照您电脑处理速度、读写速度、可执行文件大小等有关);
|
||||
7、如果非 X86 的用户的 UOS 专业版用户想要使用的话,只需要在应用商店安装一个 Wine 版本微信即可在本程序选择正确的 Wine 运行程序;''')
|
||||
updateThingsString = QtCore.QCoreApplication.translate("U", '''※1、修复没有 dxvk 的问题
|
||||
※2、修复虚拟机功能异常的问题(https://gitee.com/gfdgd-xi/deep-wine-runner/issues/IASRHG)
|
||||
※3、修复打包器生成的 deb 不可用的问题(https://gitee.com/gfdgd-xi/deep-wine-runner/issues/IAXE1T)
|
||||
※4、打包器针对 GXDE OS 进行优化
|
||||
※5、修复虚拟机因无法创建磁盘导致崩溃的问题
|
||||
※6、修复中文问题
|
||||
updateThingsString = QtCore.QCoreApplication.translate("U", '''※1、修复安全问题
|
||||
※2、更新 dxvk 版本至 2.5
|
||||
※3、修复打包器生成的 deb 包参数问题
|
||||
''')
|
||||
for i in information["Thank"]:
|
||||
thankText += f"{i}\n"
|
||||
@@ -2836,7 +2853,7 @@ installWineHQ.triggered.connect(InstallWineHQ)
|
||||
installWineHQOrg.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"{programPath}/InstallNewWineHQOrg.sh"]).start())
|
||||
installLat.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"{programPath}/InstallLat.sh"]).start())
|
||||
def InstallMoreWine():
|
||||
os.system(f"'{programPath}/wine/installwine'")
|
||||
os.system(get_home() + "/.deepwinerunner/wine/installwine.py")
|
||||
# 更新 Wine 列表
|
||||
CheckWine()
|
||||
o1.clear()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"Version": "4.1.1.0",
|
||||
"Version": "4.1.3",
|
||||
"Time": "未知",
|
||||
"Thank": [
|
||||
"感谢 @り哥拽的冇气质° 和 @杨 提供了 3a5000(新世界的测试机器)",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2016 Deepin, Inc.
|
||||
#
|
||||
@@ -83,7 +83,7 @@ fi
|
||||
|
||||
##############<<<<<<<<<屏蔽mono和gecko安装器开始
|
||||
##默认屏蔽mono和gecko安装器
|
||||
if [ "$APPRUN_CMD" = "spark-wine7-devel" ] || [ "$APPRUN_CMD" = "spark-wine" ]|| [ "$APPRUN_CMD" = "spark-wine8" ] && [ -z "$ENABLE_DOT_NET" ];then
|
||||
if [ "$APPRUN_CMD" = "spark-wine9" ] || [ "$APPRUN_CMD" = "spark-wine" ]|| [ "$APPRUN_CMD" = "spark-wine8" ] && [ -z "$ENABLE_DOT_NET" ];then
|
||||
|
||||
export WINEDLLOVERRIDES="mscoree=d,mshtml=d"
|
||||
export WINEDLLOVERRIDES="control.exe=d"
|
||||
@@ -109,7 +109,7 @@ if [ -n "$EXEC_PATH" ];then
|
||||
if [ -z "${EXEC_PATH##*.lnk*}" ];then
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "C:/windows/command/start.exe" "/Unix" "$EXEC_PATH" "$@"
|
||||
else
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "C:/windows/command/start.exe" "/Unix" "$EXEC_PATH" "$@"
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@"
|
||||
fi
|
||||
else
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "uninstaller.exe" "$@"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2016 Deepin, Inc.
|
||||
#
|
||||
@@ -122,7 +122,7 @@ fi
|
||||
|
||||
##############<<<<<<<<<屏蔽mono和gecko安装器开始
|
||||
##默认屏蔽mono和gecko安装器
|
||||
if [ "$APPRUN_CMD" = "spark-wine7-devel" ] || [ "$APPRUN_CMD" = "spark-wine" ]|| [ "$APPRUN_CMD" = "spark-wine8" ] && [ -z "$ENABLE_DOT_NET" ];then
|
||||
if [ "$APPRUN_CMD" = "spark-wine9" ] || [ "$APPRUN_CMD" = "spark-wine" ]|| [ "$APPRUN_CMD" = "spark-wine8" ] && [ -z "$ENABLE_DOT_NET" ];then
|
||||
|
||||
#export WINEDLLOVERRIDES="mscoree=d,mshtml=d,control.exe=d"
|
||||
export WINEDLLOVERRIDES="control.exe=d"
|
||||
@@ -156,7 +156,7 @@ if [ -n "$EXEC_PATH" ];then
|
||||
if [ -z "${EXEC_PATH##*.lnk*}" ];then
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "C:/windows/command/start.exe" "/Unix" "$EXEC_PATH" "$@"
|
||||
else
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "C:/windows/command/start.exe" "/Unix" "$EXEC_PATH" "$@"
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@"
|
||||
fi
|
||||
else
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "uninstaller.exe" "$@"
|
||||
|
||||
Reference in New Issue
Block a user