fix-arm-wine8

This commit is contained in:
2024-04-26 14:09:00 +08:00
parent 634953991f
commit 65373ab5b1
3 changed files with 83 additions and 0 deletions

View File

@@ -41,6 +41,14 @@ fi
if [ $APPRUN_CMD ]; then if [ $APPRUN_CMD ]; then
WINE_CMD=$APPRUN_CMD WINE_CMD=$APPRUN_CMD
fi fi
#####################
if [ "$WINE_CMD" = "deepin-wine8-stable" ] && [ "$(arch)" != "x86_64" ];then
WINE_CMD="/opt/durapps/spark-dwine-helper/deepin-wine8-stable-wrapper/deepin-wine8-stable"
log.warn "Using deepin-wine8-stable wrapper to fix arm problem"
fi
#####################
if [ $SPECIFY_SHELL_DIR ]; then if [ $SPECIFY_SHELL_DIR ]; then
SHELL_DIR=$SPECIFY_SHELL_DIR SHELL_DIR=$SPECIFY_SHELL_DIR

View File

@@ -0,0 +1,36 @@
#!/bin/bash
source $(dirname $0)/log-function.bashimport
Get_Dist_Name()
{
if grep -Eqii "Deepin" /etc/issue || grep -Eq "Deepin" /etc/*-release; then
DISTRO='Deepin'
elif grep -Eqi "UnionTech" /etc/issue || grep -Eq "UnionTech" /etc/*-release; then
DISTRO='UniontechOS'
elif grep -Eqi "UOS" /etc/issue || grep -Eq "UOS" /etc/*-release; then
DISTRO='UniontechOS'
else
DISTRO='OtherOS'
fi
}
Get_Dist_Name
## 1. If WINEPREFIX is not set, use ~/.wine
if [ "$WINEPREFIX" = "" ];then
export WINEPREFIX=$HOME/.wine
fi
if [ "$DISTRO" != "Deepin" ] && [ "$DISTRO" != "UniontechOS" ];then
log.warn "WARNING:USING BOX64 INSTEAD OF DEEPIN-BOX64,SOME APP MAY FAIL TO LAUNCH"
spark-box64 /opt/deepin-wine8-stable/bin/wine "$@"
else
deepin-wine8-stable "$@"
fi

View File

@@ -0,0 +1,39 @@
# ===== Log =====
# log.info xxx
# log.warn xxx
# log.info xxx
# log.debug xxx
# 带颜色的echo
function log.color_output() {
local color=$1
shift 1
echo >&2 -e "\033[${color}m$@\033[0m"
return 0
}
# Log is named without prefix "utils." for convenience
# Usage: log.log <level> ...content
function log.log() {
if [[ $# < 2 ]]; then
return -1
fi
local level=$1
shift 1
case $level in
error) log.color_output "0;31" "[ERROR] $@" ;;
warn) log.color_output "1;33" "[WARN] $@" ;;
info) log.color_output "1;37" "[INFO] $@" ;;
debug) log.color_output "1;30" "[DEBUG] $@" ;;
esac
return 0
}
function log.error() { log.log "error" "$@"; }
function log.warn() { log.log "warn" $@; }
function log.info() { log.log "info" $@; }
function log.debug() { log.log "debug" $@; }