forked from CastroFidel/winehelper
cleaning and translations
This commit is contained in:
parent
ed8d28c81f
commit
8f6300c6b8
@ -22,7 +22,7 @@ windows приложения. Подробнее по ссылке: https://www.
|
||||
apt-get install {i586-,}{glibc-core,libstdc++6,glibc-pthread,glibc-nss,\
|
||||
libOSMesa,libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\
|
||||
libgnutls30,libGL,libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,\
|
||||
libvulkan1,libcups} winetricks ca-certificates cups-pdf || fatal "Не удалось установить зависимости."
|
||||
libvulkan1,libcups} || fatal "Не удалось установить зависимости."
|
||||
|
||||
apt-get install {i586-,}wine
|
||||
|
||||
|
109
winehelper
109
winehelper
@ -106,19 +106,15 @@ fi
|
||||
|
||||
##### ROOT #####
|
||||
su_run () {
|
||||
print_info "Для продолжения установки зависимостей введите root пароль..."
|
||||
print_info "Для продолжения установки введите root пароль..."
|
||||
su - -c "$@"
|
||||
}
|
||||
|
||||
##### CHECK DEPENDENCIES #####
|
||||
# yad zenity cups-pdf
|
||||
|
||||
if rpm -q {i586-,}{wine,glibc-core,libstdc++6,glibc-pthread,glibc-nss,libOSMesa,\
|
||||
if ! rpm -q {i586-,}{wine,glibc-core,libstdc++6,glibc-pthread,glibc-nss,libOSMesa,\
|
||||
libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,libgnutls30,libGL,\
|
||||
libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,libvulkan1,libcups} \
|
||||
winetricks ca-certificates cups-pdf 1>/dev/null
|
||||
then : # Зависимости установлены. Пропускаем...
|
||||
else
|
||||
libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,libvulkan1,libcups} 1>/dev/null
|
||||
then
|
||||
if su_run "$DATA_PATH/dependencies.sh"
|
||||
then print_info "Зависимости успешно установлены. Продолжаем работу $SCRIPT_NAME"
|
||||
else fatal "Не удалось установить зависимости. Работа $SCRIPT_NAME прервана."
|
||||
@ -153,9 +149,9 @@ try_remove_dir () {
|
||||
}
|
||||
|
||||
try_copy_file () {
|
||||
if [[ ! -f "$1" ]] ; then print_info "file $1 not found for copy" && return 1
|
||||
elif [[ -z "$2" ]] ; then print_error "no way to copy file $1" && return 1
|
||||
elif [[ -L "$2" ]] ; then print_warning "$2 is a file with a symbolic link"
|
||||
if [[ ! -f "$1" ]] ; then print_info "файла $1 не существует для копирования" && return 1
|
||||
elif [[ -z "$2" ]] ; then fatal "нет пути для копирования файла $1"
|
||||
elif [[ -L "$2" ]] ; then
|
||||
try_remove_file "$2"
|
||||
cp -f "$1" "$2" && return 0 || return 1
|
||||
else
|
||||
@ -165,24 +161,24 @@ try_copy_file () {
|
||||
}
|
||||
|
||||
try_copy_dir () {
|
||||
if [[ ! -d "$1" ]] ; then print_info "directory $1 not found for copy"
|
||||
elif [[ -z "$2" ]] ; then print_error "no way to copy directory $1"
|
||||
if [[ ! -d "$1" ]] ; then print_info "каталога $1 не существует для копирования"
|
||||
elif [[ -z "$2" ]] ; then fatal "нет пути для копирования каталога $1"
|
||||
else
|
||||
cp -fr "$1" "$2"
|
||||
[[ "$?" != 0 ]] && print_error "failed to copy directory $1 to $2" || return 0
|
||||
[[ "$?" != 0 ]] && print_error "не удалось скопировать каталог $1 в $2" || return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
try_force_link_file () {
|
||||
if [[ ! -f "$1" ]] ; then
|
||||
print_warning "file not found for link: $1"
|
||||
print_warning "нет файла для создания символьной ссылки: $1"
|
||||
if [[ -f "$2" ]] ; then
|
||||
try_remove_file "$2"
|
||||
print_warning "removed old link: $2"
|
||||
print_warning "удаляем символьную ссылку: $2"
|
||||
fi
|
||||
return 1
|
||||
elif [[ -z "$2" ]] ; then print_error "no way to link file $1" && return 1
|
||||
elif [[ -z "$2" ]] ; then fatal "нет пути для создания символьной ссылки на файл $1"
|
||||
else
|
||||
try_remove_file "$2"
|
||||
ln -s -f -r "$1" "$2"
|
||||
@ -191,25 +187,12 @@ try_force_link_file () {
|
||||
return 1
|
||||
}
|
||||
|
||||
check_symlink () {
|
||||
local CHK_SYMLINK_FILE="$(file "$1")"
|
||||
if [[ -n "$(echo "$CHK_SYMLINK_FILE" | grep -v "broken" | grep "symbolic link to" | awk '{print $1}')" ]] ; then
|
||||
return 0
|
||||
elif [[ -n "$(echo "$CHK_SYMLINK_FILE" | grep "broken symbolic link to" | awk '{print $1}')" ]] ; then
|
||||
print_error "remove broken symlink: $CHK_SYMLINK_FILE"
|
||||
rm -fr "$CHK_SYMLINK_FILE"
|
||||
return 1
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
try_force_link_dir () {
|
||||
if [[ ! -d "$1" ]] ; then print_info "directory $1 not found for link"
|
||||
elif [[ -z "$2" ]] ; then print_error "no way to link directory $1"
|
||||
if [[ ! -d "$1" ]] ; then print_info "каталога $1 не существует для создания символьной сссылки"
|
||||
elif [[ -z "$2" ]] ; then fatal "не указан путь для создания символьной ссылки на каталог $1"
|
||||
else
|
||||
ln -s -f -r "$1" "$2"
|
||||
[[ "$?" != 0 ]] && print_error "failed to link directory $1 to $2" || return 0
|
||||
[[ "$?" != 0 ]] && print_error "не удалось сделать символьную ссылку на каталог $1 по пути $2" || return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
@ -309,7 +292,6 @@ try_copy_wine_dll_to_pfx_32() {
|
||||
fi
|
||||
}
|
||||
|
||||
##### OVERRIDE VARIABLES FUNCTIONS #####
|
||||
var_winedlloverride_update () {
|
||||
if [[ -n "${WINEDLLOVERRIDES}" ]]
|
||||
then export WINEDLLOVERRIDES="${1};${WINEDLLOVERRIDES}"
|
||||
@ -355,7 +337,6 @@ var_ld_library_path_update () {
|
||||
return 0
|
||||
}
|
||||
|
||||
##### CREATE DESKTOP FILE #####
|
||||
create_desktop () {
|
||||
local name_desktop="$1"
|
||||
local exe_file="$2"
|
||||
@ -382,11 +363,9 @@ create_desktop () {
|
||||
fi
|
||||
fi
|
||||
|
||||
create_new_dir "$WH_MENU_DIR"
|
||||
|
||||
[[ ! -f "$icon_file" ]] && icon_file=wine
|
||||
|
||||
# создаем .desktop файл
|
||||
create_new_dir "$WH_MENU_DIR"
|
||||
[[ ! -f "$icon_file" ]] && icon_file=wine
|
||||
{
|
||||
echo "[Desktop Entry]"
|
||||
echo "Name=$name_desktop"
|
||||
@ -401,7 +380,6 @@ create_desktop () {
|
||||
|
||||
cp -f "$USER_WORK_PATH/$desktop_filename.desktop" "$WH_MENU_DIR/"
|
||||
|
||||
|
||||
# добавляем информацию о приложении в "$WINEPREFIX/desktop.list"
|
||||
if [[ -f "$WINEPREFIX/desktop.list" ]] \
|
||||
&& grep -qe "^${name_desktop}=" "$WINEPREFIX/desktop.list"
|
||||
@ -470,7 +448,6 @@ EOF
|
||||
fi
|
||||
}
|
||||
|
||||
##### REMOVE DESKTOP FILE #####
|
||||
remove_desktop () {
|
||||
if [[ -n "$1" ]] ; then
|
||||
try_remove_file "$USER_WORK_PATH/$1.desktop"
|
||||
@ -491,7 +468,6 @@ remove_desktop () {
|
||||
|
||||
}
|
||||
|
||||
##### INSTALLED PROGRAMS #####
|
||||
check_installed_programs () {
|
||||
for desktop_file in "$USER_WORK_PATH"/*.desktop ; do
|
||||
if [[ ! -f "$desktop_file" ]] ; then
|
||||
@ -530,7 +506,6 @@ run_installed_programs () {
|
||||
fi
|
||||
}
|
||||
|
||||
##### USED WINED3D LIBRARY #####
|
||||
init_wined3d () {
|
||||
if [[ "$USE_RENDERER" != "proton" ]] ; then
|
||||
WINED3D_FILES="d3d8 d3d9 d3d10_1 d3d10 d3d10core d3d11 dxgi d3d12 d3d12core"
|
||||
@ -548,7 +523,6 @@ init_wined3d () {
|
||||
fi
|
||||
}
|
||||
|
||||
##### CHECK VULKAN LIBRARY #####
|
||||
init_dxvk () {
|
||||
check_variables USE_DXVK_VER "$1"
|
||||
|
||||
@ -616,27 +590,19 @@ init_vkd3d () {
|
||||
done
|
||||
}
|
||||
|
||||
##### DOWNLOAD WINE #####
|
||||
download_wine () {
|
||||
if [[ ! -d "$WH_DIST_DIR/$WH_WINE_USE" ]] ; then
|
||||
WINE_URL="$CLOUD_URL/$WH_WINE_USE.tar.xz"
|
||||
local WINE_PACKAGE="$WH_TMP_DIR/${WH_WINE_USE}.tar.xz"
|
||||
if try_download "$WINE_URL" "$WINE_PACKAGE" check256sum ; then
|
||||
if unpack "$WINE_PACKAGE" "$WH_DIST_DIR/" ; then
|
||||
echo "$WH_WINE_USE" > "$WH_DIST_DIR/$WH_WINE_USE/version"
|
||||
try_remove_file "$WINE_PACKAGE"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
##### INITIAL WINE SETTINGS #####
|
||||
init_wine_ver () {
|
||||
if [[ "$WH_WINE_USE" != system* ]] ; then
|
||||
export WINEDIR="$WH_DIST_DIR/$WH_WINE_USE"
|
||||
|
||||
if [[ ! -d "$WINEDIR" ]] ; then
|
||||
download_wine
|
||||
WINE_URL="$CLOUD_URL/$WH_WINE_USE.tar.xz"
|
||||
local WINE_PACKAGE="$WH_TMP_DIR/${WH_WINE_USE}.tar.xz"
|
||||
if try_download "$WINE_URL" "$WINE_PACKAGE" check256sum ; then
|
||||
if unpack "$WINE_PACKAGE" "$WH_DIST_DIR/" ; then
|
||||
echo "$WH_WINE_USE" > "$WH_DIST_DIR/$WH_WINE_USE/version"
|
||||
try_remove_file "$WINE_PACKAGE"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
export WINE="${WINEDIR}/bin/wine"
|
||||
@ -731,9 +697,8 @@ init_wine_ver () {
|
||||
print_info "Используется версия wine: $WH_WINE_USE"
|
||||
}
|
||||
|
||||
##### INITIAL WINEPREFIX SETTINGS #####
|
||||
get_and_set_reg_file () {
|
||||
|
||||
|
||||
convert_dec_and_hex () {
|
||||
local type=$1
|
||||
local num=$2
|
||||
@ -841,10 +806,6 @@ get_and_set_reg_file () {
|
||||
}
|
||||
|
||||
wait_wineserver () {
|
||||
# while [[ -n "$(ls -l /proc/*/exe 2>/dev/null | grep -ie portproton | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ]] ; do
|
||||
# sleep 1
|
||||
# done
|
||||
|
||||
"$WINESERVER" -w
|
||||
}
|
||||
|
||||
@ -899,7 +860,7 @@ check_prefix_var () {
|
||||
print_info "Выбран префикс: $WINEPREFIX"
|
||||
fi
|
||||
|
||||
if echo "$WINEPREFIX" | grep -v '/' ; then
|
||||
if echo "$WINEPREFIX" | grep -qv '/' ; then
|
||||
export WINEPREFIX="$WH_PREFIXES_DIR/$WINEPREFIX"
|
||||
fi
|
||||
|
||||
@ -925,8 +886,8 @@ init_wineprefix () {
|
||||
fi
|
||||
print_info "Обновление префикса $WINEPREFIX."
|
||||
if [[ -d "$WINEPREFIX/drive_c/windows" ]]
|
||||
then env WINEDLLOVERRIDES="winegstreamer=" "$WINELOADER" wineboot -u
|
||||
else env WINEDLLOVERRIDES="winegstreamer=" "$WINELOADER" wineboot -i
|
||||
then "$WINELOADER" wineboot -u
|
||||
else "$WINELOADER" wineboot -i
|
||||
fi
|
||||
touch "$WINEPREFIX/.firstboot"
|
||||
wait_wineserver
|
||||
@ -939,7 +900,7 @@ init_wineprefix () {
|
||||
&& [[ "$WINEARCH" != "win32" ]]
|
||||
then export WH_WINDOWS_VER="xp64"
|
||||
fi
|
||||
env WINEDLLOVERRIDES="winegstreamer=" "$WINELOADER" winecfg -v $(echo "win${WH_WINDOWS_VER}" | sed 's/.*/\L&/')
|
||||
"$WINELOADER" winecfg -v $(echo "win${WH_WINDOWS_VER}" | sed 's/.*/\L&/')
|
||||
wait_wineserver
|
||||
print_info "Windows версия изменена на win${WH_WINDOWS_VER}"
|
||||
fi
|
||||
@ -1035,7 +996,6 @@ init_wineprefix () {
|
||||
done
|
||||
}
|
||||
|
||||
##### KILL AUTOSTART AFTER INSTALLING #####
|
||||
kill_autostart () {
|
||||
[[ -z "${1}" ]] && fatal "Нет аргумента для функции kill_autostart."
|
||||
[[ -z "${2}" ]] && SWAIT=3 || SWAIT="${2}"
|
||||
@ -1077,7 +1037,7 @@ use_winetricks () {
|
||||
print_info "Пробуем установить компоненты: ${WH_DLL_NEED_INSTALL}"
|
||||
print_info "Запускаем WINETRICKS..."
|
||||
export WINETRICKS_DOWNLOADER="curl"
|
||||
env WINEDLLOVERRIDES="winegstreamer=" "$WH_WINETRICKS" -q ${WH_DLL_NEED_INSTALL}
|
||||
"$WH_WINETRICKS" -q ${WH_DLL_NEED_INSTALL}
|
||||
wait_wineserver
|
||||
fi
|
||||
fi
|
||||
@ -1112,8 +1072,7 @@ init_database () {
|
||||
print_info "Используется файл настроек: $WHDB_FILE"
|
||||
. "$WHDB_FILE"
|
||||
elif check_prefix_var && [[ -f "$WINEPREFIX/last.conf" ]] ; then
|
||||
print_info "Найдены настройки из предыдущего использования префикса."
|
||||
echo "$WINEPREFIX/last.conf"
|
||||
print_info "Найдены настройки из предыдущего использования префикса: $WINEPREFIX"
|
||||
cat "$WINEPREFIX/last.conf"
|
||||
. "$WINEPREFIX/last.conf"
|
||||
else
|
||||
@ -1234,7 +1193,6 @@ run_autoinstall () {
|
||||
echo
|
||||
}
|
||||
|
||||
##### REMOVE PREFIX #####
|
||||
remove_prefix() {
|
||||
local prefix_name="$1"
|
||||
local prefix_path="$WH_PREFIXES_DIR/$prefix_name"
|
||||
@ -1286,7 +1244,6 @@ remove_prefix() {
|
||||
fi
|
||||
}
|
||||
|
||||
##### REMOVE WINEHELPER #####
|
||||
remove_winehelper () {
|
||||
local answer
|
||||
if [[ $1 =~ --force|-y ]] ; then
|
||||
|
Loading…
x
Reference in New Issue
Block a user