Files
deep-wine-runner/.github/workflows/building-off-line-package-loongarch64.yml

84 lines
4.1 KiB
YAML

name: Building Wine Runner Off-line Pages(loongarch64)
run-name: ${{ github.actor }} Building Wine Runner Off-line Pages(loongarch64) 🚀
on:
push:
workflow_dispatch:
jobs:
Explore-GitHub-Actions:
runs-on: ubuntu-22.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 -y
sudo apt install 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/
wget https://github.com/sunhaiyong1978/CLFS-for-LoongArch/releases/download/20210903/qemu-x86_64-to-loongarch64
sudo cp qemu-x86_64-to-loongarch64 /usr/bin/qemu-loongarch64
sudo chmod 777 /usr/bin/qemu-loongarch64
echo ":qemu-loongarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02\x01:\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/bin/qemu-loongarch64:" > /proc/sys/fs/binfmt_misc/register
cd ~
mkdir package
# 部署 chroot 环境
sudo debootstrap --no-check-gpg --arch=loongarch64 bookworm DaoXiangHu-stable https://pkg.loongnix.cn/loongnix/20
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@v3
with:
name: spark-deepin-wine-runner-off-line.tar.xz
path: /home/runner/spark-deepin-wine-runner-off-line.tar.xz