mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-12-16 12:02:04 +08:00
Compare commits
12 Commits
4.0.0
...
eb6fe87485
| Author | SHA1 | Date | |
|---|---|---|---|
| eb6fe87485 | |||
| e9f6847e57 | |||
| 47f1b2a843 | |||
| d95a4cd9f4 | |||
| e5ffd06b26 | |||
| f327216855 | |||
| d335a72aee | |||
| ee8be07185 | |||
| 4f08e44ca3 | |||
| caa08cfa8d | |||
| a4ab3b27d1 | |||
| 4caf1a3be5 |
77
.github/workflows/building-off-line-package-arm.yml
vendored
Normal file
77
.github/workflows/building-off-line-package-arm.yml
vendored
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
name: Building Wine Runner Off-line Pages(arm64)
|
||||||
|
run-name: ${{ github.actor }} Building Wine Runner Off-line Pages(arm64) 🚀
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
jobs:
|
||||||
|
Explore-GitHub-Actions:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Building DEB
|
||||||
|
env:
|
||||||
|
GUSER: ${{ secrets.GUSER }}
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
UPLOADURL: ${{ secrets.UPLOADURL }}
|
||||||
|
run: |
|
||||||
|
# 获取所需数据
|
||||||
|
cpu=$(cat /proc/cpuinfo | grep processor | wc -l)
|
||||||
|
# 配置环境
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install python3-requests debootstrap xz-utils qemu-user-static -y
|
||||||
|
sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools psmisc -y
|
||||||
|
cd ~
|
||||||
|
mkdir package
|
||||||
|
# 部署 chroot 环境
|
||||||
|
sudo debootstrap --arch=arm64 bookworm debian
|
||||||
|
wget https://github.com/gfdgd-xi/deep-wine-runner/raw/main/pardus-chroot
|
||||||
|
sudo cp pardus-chroot /usr/bin
|
||||||
|
sudo chmod 777 /usr/bin/pardus-chroot
|
||||||
|
sudo pardus-chroot debian
|
||||||
|
### 配置容器
|
||||||
|
## 加入 wine 源
|
||||||
|
sudo chroot debian apt update
|
||||||
|
sudo chroot debian apt install sudo gpg wget -y
|
||||||
|
sudo chroot debian wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list
|
||||||
|
sudo chroot debian bash -c "wget -qO- https://ryanfortner.github.io/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg"
|
||||||
|
sudo chroot debian apt update
|
||||||
|
sudo chroot debian apt install box64
|
||||||
|
## 获取 Wine 运行器安装包
|
||||||
|
git clone https://github.com/gfdgd-xi/deep-wine-runner --depth=1
|
||||||
|
cd deep-wine-runner
|
||||||
|
make package-deb
|
||||||
|
cd ..
|
||||||
|
url=`python3 deep-wine-runner/off-line-shell/GetNewestDebUrl.py`
|
||||||
|
#wget $url
|
||||||
|
mv deep-wine-runner/spark-deepin-wine-runner.deb debian/tmp/wine-runner.deb
|
||||||
|
## 安装
|
||||||
|
sudo chroot debian apt install locales /tmp/wine-runner.deb fcitx xfce4-terminal -y
|
||||||
|
# 构建软件包
|
||||||
|
mkdir package/opt -p
|
||||||
|
mkdir package/runner -p
|
||||||
|
#sudo cp debian/opt/wine-devel package/opt -rv
|
||||||
|
sudo cp debian/usr/bin package -rv
|
||||||
|
sudo cp debian/usr/lib package -rv
|
||||||
|
#sudo cp debian/usr/lib64 package -rv
|
||||||
|
sudo cp debian/opt/apps/deepin-wine-runner/* package/runner -rv
|
||||||
|
cp deep-wine-runner/off-line-shell/run.sh package -rv
|
||||||
|
cp deep-wine-runner/off-line-shell/bwrap_amd64 package/bwrap -rv
|
||||||
|
sudo chmod 777 -Rv package ; true
|
||||||
|
cd package
|
||||||
|
# 添加 Wine 运行器离线模式标识
|
||||||
|
touch runner/off-line.lock
|
||||||
|
tar -cvf ../spark-deepin-wine-runner-off-line.tar *
|
||||||
|
cd ..
|
||||||
|
xz -T $cpu spark-deepin-wine-runner-off-line.tar
|
||||||
|
cp deep-wine-runner/off-line-shell/compression-packager.sh spark-deepin-wine-runner-off-line.sh
|
||||||
|
cat spark-deepin-wine-runner-off-line.tar.xz >> spark-deepin-wine-runner-off-line.sh
|
||||||
|
- name: upload result
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: spark-deepin-wine-runner-off-line.tar.xz
|
||||||
|
path: /home/runner/spark-deepin-wine-runner-off-line.tar.xz
|
||||||
|
- name: upload result
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: spark-deepin-wine-runner-off-line.sh
|
||||||
|
path: /home/runner/spark-deepin-wine-runner-off-line.sh
|
||||||
|
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ jobs:
|
|||||||
## 加入 wine 源
|
## 加入 wine 源
|
||||||
sudo chroot debian dpkg --add-architecture i386
|
sudo chroot debian dpkg --add-architecture i386
|
||||||
sudo chroot debian apt update
|
sudo chroot debian apt update
|
||||||
sudo chroot debian apt install wget -y
|
sudo chroot debian apt install sudo gpg wget -y
|
||||||
sudo chroot debian wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
sudo chroot debian wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||||
sudo chroot debian wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources
|
sudo chroot debian wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources
|
||||||
sudo chroot debian apt update
|
sudo chroot debian apt update
|
||||||
@@ -50,7 +50,6 @@ jobs:
|
|||||||
sudo cp debian/opt/wine-devel package/opt -rv
|
sudo cp debian/opt/wine-devel package/opt -rv
|
||||||
sudo cp debian/usr/bin package -rv
|
sudo cp debian/usr/bin package -rv
|
||||||
sudo cp debian/usr/lib package -rv
|
sudo cp debian/usr/lib package -rv
|
||||||
sudo cp debian/usr/lib32 package -rv
|
|
||||||
sudo cp debian/usr/lib64 package -rv
|
sudo cp debian/usr/lib64 package -rv
|
||||||
sudo cp debian/opt/apps/deepin-wine-runner/* package/runner -rv
|
sudo cp debian/opt/apps/deepin-wine-runner/* package/runner -rv
|
||||||
cp deep-wine-runner/off-line-shell/run.sh package -rv
|
cp deep-wine-runner/off-line-shell/run.sh package -rv
|
||||||
|
|||||||
1
Makefile
1
Makefile
@@ -147,6 +147,7 @@ copy-files:
|
|||||||
cp -rv InstallBox86.sh deb/opt/apps/deepin-wine-runner
|
cp -rv InstallBox86.sh deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv InstallRuntime deb/opt/apps/deepin-wine-runner
|
cp -rv InstallRuntime deb/opt/apps/deepin-wine-runner
|
||||||
if [[ ! -d novnc/utils/websockify ]]; then git submodule update --init --recursive ; fi
|
if [[ ! -d novnc/utils/websockify ]]; then git submodule update --init --recursive ; fi
|
||||||
|
if [[ ! -d novnc/utils/websockify ]]; then cd novnc/utils; git clone https://github.com/novnc/websockify ; fi
|
||||||
cp -rv novnc deb/opt/apps/deepin-wine-runner
|
cp -rv novnc deb/opt/apps/deepin-wine-runner
|
||||||
mkdir -pv deb/opt/apps/deepin-wine-runner/entries/
|
mkdir -pv deb/opt/apps/deepin-wine-runner/entries/
|
||||||
cp -rv deb/usr/share/applications deb/opt/apps/deepin-wine-runner/entries/applications
|
cp -rv deb/usr/share/applications deb/opt/apps/deepin-wine-runner/entries/applications
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ Wine 运行器 QQ 交流群:762985460
|
|||||||
Wine 运行器离线包下载地址:https://www.123pan.com/s/pDSKVv-pAJWv.html
|
Wine 运行器离线包下载地址:https://www.123pan.com/s/pDSKVv-pAJWv.html
|
||||||
|
|
||||||
### Wine 运行器 For Termux 安装方法以及注意事项
|
### Wine 运行器 For Termux 安装方法以及注意事项
|
||||||
|
Wine 运行器 For Termux 使用的是独立的安装包,详细见:
|
||||||
见 https://gitee.com/gfdgd-xi/deep-wine-runner-termux
|
见 https://gitee.com/gfdgd-xi/deep-wine-runner-termux
|
||||||
https://github.com/gfdgd-xi/deep-wine-runner-termux
|
https://github.com/gfdgd-xi/deep-wine-runner-termux
|
||||||
|
|
||||||
|
|||||||
@@ -24,11 +24,11 @@ Depends: python3,
|
|||||||
fakeroot,
|
fakeroot,
|
||||||
which,
|
which,
|
||||||
git,
|
git,
|
||||||
xfwm4,
|
|
||||||
tigervnc,
|
|
||||||
proot,
|
proot,
|
||||||
bash
|
bash
|
||||||
Recommends: winbind,
|
Recommends: winbind,
|
||||||
|
tigervnc | termux-x11-nightly | termux-x11,
|
||||||
|
xfwm4,
|
||||||
wimtools | wimlib,
|
wimtools | wimlib,
|
||||||
python3-pyquery,
|
python3-pyquery,
|
||||||
python3-pyqt5.qtwebengine | pyqtwebengine,
|
python3-pyqt5.qtwebengine | pyqtwebengine,
|
||||||
|
|||||||
@@ -108,7 +108,10 @@ 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
|
||||||
|
|
||||||
if [[ ! -f /data/data/com.termux/files/home/.vnc/passwd ]]; then
|
# 向服务器返回安装数加1(不显示内容且忽略错误)
|
||||||
|
python3 /opt/apps/deepin-wine-runner/Download.py $version > /dev/null 2>&1 | true
|
||||||
|
|
||||||
|
if [[ ! -f /data/data/com.termux/files/home/.vnc/passwd ]] && [[ -f /data/data/com.termux/files/usr/bin/vncpasswd ]]; then
|
||||||
echo 开始配置 VNCServer
|
echo 开始配置 VNCServer
|
||||||
echo 接下来需要设置 VNCServer 的密码
|
echo 接下来需要设置 VNCServer 的密码
|
||||||
set +e
|
set +e
|
||||||
@@ -121,11 +124,11 @@ if [[ ! -f /data/data/com.termux/files/home/.vnc/passwd ]]; then
|
|||||||
echo 设置有误,需重新设置
|
echo 设置有误,需重新设置
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
|
echo 'Wine 运行器安装完成,如果没有设置 $DISPLAY 变量的情况下打开 Wine 运行器'
|
||||||
|
echo '可以在浏览器输入网址 http://localhost:6080/vnc.html 远程访问'
|
||||||
|
echo '或者用 VNC 远程工具输入 localhost:5 远程访问'
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 向服务器返回安装数加1(不显示内容且忽略错误)
|
|
||||||
python3 /opt/apps/deepin-wine-runner/Download.py $version > /dev/null 2>&1 | true
|
|
||||||
|
|
||||||
echo 'Wine 运行器安装完成,如果没有设置 $DISPLAY 变量的情况下打开 Wine 运行器'
|
|
||||||
echo '可以在浏览器输入网址 http://localhost:6080/vnc.html 远程访问'
|
|
||||||
echo '或者用 VNC 远程工具输入 localhost:5 远程访问'
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"Version": "4.0.0",
|
"Version": "4.0.0.1",
|
||||||
"Time": "未知",
|
"Time": "未知",
|
||||||
"Thank": [
|
"Thank": [
|
||||||
"感谢 @り哥拽的冇气质° 和 @杨 提供了 3a5000(新世界的测试机器)",
|
"感谢 @り哥拽的冇气质° 和 @杨 提供了 3a5000(新世界的测试机器)",
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ CURRENT_DIR=$(dirname $(readlink -f "$0"))
|
|||||||
if [[ ! -d $TMPDIR/tmp ]]; then
|
if [[ ! -d $TMPDIR/tmp ]]; then
|
||||||
mkdir -p $TMPDIR/tmp
|
mkdir -p $TMPDIR/tmp
|
||||||
fi
|
fi
|
||||||
noVNCOption="--vnc localhost:5901"
|
noVNCOption="--listen localhost:6080"
|
||||||
VNCServerOption="-localhost yes"
|
VNCServerOption="-localhost yes"
|
||||||
if [[ -f $HOME/.config/deepin-wine-runner/vnc-public ]]; then
|
if [[ -f $HOME/.config/deepin-wine-runner/vnc-public ]]; then
|
||||||
unset noVNCOption
|
unset noVNCOption
|
||||||
unset VNCServerOption
|
unset VNCServerOption
|
||||||
fi
|
fi
|
||||||
if [[ $DISPLAY == "" ]] && [[ $WAYLAND_DISPLAY == "" ]]; then
|
if [[ $DISPLAY == "" ]] && [[ $WAYLAND_DISPLAY == "" ]] && [[ -f /data/data/com.termux/files/usr/bin/vncpasswd ]]; then
|
||||||
# 自动配置 NoVNC
|
# 自动配置 NoVNC
|
||||||
export DISPLAY=:5
|
export DISPLAY=:5
|
||||||
vncserver -kill :5
|
vncserver -kill :5
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"Version": "4.0.0",
|
"Version": "4.0.0.1",
|
||||||
"Time": "未知",
|
"Time": "未知",
|
||||||
"Thank": [
|
"Thank": [
|
||||||
"感谢 @り哥拽的冇气质° 和 @杨 提供了 3a5000(新世界的测试机器)",
|
"感谢 @り哥拽的冇气质° 和 @杨 提供了 3a5000(新世界的测试机器)",
|
||||||
|
|||||||
@@ -230,7 +230,29 @@ class GetInfo():
|
|||||||
"/usr/lib/mips64el-linux-gnuabi64/ld.so.1",
|
"/usr/lib/mips64el-linux-gnuabi64/ld.so.1",
|
||||||
"/usr/lib/powerpc64le-linux-gnu/ld64.so.2",
|
"/usr/lib/powerpc64le-linux-gnu/ld64.so.2",
|
||||||
"/usr/lib/loongarch64-linux-gnu/ld-linux-loongarch-lp64d.so.1",
|
"/usr/lib/loongarch64-linux-gnu/ld-linux-loongarch-lp64d.so.1",
|
||||||
"/usr/lib/loongarch64-linux-gnu/ld.so.1"
|
"/usr/lib/loongarch64-linux-gnu/ld.so.1",
|
||||||
|
"/usr/lib/ld-linux.so.2",
|
||||||
|
"/usr/lib/ld-linux-x86-64.so.2",
|
||||||
|
"/usr/lib/ld-linux-armhf.so.3",
|
||||||
|
"/usr/lib/ld-linux.so.3",
|
||||||
|
"/usr/lib/ld-linux-aarch64.so.1",
|
||||||
|
"/usr/lib/ld-linux-aarch64.so.1",
|
||||||
|
"/usr/lib/ld-linux-riscv64-lp64d.so.1",
|
||||||
|
"/usr/lib/ld.so.1",
|
||||||
|
"/usr/lib/ld64.so.2",
|
||||||
|
"/usr/lib/ld-linux-loongarch-lp64d.so.1",
|
||||||
|
"/usr/lib64/ld.so.1",
|
||||||
|
"/usr/lib64/ld-linux.so.2",
|
||||||
|
"/usr/lib64/ld-linux-x86-64.so.2",
|
||||||
|
"/usr/lib64/ld-linux-armhf.so.3",
|
||||||
|
"/usr/lib64/ld-linux.so.3",
|
||||||
|
"/usr/lib64/ld-linux-aarch64.so.1",
|
||||||
|
"/usr/lib64/ld-linux-aarch64.so.1",
|
||||||
|
"/usr/lib64/ld-linux-riscv64-lp64d.so.1",
|
||||||
|
"/usr/lib64/ld.so.1",
|
||||||
|
"/usr/lib64/ld64.so.2",
|
||||||
|
"/usr/lib64/ld-linux-loongarch-lp64d.so.1",
|
||||||
|
"/usr/lib64/ld.so.1"
|
||||||
]
|
]
|
||||||
for i in glibcPathList:
|
for i in glibcPathList:
|
||||||
if (os.path.exists(i)):
|
if (os.path.exists(i)):
|
||||||
@@ -250,11 +272,15 @@ class GetInfo():
|
|||||||
if (self.compareVersion(newestVersion, i) == -1):
|
if (self.compareVersion(newestVersion, i) == -1):
|
||||||
newestVersion = i
|
newestVersion = i
|
||||||
version = newestVersion
|
version = newestVersion
|
||||||
|
if (version == None):
|
||||||
|
version = "2.28" # 默认值
|
||||||
self.glibcVersion = version
|
self.glibcVersion = version
|
||||||
return version
|
return version
|
||||||
|
|
||||||
def compareVersion(self, version1: str, version2: str):
|
def compareVersion(self, version1: str, version2: str):
|
||||||
# 判断是不是版本号
|
# 判断是不是版本号
|
||||||
|
if (type(version1) != str or type(version2) != str):
|
||||||
|
return -2
|
||||||
if ((not "." in version1) or (not "." in version2)):
|
if ((not "." in version1) or (not "." in version2)):
|
||||||
return -2
|
return -2
|
||||||
if (version1 == version2):
|
if (version1 == version2):
|
||||||
|
|||||||
Reference in New Issue
Block a user