name: Building Wine Runner Off-line Pages run-name: ${{ github.actor }} Building Wine Runner Off-line Pages 🚀 on: push: workflow_dispatch: jobs: amd64: runs-on: ubuntu-latest steps: - name: Building DEB run: | # 获取所需数据 cpu=$(cat /proc/cpuinfo | grep processor | wc -l) # 配置环境 sudo apt update sudo apt install python3-requests debootstrap xz-utils -y sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools psmisc -y cd ~ mkdir package # 部署 chroot 环境 sudo debootstrap 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 dpkg --add-architecture i386 sudo chroot debian apt update 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 -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources sudo chroot debian bash -c "echo 'deb [trusted=true] https://repo.gxde.top/gxde-os/bixie ./' | sudo tee /etc/apt/sources.list.d/gxde-stable.list" sudo chroot debian bash -c "echo 'deb [trusted=true] https://repo.gxde.top/gxde-os/tianlu ./' | sudo tee /etc/apt/sources.list.d/gxde-testing.list" sudo chroot debian apt update ## 获取 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 winehq-devel fcitx xfce4-terminal -y sudo chroot debian apt install locales qtwayland5 xwayland thunar -y sudo chroot debian apt install libxenmisc4.17 libxenstore4 libxenforeignmemory1 -y # 构建软件包 mkdir package/runner -p sudo cp debian/usr/bin package -rv sudo cp debian/usr/lib package -rv sudo cp debian/usr/share package -rv sudo cp debian/usr/lib64 package -rv sudo cp debian/opt/apps/deepin-wine-runner/* package/runner -rv # 精简运行器体积 sudo rm -rf package/runner/2048 sudo rm -rf package/runner/geek.exe sudo rm -rf package/runner/BeCyIconGrabber.exe sudo rm -rf package/runner/Icon sudo rm -rf package/runner/RegShot.exe sudo rm -rf package/runner/novnc sudo rm -rf package/bin/wine* # 修复 which 命令的问题导致无法正常识别终端的问题 sudo cp package/bin/which.debianutils package/bin/which -rv # 内置 winehq sudo cp debian/opt/wine-devel package/runner/wine -rv cp deep-wine-runner/off-line-shell/run.sh package -rv cp deep-wine-runner/off-line-shell/run-system-bwrap.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 - name: upload result uses: actions/upload-artifact@v4 with: name: spark-deepin-wine-runner-off-line-amd64.tar.xz path: /home/runner/spark-deepin-wine-runner-off-line.tar.xz arm64: runs-on: ubuntu-latest steps: - name: Building DEB 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 bash -c "echo 'deb [trusted=true] https://repo.gxde.top/gxde-os/bixie ./' | sudo tee /etc/apt/sources.list.d/gxde-stable.list" sudo chroot debian bash -c "echo 'deb [trusted=true] https://repo.gxde.top/gxde-os/tianlu ./' | sudo tee /etc/apt/sources.list.d/gxde-testing.list" sudo chroot debian apt update sudo chroot debian apt install box64 hangover-wine -y ## 获取 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 qtwayland5 xwayland thunar -y sudo chroot debian apt install libxenmisc4.17 libxenstore4 libxenforeignmemory1 -y # 构建软件包 mkdir package/runner -p sudo cp debian/usr/local/bin package -rv sudo cp debian/usr/bin package -rv sudo cp debian/usr/lib package -rv sudo cp debian/usr/share package -rv #sudo cp debian/usr/lib64 package -rv sudo cp debian/opt/apps/deepin-wine-runner/* package/runner -rv # 精简运行器体积 sudo rm -rf package/runner/2048 sudo rm -rf package/runner/geek.exe sudo rm -rf package/runner/BeCyIconGrabber.exe sudo rm -rf package/runner/Icon sudo rm -rf package/runner/RegShot.exe sudo rm -rf package/runner/novnc # 修复 which 命令的问题导致无法正常识别终端的问题 sudo cp package/bin/which.debianutils package/bin/which -rv cp deep-wine-runner/off-line-shell/run.sh package -rv cp deep-wine-runner/off-line-shell/run-system-bwrap.sh package -rv cp deep-wine-runner/off-line-shell/bwrap_arm64 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 - name: upload result uses: actions/upload-artifact@v4 with: name: spark-deepin-wine-runner-off-line-arm64.tar.xz path: /home/runner/spark-deepin-wine-runner-off-line.tar.xz loongarch64: runs-on: ubuntu-20.04 steps: - name: Building DEB run: | # 获取所需数据 cpu=$(cat /proc/cpuinfo | grep processor | wc -l) # 配置环境 sudo apt update sudo apt install python3-requests debootstrap xz-utils qemu-user-static git aria2 squashfs-tools -y sudo apt install binfmt-support qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools psmisc wget -y git clone https://github.com/gfdgd-xi/deep-wine-runner --depth=1 sudo cp deep-wine-runner/.github/workflows/DaoXiangHu-stable /usr/share/debootstrap/scripts/ git clone https://gitee.com/loongarch-kvm/qemu-loongarch64-static cd qemu-loongarch64-static tar -xvf qemu-loongarch64-static.tar.gz cd qemu-loongarch64-static sudo bash qemu-binfmt-conf.sh sudo cp qemu-loongarch64 /usr/local/bin/ cd ~ mkdir package # 部署 chroot 环境 #sudo debootstrap --no-check-gpg --arch=loongarch64 DaoXiangHu-stable debian https://pkg.loongnix.cn/loongnix/20 aria2c -x 16 -s 16 https://sourceforge.net/projects/deep-wine-runner-wine-download/files/loongnix/filesystem.squashfs/download sudo unsquashfs filesystem.squashfs sudo mv squashfs-root debian sudo cp /usr/local/bin/qemu-loongarch64 debian/usr/local/bin/qemu-loongarch64 -rv 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 apt update sudo chroot debian apt install -y lat i386-runtime-base i386-runtime-extra sudo chroot debian apt install -y wine ## 获取 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 qtwayland5 xwayland thunar -y sudo chroot debian apt install libxenmisc4.17 libxenstore4 libxenforeignmemory1 -y # 构建软件包 mkdir package/runner -p sudo cp debian/usr/local/bin package -rv sudo cp debian/usr/bin package -rv sudo cp debian/usr/lib package -rv sudo cp debian/usr/share package -rv #sudo cp debian/usr/lib64 package -rv sudo cp debian/opt/apps/deepin-wine-runner/* package/runner -rv # 精简运行器体积 sudo rm -rf package/runner/2048 sudo rm -rf package/runner/geek.exe sudo rm -rf package/runner/BeCyIconGrabber.exe sudo rm -rf package/runner/Icon sudo rm -rf package/runner/RegShot.exe sudo rm -rf package/runner/novnc sudo rm -rf package/bin/wine* # 修复 which 命令的问题导致无法正常识别终端的问题 sudo cp package/bin/which.debianutils package/bin/which -rv cp deep-wine-runner/off-line-shell/run.sh package -rv cp deep-wine-runner/off-line-shell/run-system-bwrap.sh package -rv cp deep-wine-runner/off-line-shell/bwrap_loongarch64 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 - name: upload result uses: actions/upload-artifact@v4 with: name: spark-deepin-wine-runner-off-line-loongarch64.tar.xz path: /home/runner/spark-deepin-wine-runner-off-line.tar.xz