Repairing off line runner can't read /opt wine problem

This commit is contained in:
gfdgd xi 2023-12-23 20:38:21 +08:00
parent d0dc90b95d
commit a991d7de04
4 changed files with 41 additions and 4 deletions

@ -41,11 +41,13 @@ jobs:
## 安装
sudo chroot debian apt install locales /tmp/wine-runner.deb winehq-devel xfce4-terminal -y
# 构建软件包
sudo cp debian/opt package -rv
mkdir package/opt
sudo cp debian/opt/wine-devel package -rv
sudo cp debian/usr/bin 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/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

Binary file not shown.

After

(image error) Size: 34 KiB

@ -2612,7 +2612,8 @@ updateThingsString = QtCore.QCoreApplication.translate("U", '''<b>3.6.0 更新
4Wine 安装器支持根据地区自动选择国内源以及国际源
5Wine 安装器新增 Sourceforge
6新增 Wine 运行报告生成功能
7初步英语翻译''')
7初步英语翻译
8新增离线安装包只支持 amd64''')
for i in information["Thank"]:
thankText += f"{i}\n"
updateTime = "2023年12月23日"

@ -1,10 +1,44 @@
#!/bin/bash
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
# /opt 目录识别
option=""
for path in `ls /opt`
do
echo /opt/$path
if [[ $path != wine-staging ]]; then
# 支持识别正确的 wine
mkdir -pv "$SHELL_FOLDER/opt/$path"
option="$option --dev-bind /opt/$path /opt/$path"
fi
done
wineName=(deepin-wine
deepin-wine8-stable
deepin-wine6-stable
deepin-wine5-stable
spark-wine
spark-wine8
deepin-wine6-vannila
spark-wine7-devel
spark-wine8-wow
deepin-wine5
ukylin-wine
okylin-wine
bookworm-run
)
for i in ${wineName[*]}; do
if [[ -e /usr/bin/$i ]]; then
option="$option --dev-bind /usr/bin/$i /usr/bin/$i"
if [[ ! -e "$SHELL_FOLDER/bin/$i" ]]; then
touch "$SHELL_FOLDER/bin/$i"
fi
fi
done
"$SHELL_FOLDER/bwrap" --dev-bind / / \
--dev-bind "$SHELL_FOLDER/opt" /opt \
--dev-bind "$SHELL_FOLDER/bin" /usr/bin \
--dev-bind "$SHELL_FOLDER/lib" /usr/lib \
--dev-bind "$SHELL_FOLDER/lib32" /usr/lib32 \
--dev-bind "$SHELL_FOLDER/lib64" /usr/lib64 \
--dev-bind /usr/lib/locale /usr/lib/locale\
deepin-wine-runner
--dev-bind /usr/lib/locale /usr/lib/locale \
$option \
$SHELL_FOLDER/runner/deepin-wine-runner