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

This commit is contained in:
gfdgd xi 2023-07-06 22:20:33 +08:00
parent 7665dbe6d9
commit 08191c17ed
5 changed files with 124 additions and 17 deletions

@ -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"

@ -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
InstallNewWineHQOrg.sh Executable 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

@ -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

@ -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处可以获取目前有 i386amd64i386+amd64amd64+wow64 modeaarch64 7新增 Wine 自建源支持 Debian10Deepin20
8优化容器清理脚本 8修改 WineHQ 安装器使其支持选择国内清华大学镜像源或 WineHQ 官方源
9修复部分组件没完全换源的问题部分组件支持自动换可用源''') 9新增自动构建https://github.com/gfdgd-xi/deep-wine-runner/actions/workflows/auto-building.yml只供尝鲜
10新增 Wine 日构建安装更多 Wine处可以获取目前有 i386amd64i386+amd64amd64+wow64 modeaarch64
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"])