修改box86/64安装器、新增Wine自建源添加工具、WineHQ添加工具支持选择国内清华大学镜像源/官方源

This commit is contained in:
2023-07-06 22:20:33 +08:00
parent 7665dbe6d9
commit 08191c17ed
5 changed files with 124 additions and 17 deletions
+7 -5
View File
@@ -19,13 +19,15 @@ if [[ $? == 0 ]]; then
read read
exit 1 exit 1
fi fi
#sudo wget https://itai-nelken.github.io/weekly-box86-debs/debian/box86.list -O /etc/apt/sources.list.d/box86.list #sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list
echo deb http://box86.gfdgdxi.top / > /etc/apt/sources.list.d/box86.list sudo bash -c "echo deb http://jihulab.com/gfdgd-xi/box64-debs/-/raw/master/debian ./ > /etc/apt/sources.list.d/box86.list"
wget -qO- https://ryanfortner.github.io/box86-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box86-debs-archive-keyring.gpg
echo "adding key..." echo "adding key..."
wget -qO- http://box86.gfdgdxi.top/KEY.gpg | sudo apt-key add - installBox=box86-generic-arm
installBox=box86
if [[ $PCArch == "arm64" ]]; then if [[ $PCArch == "arm64" ]]; then
installBox="box86 box64" sudo bash -c "echo deb http://jihulab.com/gfdgd-xi/box86-debs/-/raw/master/debian ./ > /etc/apt/sources.list.d/box64.list"
wget -qO- https://ryanfortner.github.io/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg
installBox="box86-generic-arm box64-generic-arm"
sudo dpkg --add-architecture armhf sudo dpkg --add-architecture armhf
fi fi
echo " + sudo apt update" echo " + sudo apt update"
+7 -5
View File
@@ -17,7 +17,9 @@ echo '" #"# # # #" # #" # #mmmm# # #'
echo ' ## ##" # # # #"""" # # # #' echo ' ## ##" # # # #"""" # # # #'
echo ' # # mm#mm # # "#mm" # # #mm#"' echo ' # # mm#mm # # "#mm" # # #mm#"'
echo ' # ' echo ' # '
echo
echo "WineHQ 官网:https://wiki.winehq.org/"
echo 当前使用国内镜像源:https://mirrors-i.tuna.tsinghua.edu.cn/help/wine-builds/
ubuntuSource=( ubuntuSource=(
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/ubuntu/ jammy main | sudo tee /etc/apt/sources.list.d/winehq.list" "echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/ubuntu/ jammy main | sudo tee /etc/apt/sources.list.d/winehq.list"
@@ -28,11 +30,11 @@ ubuntuSource=(
debianSource=( debianSource=(
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ buster main | sudo tee /etc/apt/sources.list.d/winehq.list" "echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ buster main | sudo tee /etc/apt/sources.list.d/winehq.list"
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ bullseye main | sudo tee /etc/apt/sources.list.d/winehq.list" "echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ bullseye main | sudo tee /etc/apt/sources.list.d/winehq.list"
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources" "echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ bookworm main | sudo tee /etc/apt/sources.list.d/winehq.list"
) )
# 选择发行版 # 选择发行版
echo "WineHQ 官网:https://wiki.winehq.org/" #echo "WineHQ 官网:https://wiki.winehq.org/"
echo "国内镜像源:https://mirrors-i.tuna.tsinghua.edu.cn/help/wine-builds/" #echo "国内镜像源:https://mirrors-i.tuna.tsinghua.edu.cn/help/wine-builds/"
echo echo
echo "选择发行版:" echo "选择发行版:"
echo "0. Debian" echo "0. Debian"
@@ -43,7 +45,7 @@ echo "选择系统版本"
if [ $system = "0" ]; then if [ $system = "0" ]; then
echo "0. Debian 10 (Buster)" echo "0. Debian 10 (Buster)"
echo "1. Debian 11 (Bullseye)" echo "1. Debian 11 (Bullseye)"
echo "2. Debian Testing (Bookworm)" echo "2. Debian 12 (Bookworm)"
fi fi
if [ $system = "1" ]; then if [ $system = "1" ]; then
echo "0. Ubuntu 22.04" echo "0. Ubuntu 22.04"
+95
View File
@@ -0,0 +1,95 @@
#!/bin/bash
# 使用系统默认的 bash 运行
###########################################################################################
# 作者:gfdgd xi
# 版本:2.2.0
# 更新时间:2022年09月25日
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
# 基于 Python3 构建
###########################################################################################
#################
# 引入所需的库
#################
echo
echo 'm m " m m mmmm '
echo '# # # mmm m mm mmm # # m" "m'
echo '" #"# # # #" # #" # #mmmm# # #'
echo ' ## ##" # # # #"""" # # # #'
echo ' # # mm#mm # # "#mm" # # #mm#"'
echo ' # '
echo
echo "WineHQ 官网:https://wiki.winehq.org/"
echo 当前不使用国内镜像源
ubuntuSource=(
"sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources"
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/impish/winehq-impish.sources"
"sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources"
"sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/bionic/winehq-bionic.sources"
)
debianSource=(
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/buster/winehq-buster.sources"
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources"
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources"
)
# 选择发行版
echo "WineHQ 官网:https://wiki.winehq.org/"
echo "国内镜像源:https://mirrors-i.tuna.tsinghua.edu.cn/help/wine-builds/"
echo
echo "选择发行版:"
echo "0. Debian"
echo "1. Ubuntu"
read system
# 选择版本
echo "选择系统版本"
if [ $system = "0" ]; then
echo "0. Debian 10 (Buster)"
echo "1. Debian 11 (Bullseye)"
echo "2. Debian 12 (Bookworm)"
fi
if [ $system = "1" ]; then
echo "0. Ubuntu 22.04"
echo "1. Ubuntu 21.10"
echo "2. Ubuntu 20.04Linux Mint 20.x"
echo "3. Ubuntu 18.04Linux Mint 19.x"
fi
read systemVersion
# 选择 Wine
echo "选择 Wine"
echo "0. 稳定分支"
echo "1. 开发分支"
echo "2. Staging 分支"
read programVersion
# 初步配置
sudo apt-key del "D43F 6401 4536 9C51 D786 DDEA 76F1 A20F F987 672F"
sudo dpkg --add-architecture i386
#sudo wget -nc -O /usr/share/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
# 检测 apt-fast 或 ss-apt-fast 是否存在
apt="apt"
which apt-fast > /dev/null
if [ $? == 0 ]; then
apt="apt-fast"
fi
which ss-apt-fast > /dev/null
if [ $? == 0 ]; then
apt="ss-apt-fast"
fi
which aptss > /dev/null
if [ $? == 0 ]; then
apt="aptss"
fi
# 添加源
if [ $system = "0" ]; then
bash -c "${debianSource[$systemVersion]}"
fi
if [ $system = "1" ]; then
bash -c "${ubuntuSource[$systemVersion]}"
fi
sudo $apt update
# 安装 Wine
wineInstall=("sudo $apt install --install-recommends winehq-stable" "sudo $apt install --install-recommends winehq-devel" "sudo $apt install --install-recommends winehq-staging")
${wineInstall[$programVersion]}
echo "按回车键退出"
read
+1
View File
@@ -32,6 +32,7 @@ package:
cp -rv kill.sh deb/opt/apps/deepin-wine-runner cp -rv kill.sh deb/opt/apps/deepin-wine-runner
cp -rv updatekiller.py deb/opt/apps/deepin-wine-runner cp -rv updatekiller.py deb/opt/apps/deepin-wine-runner
cp -rv AddWineDebMirrorForDeepin20.sh deb/opt/apps/deepin-wine-runner cp -rv AddWineDebMirrorForDeepin20.sh deb/opt/apps/deepin-wine-runner
cp -rv InstallNewWineHQOrg.sh deb/opt/apps/deepin-wine-runner
cp -rv InstallWineOnDeepin23Alpha.py deb/opt/apps/deepin-wine-runner cp -rv InstallWineOnDeepin23Alpha.py deb/opt/apps/deepin-wine-runner
cp -rv wrestool deb/opt/apps/deepin-wine-runner cp -rv wrestool deb/opt/apps/deepin-wine-runner
cp -rv Mount.sh deb/opt/apps/deepin-wine-runner cp -rv Mount.sh deb/opt/apps/deepin-wine-runner
+14 -7
View File
@@ -2438,10 +2438,13 @@ updateThingsString = transla.transe("U", '''※1、简易打包器支持选择 W
※3、在安装更多 Wine 处安装 Wine 后主窗口 Wine 版本下拉框自动更新 ※3、在安装更多 Wine 处安装 Wine 后主窗口 Wine 版本下拉框自动更新
※4、设置打包器在 Ubuntu 依旧打包 xz 格式的 deb 包 ※4、设置打包器在 Ubuntu 依旧打包 xz 格式的 deb 包
※5、修复 Wine 简易打包器 control 文件 Installed-Size 格式不规范的问题 ※5、修复 Wine 简易打包器 control 文件 Installed-Size 格式不规范的问题
6、新增自动构建:https://github.com/gfdgd-xi/deep-wine-runner/actions/workflows/auto-building.yml(只供尝鲜 6、更换 Box86 源并支持安装 Box64(如果为 aarch64 架构
7、新增 Wine 日构建(在“安装更多 Wine”处可以获取,目前有 i386、amd64、i386+amd64、amd64+wow64 mode、aarch64 7、新增 Wine 自建源(支持 Debian10、Deepin20
8、优化容器清理脚本 8、修改 WineHQ 安装器使其支持选择国内清华大学镜像源或 WineHQ 官方源
9、修复部分组件没完全换源的问题,部分组件支持自动换可用源''') 9、新增自动构建:https://github.com/gfdgd-xi/deep-wine-runner/actions/workflows/auto-building.yml(只供尝鲜)
10、新增 Wine 日构建(在“安装更多 Wine”处可以获取,目前有 i386、amd64、i386+amd64、amd64+wow64 mode、aarch64
11、优化容器清理脚本
12、修复部分组件没完全换源的问题,部分组件支持自动换可用源''')
for i in information["Thank"]: for i in information["Thank"]:
thankText += f"{i}\n" thankText += f"{i}\n"
updateTime = "2023年07月06日" updateTime = "2023年07月06日"
@@ -2676,10 +2679,11 @@ programmenu = menu.addMenu(transla.transe("U", "程序(&P)"))
p1 = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "安装 wine(&I)")) p1 = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "安装 wine(&I)"))
installWineOnDeepin23 = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine23P.png"), transla.transe("U", "安装 wine(只限Deepin23 Preview)")) installWineOnDeepin23 = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine23P.png"), transla.transe("U", "安装 wine(只限Deepin23 Preview)"))
installWineOnDeepin23Alpha = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine23A.png"), transla.transe("U", "安装 wine(只限Deepin23 Alpha)")) installWineOnDeepin23Alpha = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine23A.png"), transla.transe("U", "安装 wine(只限Deepin23 Alpha)"))
installWineHQ = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "安装 WineHQ")) installWineHQOrg = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "安装 WineHQ(官方源)"))
installWineHQ = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "安装 WineHQ(国内清华大学镜像源)"))
installMoreWine = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/more-wine.png"), transla.transe("U", "安装更多 Wine")) installMoreWine = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/more-wine.png"), transla.transe("U", "安装更多 Wine"))
downloadChrootBottle = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/CHROOT.png"), transla.transe("U", "下载 Chroot 容器")) downloadChrootBottle = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/CHROOT.png"), transla.transe("U", "下载 Chroot 容器"))
installBox86 = QtWidgets.QAction(QtGui.QIcon.fromTheme("box"), transla.transe("U", "安装 Box86")) installBox86 = QtWidgets.QAction(QtGui.QIcon.fromTheme("box"), transla.transe("U", "安装 Box86/Box64"))
addWineDebMirrorForDeepin20 = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "添加 Wine 运行器源以安装较新版本的 WineHQ(支持 Deepin20/Debian10")) addWineDebMirrorForDeepin20 = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "添加 Wine 运行器源以安装较新版本的 WineHQ(支持 Deepin20/Debian10"))
p2 = QtWidgets.QAction(QtGui.QIcon.fromTheme("settings"), transla.transe("U", "设置程序(&S)")) p2 = QtWidgets.QAction(QtGui.QIcon.fromTheme("settings"), transla.transe("U", "设置程序(&S)"))
enabledAll = QtWidgets.QAction(transla.transe("U", "强制启用所有被禁用的组件(不推荐)")) enabledAll = QtWidgets.QAction(transla.transe("U", "强制启用所有被禁用的组件(不推荐)"))
@@ -2691,6 +2695,7 @@ programmenu.addAction(p1)
programmenu.addAction(installWineOnDeepin23) programmenu.addAction(installWineOnDeepin23)
programmenu.addAction(installWineOnDeepin23Alpha) programmenu.addAction(installWineOnDeepin23Alpha)
programmenu.addAction(installWineHQ) programmenu.addAction(installWineHQ)
programmenu.addAction(installWineHQOrg)
programmenu.addAction(addWineDebMirrorForDeepin20) programmenu.addAction(addWineDebMirrorForDeepin20)
programmenu.addAction(installMoreWine) programmenu.addAction(installMoreWine)
programmenu.addAction(downloadChrootBottle) programmenu.addAction(downloadChrootBottle)
@@ -2708,6 +2713,7 @@ p1.triggered.connect(InstallWine)
installWineOnDeepin23.triggered.connect(InstallWineOnDeepin23) installWineOnDeepin23.triggered.connect(InstallWineOnDeepin23)
installWineOnDeepin23Alpha.triggered.connect(InstallWineOnDeepin23Alpha) installWineOnDeepin23Alpha.triggered.connect(InstallWineOnDeepin23Alpha)
installWineHQ.triggered.connect(InstallWineHQ) installWineHQ.triggered.connect(InstallWineHQ)
installWineHQOrg.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"{programPath}/InstallNewWineHQOrg.sh"]).start())
addWineDebMirrorForDeepin20.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"bash '{programPath}/AddWineDebMirrorForDeepin20.sh'"]).start()) addWineDebMirrorForDeepin20.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"bash '{programPath}/AddWineDebMirrorForDeepin20.sh'"]).start())
def InstallMoreWine(): def InstallMoreWine():
os.system(f"'{programPath}/wine/installwine'") os.system(f"'{programPath}/wine/installwine'")
@@ -3098,7 +3104,7 @@ else:
o1.addItems(wine.keys()) o1.addItems(wine.keys())
# 禁用被精简掉的控件 # 禁用被精简掉的控件
for i in [ for i in [
[[p1, installWineOnDeepin23, installWineHQ, installMoreWine], f"{programPath}/InstallWineOnDeepin23.py"], [[p1, installWineOnDeepin23, installWineHQ, installWineHQOrg, installMoreWine], f"{programPath}/InstallWineOnDeepin23.py"],
[[w5], f"{programPath}/deepin-wine-packager.py"], [[w5], f"{programPath}/deepin-wine-packager.py"],
[[w6], f"{programPath}/deepin-wine-packager-with-script.py"], [[w6], f"{programPath}/deepin-wine-packager-with-script.py"],
[[p1, v1], f"{programPath}/RunVM.sh"], [[p1, v1], f"{programPath}/RunVM.sh"],
@@ -3115,6 +3121,7 @@ if subprocess.getoutput("arch").lower() != "x86_64":
#virtualMachine.setDisabled(True) #virtualMachine.setDisabled(True)
#v1.setDisabled(True) #v1.setDisabled(True)
installWineHQ.setDisabled(True) installWineHQ.setDisabled(True)
installWineHQOrg.setDisabled(True)
pass pass
o1.setCurrentText(setting["DefultWine"]) o1.setCurrentText(setting["DefultWine"])
e1.setEditText(setting["DefultBotton"]) e1.setEditText(setting["DefultBotton"])