Compare commits

..

5 Commits
swnd ... master

6 changed files with 83 additions and 95 deletions

View File

@ -1,5 +1,13 @@
История изменений:
0.5.0:
* добавлен явный вывод отказа от ответственности и соглашения с ним
* обновлены все скрипты для установки t-flex-*
* добавлен wine_wh_tflex_10-9 с патчами для t-flex-*
* добавлена поддержка новых версий wine 10.3 и выше
* удален пакет libOSMesa из проверки на зависимости
* другие небольшие улучшения и оптимизации скриптов
0.4.9:
* добавлено автодопонение команд для zsh (zsh_completion)

View File

@ -22,7 +22,7 @@ windows приложения. Подробнее по ссылке: https://www.
# fonts-ttf-ms
apt-get install {i586-,}{glibc-core,libstdc++6,glibc-pthread,glibc-nss,\
libOSMesa,libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\
libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\
libgnutls30,libGL,libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,\
libvulkan1,libcups} || fatal "Не удалось установить зависимости."

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View File

@ -1,21 +0,0 @@
#!/usr/bin/env bash
# info_ru: Программный комплекс СуперОкна для фабрик по изготовлению окон и дверей.
########################################################################
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="swnd"
export PROG_NAME="СуперОкна 8"
export PROG_ICON="swnd"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
# export INSTALL_DLL=""
AUTOINSTALL_EXE="${WH_TMP_DIR}/Swnd8_setup.exe"
prepair_wine
if try_download "https://kctsoft.ru/download/superokna8/Swnd8_setup.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/Program Files/Kct/Swnd8/Swnd8.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -1,21 +0,0 @@
#!/usr/bin/env bash
# info_ru: Бесплатная версия программы СуперОкна для небольших предприятий.
########################################################################
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="swnd"
export PROG_NAME="СуперОкна 8 бесплатная"
export PROG_ICON="swnd"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
# export INSTALL_DLL=""
AUTOINSTALL_EXE="${WH_TMP_DIR}/Swnd8x_setup.exe"
prepair_wine
if try_download "https://kctsoft.ru/download/superokna8/Swnd8x_setup.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/Program Files/Kct/Swnd8x/Swnd8x.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -39,6 +39,15 @@ fatal () {
[[ -n "$WINESERVER" ]] && "$WINESERVER" -w
exit 1
}
print_confirmation () {
local answer
read -p "$@ (y/N): " answer
if [[ ! "$answer" =~ ^[Yy]$ ]] ; then
print_info "Отменено пользователем."
return 1
fi
}
##### CHECK VARIABLES #####
check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
@ -135,6 +144,11 @@ check_variables VKD3D_VER "1.1-2602"
export CLOUD_URL="https://cloud.linux-gaming.ru/portproton"
if env | grep license_agreement_file
then fatal "Обнаружена подмена переменной license_agreement_file!"
else readonly license_agreement_file="$(mktemp -d)/$((RANDOM % RANDOM))"
fi
##### CHECK NOEXEC FOR /HOME #####
if mount -l | grep -E "[[:space:]]/home[[:space:]]" | grep -q "noexec" ; then
fatal "/home примонтирован в /etc/fstab с аргументом noexec.\nЗапуск портативной версии wine не возможен из домашнего каталога."
@ -154,7 +168,7 @@ su_run () {
##### CHECK DEPENDENCIES #####
# fonts-ttf-ms
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,\
libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,libgnutls30,libGL,\
libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,libvulkan1,libcups} 1>/dev/null
then
@ -319,7 +333,42 @@ check_file_sum () {
fi
}
print_license_agreement () {
if [[ -f "$license_agreement_file" ]] \
&& [[ "$(stat -c %a "$license_agreement_file" 2>/dev/null)" == "600" ]]
then return 0
fi
echo
print_warning "Лицензионные соглашения использования сторонних компонентов:
Некоторые компоненты, установленные в префикс и необходимые для запуска приложений, могут
быть защищены авторским правом или лицензионными соглашениями. Вы обязаны самостоятельно
убедиться в законности использования этих компонентов в вашей юрисдикции.
Мы не несём ответственности за нарушение лицензионных соглашений, связанное с использованием
подготовленного префикса, а так же за программное обеспечение поставляемого из сторонних источников.
Подтверждая продолжение установки, вы соглашаетесь что ознакомились с данным отказом от
ответственности и принимаете все риски, связанные с использованием программного обеспечения.
"
if print_confirmation "Подтвердите продолжение установки" ; then
touch "$license_agreement_file"
chmod 600 "$license_agreement_file"
cleanup_laf () {
local cleanup_laf_dir="$(dirname "$license_agreement_file")"
rm -r "$cleanup_laf_dir" || echo "Не удалось удалить каталог $cleanup_laf_dir"
}
trap "cleanup_laf" EXIT
return 0
else
exit 1
fi
}
try_download () {
print_license_agreement
local download_file_url output_file output_file_name
download_file_url="${1// /%20}"
output_file="$2"
@ -1194,25 +1243,6 @@ init_database () {
}
prepair_wine () {
if [[ -n "$INSTALL_SCRIPT_NAME" ]] \
&& [[ "$FORCE_INSTALL" != "1" ]]
then
print_warning "Лицензионные соглашения использования сторонних компонентов:
Некоторые компоненты, установленные в префикс и необходимые для запуска приложений, могут
быть защищены авторским правом или лицензионными соглашениями. Вы обязаны самостоятельно
убедиться в законности использования этих компонентов в вашей юрисдикции.
Мы не несём ответственности за нарушение лицензионных соглашений, связанное с использованием
подготовленного префикса.
Продолжая использовать данное ПО вы подтверждаете, что ознакомились с данным отказом от
ответственности и принимаете все риски, связанные с его использованием.
"
print_info "Для продолжения нажмите любую клавишу на клавиатуре."
read -s -n 1
fi
var_winedlloverride_update "winemenubuilder.exe=d"
if [[ -n "$INSTALL_SCRIPT_NAME" ]]
@ -1345,11 +1375,8 @@ remove_prefix() {
echo " - Удалению всех программ, установленных в этом префиксе"
echo " - Удалению связанных ярлыков из меню и рабочего стола"
echo "======================================================"
read -p "Продолжить удаление? (y/N): " answer
if [[ ! "$answer" =~ ^[YyДд]$ ]]; then
print_info "Удаление префикса отменено."
return 0
if ! print_confirmation "Продолжить удаление?"
then exit 1
fi
fi
@ -1382,45 +1409,40 @@ remove_winehelper () {
echo " - Все приложения/программы, установленные через WineHelper"
echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper"
echo "======================================================"
read -p "Продолжить? (y/N): " answer
if [[ "$answer" =~ ^[YyДд]$ ]] ; then
if print_confirmation "Продолжить?" ; then
echo "----------------------------------------------"
print_warning " ВЫ ТОЧНО УВЕРЕНЫ?"
echo "----------------------------------------------"
read -p "Продолжить? (y/N): " answer
if ! print_confirmation "Продолжить?"
then exit 1
fi
else
print_info "Удаление отменено."
return 1
exit 1
fi
fi
if [[ "$answer" =~ ^[YyДд]$ ]] ; then
# Удаление рабочих каталогов
try_remove_dir "$USER_WORK_PATH"
# Удаление рабочих каталогов
try_remove_dir "$USER_WORK_PATH"
# Удаление файлов меню
try_remove_dir "$WH_MENU_DIR"
try_remove_file "$WH_MENU_CATEGORY"
try_remove_file "$WH_MENU_CONFIG"
# Удаление файлов меню
try_remove_dir "$WH_MENU_DIR"
try_remove_file "$WH_MENU_CATEGORY"
try_remove_file "$WH_MENU_CONFIG"
# Удаление desktop-файлов
for desktop_file in "$(xdg-user-dir DESKTOP)"/*.desktop; do
if grep -q "Exec=env \"$RUN_SCRIPT\"" "$desktop_file"; then
try_remove_file "$desktop_file"
fi
done
# Удаление desktop-файлов
for desktop_file in "$(xdg-user-dir DESKTOP)"/*.desktop; do
if grep -q "Exec=env \"$RUN_SCRIPT\"" "$desktop_file"; then
try_remove_file "$desktop_file"
fi
done
# Обновление кэша desktop-файлов
update-desktop-database "$HOME/.local/share/applications"
# Обновление кэша desktop-файлов
update-desktop-database "$HOME/.local/share/applications"
# Удаление символических ссылок
try_remove_file "$HOME/.winehelper"
# Удаление символических ссылок
try_remove_file "$HOME/.winehelper"
print_info "WineHelper и все связанные данные успешно удалены."
else
print_info "Удаление отменено."
fi
print_info "WineHelper и все связанные данные успешно удалены."
}
create_base_pfx () {