forked from CastroFidel/winehelper
Compare commits
12 Commits
504be8ea5b
...
92a682ba8a
Author | SHA1 | Date | |
---|---|---|---|
|
92a682ba8a | ||
|
3381054c21 | ||
|
76b7d4f046 | ||
|
aeae544640 | ||
|
eeb94523b3 | ||
|
a2186b63cb | ||
|
839b480c39 | ||
|
83fe362b37 | ||
|
f7fdfca743 | ||
|
ffc7098aba | ||
|
50de9bdb14 | ||
|
ddea68c11c |
@@ -1,14 +1,14 @@
|
||||
Лицензионные соглашения использования сторонних компонентов:
|
||||
Отказ от ответственности:
|
||||
|
||||
Некоторые компоненты, установленные в префикс и необходимые для запуска приложений,
|
||||
могут быть защищены авторским правом или лицензионными соглашениями. Вы обязаны
|
||||
самостоятельно убедиться в законности использования этих компонентов в вашей
|
||||
юрисдикции.
|
||||
Некоторые компоненты, устанавливаемые в префикс и необходимые для запуска
|
||||
приложений, могут быть защищены авторским правом или лицензионными
|
||||
соглашениями. Вы обязаны самостоятельно убедиться в законности использования
|
||||
этих компонентов в вашей юрисдикции.
|
||||
|
||||
Мы не несём ответственности за нарушение лицензионных соглашений, связанное с
|
||||
использованием подготовленного префикса, а так же за программное обеспечение,
|
||||
поставляемое из сторонних источников.
|
||||
использованием подготовленного префикса, а также за программное обеспечение,
|
||||
полученное из сторонних источников.
|
||||
|
||||
Подтверждая продолжение установки, вы соглашаетесь, что ознакомились с данным
|
||||
отказом от ответственности и принимаете все риски, связанные с использованием
|
||||
программного обеспечения.
|
||||
Продолжая установку, вы подтверждаете, что ознакомились с данным отказом от
|
||||
ответственности и принимаете все риски, связанные с использованием программного
|
||||
обеспечения.
|
||||
|
@@ -8,7 +8,7 @@ export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
|
@@ -8,7 +8,7 @@ export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
|
@@ -8,7 +8,7 @@ export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
|
@@ -8,7 +8,7 @@ export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
|
@@ -8,7 +8,7 @@ export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
|
@@ -8,7 +8,7 @@ export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
|
@@ -8,7 +8,7 @@ export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
|
@@ -7,7 +7,7 @@ export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex17"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
|
0
sha256sum.list
Executable file → Normal file
0
sha256sum.list
Executable file → Normal file
28
winehelper
28
winehelper
@@ -177,7 +177,7 @@ fi
|
||||
|
||||
##### CHECK NOEXEC FOR /HOME #####
|
||||
if mount -l | grep -E "[[:space:]]/home[[:space:]]" | grep -q "noexec" ; then
|
||||
fatal "/home примонтирован в /etc/fstab с аргументом noexec.\nЗапуск портативной версии wine не возможен из домашнего каталога."
|
||||
fatal "/home примонтирован в /etc/fstab с аргументом noexec.\nЗапуск портативной версии wine невозможен из домашнего каталога."
|
||||
fi
|
||||
|
||||
##### ROOT #####
|
||||
@@ -259,13 +259,13 @@ try_copy_dir () {
|
||||
|
||||
try_force_link_file () {
|
||||
if [[ ! -f "$1" ]] ; then
|
||||
print_warning "нет файла для создания символьной ссылки: $1"
|
||||
print_warning "нет файла для создания символической ссылки: $1"
|
||||
if [[ -f "$2" ]] ; then
|
||||
try_remove_file "$2"
|
||||
print_warning "удаляем символьную ссылку: $2"
|
||||
print_warning "удаляем символическую ссылку: $2"
|
||||
fi
|
||||
return 1
|
||||
elif [[ -z "$2" ]] ; then fatal "нет пути для создания символьной ссылки на файл $1"
|
||||
elif [[ -z "$2" ]] ; then fatal "нет пути для создания символической ссылки на файл $1"
|
||||
else
|
||||
try_remove_file "$2"
|
||||
ln -s -f -r "$1" "$2"
|
||||
@@ -275,11 +275,11 @@ try_force_link_file () {
|
||||
}
|
||||
|
||||
try_force_link_dir () {
|
||||
if [[ ! -d "$1" ]] ; then print_info "каталога $1 не существует для создания символьной сссылки"
|
||||
elif [[ -z "$2" ]] ; then fatal "не указан путь для создания символьной ссылки на каталог $1"
|
||||
if [[ ! -d "$1" ]] ; then print_info "каталога $1 не существует для создания символической сссылки"
|
||||
elif [[ -z "$2" ]] ; then fatal "не указан путь для создания символической ссылки на каталог $1"
|
||||
else
|
||||
ln -s -f -r "$1" "$2"
|
||||
[[ "$?" != 0 ]] && print_error "не удалось сделать символьную ссылку на каталог $1 по пути $2" || return 0
|
||||
[[ "$?" != 0 ]] && print_error "не удалось сделать символическую ссылку на каталог $1 по пути $2" || return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
@@ -328,7 +328,7 @@ try_get_page () {
|
||||
|| grep -q "Forbidden" "$OUT_PAGE_TMP"
|
||||
then
|
||||
try_remove_file "$OUT_PAGE_TMP"
|
||||
fatal "Страница сайта $1 не доступна, или превышено количество запросов к странице."
|
||||
fatal "Страница сайта $1 не доступна или превышено количество запросов к странице."
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
@@ -1074,7 +1074,7 @@ init_wineprefix () {
|
||||
if [[ ! -f "$WINEPREFIX/.firstboot" ]] ; then
|
||||
create_new_dir "$WINEPREFIX"
|
||||
if [[ "$CLEAR_PREFIX" == "1" ]]
|
||||
then print_warning "Используется переменная \"CLEAR_PREFIX=1\" что принудительно создает чистый префикс с установкой компонентов с помощью winetricks."
|
||||
then print_warning "Используется переменная \"CLEAR_PREFIX=1\", которая принудительно создает чистый префикс с установкой компонентов с помощью winetricks."
|
||||
elif [[ "$BASE_PFX" != "none" ]]
|
||||
then get_base_pfx "$BASE_PFX"
|
||||
fi
|
||||
@@ -1165,7 +1165,7 @@ init_wineprefix () {
|
||||
for ext in $WH_XDG_OPEN ; do
|
||||
get_and_set_reg_file --add "Software\Classes\.$ext" '@=' 'REG_SZ' "xdg-open" "system"
|
||||
done
|
||||
print_info "Используется ассоциации с нативными приложениями для файлов: \"$WH_XDG_OPEN\""
|
||||
print_info "Используются ассоциации с нативными приложениями для файлов: \"$WH_XDG_OPEN\""
|
||||
else
|
||||
# удаление команды xdg-open из реестра
|
||||
get_and_set_reg_file --delete "$XDG_OPEN_REG" '@='
|
||||
@@ -1193,7 +1193,7 @@ init_wineprefix () {
|
||||
"${cpcsp_proxy_cmd[@]}" | tee "$WINEPREFIX/cpcsp_setup.log"
|
||||
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"
|
||||
fatal "Проверьте правильность установки КриптоПро в системе.\n Инструкция: https://www.altlinux.org/CryptoPro"
|
||||
fi
|
||||
|
||||
if [[ $CPCSP_EXIT_STATUS == "0" ]] ; then
|
||||
@@ -1535,9 +1535,7 @@ select_wine_version() {
|
||||
group_versions+=("$version_name")
|
||||
fi
|
||||
else # win32
|
||||
if [[ "$version_name" =~ i[3-6]86 ]]; then
|
||||
group_versions+=("$version_name")
|
||||
fi
|
||||
group_versions+=("$version_name")
|
||||
fi
|
||||
fi
|
||||
done < "$sha256_file"
|
||||
@@ -1717,7 +1715,7 @@ remove_winehelper () {
|
||||
echo " Это удалит:"
|
||||
echo " - Все настройки WineHelper"
|
||||
echo " - Все приложения/программы, установленные через WineHelper"
|
||||
echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper"
|
||||
echo " - Все ярлыки из меню и с рабочего стола, созданные с помощью WineHelper"
|
||||
echo "======================================================"
|
||||
if print_confirmation "Продолжить?" ; then
|
||||
echo "----------------------------------------------"
|
||||
|
@@ -340,13 +340,8 @@ class DependencyManager:
|
||||
still_missing = missing_packages
|
||||
|
||||
if not still_missing:
|
||||
info_box = QMessageBox(dialog)
|
||||
info_box.setWindowIcon(self.app_icon)
|
||||
info_box.setIcon(QMessageBox.Information)
|
||||
info_box.setWindowTitle("Успех")
|
||||
info_box.setText("Все необходимые зависимости были успешно установлены.")
|
||||
info_box.exec_()
|
||||
installation_successful = True
|
||||
close_button.setText("Запустить WineHelper")
|
||||
else:
|
||||
warn_box = QMessageBox(dialog)
|
||||
warn_box.setWindowIcon(self.app_icon)
|
||||
@@ -359,8 +354,16 @@ class DependencyManager:
|
||||
)
|
||||
warn_box.exec_()
|
||||
else:
|
||||
log_tag = "ПРЕРВАНО" if exit_status == QProcess.CrashExit else "ОШИБКА"
|
||||
log_output.append(f"\n<b><font color='red'>=== {log_tag} (код: {exit_code}) ===</font></b>")
|
||||
if exit_code == 127: # pkexec: пользователь отменил аутентификацию
|
||||
log_output.append("\n<b><font color='orange'>=== УСТАНОВКА ОТМЕНЕНА ПОЛЬЗОВАТЕЛЕМ ===</font></b>")
|
||||
log_output.append("Вы отменили ввод пароля. Установка зависимостей не была выполнена.")
|
||||
elif exit_code == 126: # pkexec: у пользователя нет прав
|
||||
log_output.append("\n<b><font color='red'>=== ОШИБКА: НЕДОСТАТОЧНО ПРАВ ===</font></b>")
|
||||
log_output.append("У вашего пользователя нет прав для выполнения этой операции.")
|
||||
else:
|
||||
log_tag = "ПРЕРВАНО" if exit_status == QProcess.CrashExit else "ОШИБКА"
|
||||
log_output.append(f"\n<b><font color='red'>=== {log_tag} (код: {exit_code}) ===</font></b>")
|
||||
log_output.append("Произошла непредвиденная ошибка во время установки.")
|
||||
log_output.ensureCursorVisible()
|
||||
|
||||
close_button.setEnabled(True)
|
||||
@@ -1035,13 +1038,6 @@ class WineVersionSelectionDialog(QDialog):
|
||||
|
||||
self.version_tabs = QTabWidget()
|
||||
main_layout.addWidget(self.version_tabs)
|
||||
button_layout = QHBoxLayout()
|
||||
self.refresh_button = QPushButton("Обновить список")
|
||||
self.refresh_button.setIcon(QIcon.fromTheme("view-refresh"))
|
||||
self.refresh_button.clicked.connect(self.load_versions)
|
||||
button_layout.addStretch()
|
||||
button_layout.addWidget(self.refresh_button)
|
||||
main_layout.addLayout(button_layout)
|
||||
|
||||
self.load_versions()
|
||||
|
||||
@@ -1055,14 +1051,12 @@ class WineVersionSelectionDialog(QDialog):
|
||||
loading_layout.addWidget(status_label)
|
||||
self.version_tabs.addTab(loading_widget, "Загрузка...")
|
||||
self.version_tabs.setEnabled(False)
|
||||
self.refresh_button.setEnabled(False)
|
||||
|
||||
QApplication.processEvents()
|
||||
|
||||
self._parse_sha256_list()
|
||||
self.populate_ui()
|
||||
|
||||
self.refresh_button.setEnabled(True)
|
||||
self.version_tabs.setEnabled(True)
|
||||
|
||||
def _parse_sha256_list(self):
|
||||
@@ -1150,14 +1144,16 @@ class WineVersionSelectionDialog(QDialog):
|
||||
if is_win64:
|
||||
if re_64bit.search(name) or not re_32bit.search(name):
|
||||
filtered_versions.append(name)
|
||||
else: # win32
|
||||
if re_32bit.search(name):
|
||||
filtered_versions.append(name)
|
||||
else:
|
||||
filtered_versions.append(name)
|
||||
|
||||
if not filtered_versions:
|
||||
continue
|
||||
|
||||
pretty_key = key.replace('_', ' ').title()
|
||||
if key.endswith('_LG'):
|
||||
pretty_key = pretty_key.replace(' Lg', ' LG')
|
||||
|
||||
self._create_version_tab(pretty_key, filtered_versions)
|
||||
|
||||
self.filter_versions()
|
||||
|
Reference in New Issue
Block a user