Compare commits

...

6 Commits

3 changed files with 39 additions and 16 deletions

View File

@ -1,5 +1,10 @@
История изменений: История изменений:
0.4.0:
* добавлена автоматическая установка и настройка wine-cpcsp_proxy при
использовании переменной WH_USE_CPCSP_PROXY=1
* подготовка функций для создания бэкапов префикса
0.3.9: 0.3.9:
* обновлен скрипт установки scadoffice * обновлен скрипт установки scadoffice
* добавлена автоустановка: * добавлена автоустановка:
@ -8,7 +13,8 @@
* добавлена возможность удаления префикса * добавлена возможность удаления префикса
0.3.8: 0.3.8:
* добавлена возможность ассоциации и запуска файлов из WINE в нативном Linux приложении * добавлена возможность ассоциации и запуска файлов из WINE в нативном Linux
приложении с помощью перемененной. Пример: WH_XDG_OPEN="rtf txt doc"
* добавлен выбор префикса, если переменная WINEPREFIX не объявлена * добавлен выбор префикса, если переменная WINEPREFIX не объявлена
* добавлено сохранение последней конфигурации использования префикса * добавлено сохранение последней конфигурации использования префикса
* добавлено сохранение скписка создаваемых ярлыков для приложений * добавлено сохранение скписка создаваемых ярлыков для приложений

View File

@ -3,6 +3,7 @@
3571c40a787f0386e0160b5d471b1bf11fa2a235b497156cd38198b90bcb4a9f wine_x_tkg_10-0_i586.tar.xz 3571c40a787f0386e0160b5d471b1bf11fa2a235b497156cd38198b90bcb4a9f wine_x_tkg_10-0_i586.tar.xz
71d6fdfd23d7988471d345c68e81699b8af931352b03dd216424b398f63c7b12 wine_x_tkg_10-0_amd64.tar.xz 71d6fdfd23d7988471d345c68e81699b8af931352b03dd216424b398f63c7b12 wine_x_tkg_10-0_amd64.tar.xz
fb7fdfde96de10a1b3b051bdf2727b6a7c1768b878483726454dd6726e9e0193 wine-9.0.14-alt1-i586-spravkibk.tar.xz fb7fdfde96de10a1b3b051bdf2727b6a7c1768b878483726454dd6726e9e0193 wine-9.0.14-alt1-i586-spravkibk.tar.xz
e0a84bb4908c3927954d7eef6b8ac7212e442b8c107d000c6890fec340f96183 wine-9.0.14-alt1-amd64.tar.xz
6f86d2220b65b709bf88c6f829a4998de3b929cc2091cd1333a51c32e1491b79 wine-9.0.9-alt1-i586.tar.xz 6f86d2220b65b709bf88c6f829a4998de3b929cc2091cd1333a51c32e1491b79 wine-9.0.9-alt1-i586.tar.xz
##### DXVK ##### ##### DXVK #####

View File

@ -12,7 +12,11 @@ print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n"
print_info () { printf "\E[36m%s Информация: \"$@\" %s\e[0m\n" ;} print_info () { printf "\E[36m%s Информация: \"$@\" %s\e[0m\n" ;}
print_ok () { printf "\E[35m%s Успех: $@ %s\e[0m\n" ;} print_ok () { printf "\E[35m%s Успех: $@ %s\e[0m\n" ;}
print_var () { for vp in $@ ; do echo "${vp}=${!vp}" ; done ;} print_var () { for vp in $@ ; do echo "${vp}=${!vp}" ; done ;}
fatal () { print_error "$@" ; exit 1 ;} fatal () {
print_error "$@"
[[ -n "$WINESERVER" ]] && "$WINESERVER" -w
exit 1
}
##### CHECK VARIABLES ##### ##### CHECK VARIABLES #####
check_variables () { [[ -z ${!1} ]] && export $1="$2" ;} check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
@ -299,9 +303,9 @@ var_winedlloverride_update () {
fi fi
} }
var_vkd3d_config_update () { var_dxvk_config_update () {
if [[ -n "${DXVK_CONFIG}" ]] if [[ -n "${DXVK_CONFIG}" ]]
then export DXVK_CONFIG="${1}; ${DXVK_CONFIG}" then export DXVK_CONFIG="${1};${DXVK_CONFIG}"
else export DXVK_CONFIG="${1}" else export DXVK_CONFIG="${1}"
fi fi
} }
@ -385,7 +389,9 @@ create_desktop () {
&& grep -qe "^${name_desktop}=" "$WINEPREFIX/desktop.list" && grep -qe "^${name_desktop}=" "$WINEPREFIX/desktop.list"
then sed -i "/^$name_desktop=/d" "$WINEPREFIX/desktop.list" then sed -i "/^$name_desktop=/d" "$WINEPREFIX/desktop.list"
fi fi
echo "$name_desktop=${exe_file//$WINEPREFIX/}" >> "$WINEPREFIX/desktop.list" create_new_dir "$WINEPREFIX/icons"
try_copy_file "$icon_file" "$WINEPREFIX/icons/"
echo "$name_desktop=${exe_file//$WINEPREFIX/}=$(basename "$icon_file")" >> "$WINEPREFIX/desktop.list"
# создаем файл категории для меню # создаем файл категории для меню
create_new_dir "$HOME/.local/share/desktop-directories" create_new_dir "$HOME/.local/share/desktop-directories"
@ -977,13 +983,27 @@ init_wineprefix () {
else cpcsp_proxy_cmd=("${WINELOADER}64" "cpcsp_proxy_setup.exe") else cpcsp_proxy_cmd=("${WINELOADER}64" "cpcsp_proxy_setup.exe")
fi fi
print_info "Запускаем настройку cpcsp_proxy:" print_info "Запускаем настройку cpcsp_proxy..."
echo "${cpcsp_proxy_cmd[*]}" unset CPCSP_PROXY_OK
if "${cpcsp_proxy_cmd[@]}" set -o pipefail
then print_info "Настройка cpcsp_proxy успешно завершена." for ((i=2; i < 6; i++)) ; do
else fatal "Ошибка во время настройки cpcsp_proxy." "${cpcsp_proxy_cmd[@]}" | tee "$WINEPREFIX/cpcsp_setup.log"
fi local CPCSP_EXIT_STATUS="${PIPESTATUS[0]}"
if grep -q "failed to load /opt/cprocsp/" "$WINEPREFIX/cpcsp_setup.log" ; then
fatal "Проверьте правильность установки CryptoPro в системе.\n Инструкция: https://www.altlinux.org/CryptoPro"
fi
if [[ $CPCSP_EXIT_STATUS == "0" ]] ; then
print_info "Настройка cpcsp_proxy успешно завершена."
CPCSP_PROXY_OK="1"
break
fi
print_warning "Попытка $i из 5..."
wait_wineserver
done
wait_wineserver wait_wineserver
try_remove_file "$WINEPREFIX/cpcsp_setup.log"
[[ $CPCSP_PROXY_OK != "1" ]] && fatal "Ошибка во время настройки cpcsp_proxy."
fi fi
fi fi
@ -1021,10 +1041,6 @@ use_winetricks () {
USE_WT_FROM_DB=0 USE_WT_FROM_DB=0
[[ ! -f "$WINEPREFIX/winetricks.log" ]] && touch "$WINEPREFIX/winetricks.log" [[ ! -f "$WINEPREFIX/winetricks.log" ]] && touch "$WINEPREFIX/winetricks.log"
for need_install_dll_to_pfx in $WH_DLL_INSTALL "isolate_home" ; do for need_install_dll_to_pfx in $WH_DLL_INSTALL "isolate_home" ; do
if [[ "$need_install_dll_to_pfx" == vcrun201[5-9] ]] ; then
sed -i "/${need_install_dll_to_pfx}/d" "$WINEPREFIX/winetricks.log"
need_install_dll_to_pfx="vcrun2022"
fi
if ! grep "$need_install_dll_to_pfx" "$WINEPREFIX/winetricks.log" &>/dev/null ; then if ! grep "$need_install_dll_to_pfx" "$WINEPREFIX/winetricks.log" &>/dev/null ; then
if [[ -z "$WH_DLL_NEED_INSTALL" ]] if [[ -z "$WH_DLL_NEED_INSTALL" ]]
then WH_DLL_NEED_INSTALL="$need_install_dll_to_pfx" then WH_DLL_NEED_INSTALL="$need_install_dll_to_pfx"
@ -1345,7 +1361,7 @@ case "${1,,}" in
install|-i) shift ; run_autoinstall "$@" ;; install|-i) shift ; run_autoinstall "$@" ;;
installed) shift ; check_installed_programs "$1" ;; installed) shift ; check_installed_programs "$1" ;;
run|-r) shift ; run_installed_programs "$1" ;; run|-r) shift ; run_installed_programs "$1" ;;
remove-all) shift ; remove_winehelper "$@ ";; remove-all) shift ; remove_winehelper "$@" ;;
remove-prefix) shift ; remove_prefix "$@" ;; remove-prefix) shift ; remove_prefix "$@" ;;
*) *)
if [[ -f "$1" ]] ; then if [[ -f "$1" ]] ; then