Compare commits

...

12 Commits

Author SHA1 Message Date
Sergey Palcheh
92a682ba8a added a more explicit error message when installing dependencies 2025-09-02 10:44:37 +06:00
Sergey Palcheh
3381054c21 added a winehelper launch button when dependencies are successfully installed 2025-09-02 10:23:44 +06:00
Sergey Palcheh
76b7d4f046 removed the dependency installation success window 2025-09-02 10:11:47 +06:00
Sergey Palcheh
aeae544640 added 64bit versions of wine/proton to the 32bit prefix 2025-09-02 09:50:27 +06:00
Sergey Palcheh
eeb94523b3 the refresh list button has been removed 2025-09-02 09:33:35 +06:00
Sergey Palcheh
a2186b63cb renaming Proton/Wine Lg buttons to LG 2025-09-02 09:25:01 +06:00
Mikhail Tergoev
839b480c39 updated sha256sum.list 2025-09-01 12:06:10 +03:00
Mikhail Tergoev
83fe362b37 added all WINE, DXVK and VKD3D to sha256 list 2025-08-28 13:50:48 +03:00
Mikhail Tergoev
f7fdfca743 fixed typos and updated LICENSE_AGREEMENT 2025-08-26 12:01:35 +03:00
Mikhail Tergoev
ffc7098aba Merge branch 'minergenon-devel' 2025-08-26 11:13:21 +03:00
Mikhail Tergoev
50de9bdb14 Merge branch 'minergenon-tflex_wineprefix' 2025-08-26 11:12:30 +03:00
Sergey Palcheh
ddea68c11c renaming tflex prefixes 2025-08-13 10:01:18 +06:00
12 changed files with 47 additions and 53 deletions

View File

@@ -1,14 +1,14 @@
Лицензионные соглашения использования сторонних компонентов:
Отказ от ответственности:
Некоторые компоненты, установленные в префикс и необходимые для запуска приложений,
могут быть защищены авторским правом или лицензионными соглашениями. Вы обязаны
самостоятельно убедиться в законности использования этих компонентов в вашей
юрисдикции.
Некоторые компоненты, устанавливаемые в префикс и необходимые для запуска
приложений, могут быть защищены авторским правом или лицензионными
соглашениями. Вы обязаны самостоятельно убедиться в законности использования
этих компонентов в вашей юрисдикции.
Мы не несём ответственности за нарушение лицензионных соглашений, связанное с
использованием подготовленного префикса, а так же за программное обеспечение,
поставляемое из сторонних источников.
использованием подготовленного префикса, а также за программное обеспечение,
полученное из сторонних источников.
Подтверждая продолжение установки, вы соглашаетесь, что ознакомились с данным
отказом от ответственности и принимаете все риски, связанные с использованием
программного обеспечения.
Продолжая установку, вы подтверждаете, что ознакомились с данным отказом от
ответственности и принимаете все риски, связанные с использованием программного
обеспечения.

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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
View File

View File

@@ -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 "----------------------------------------------"

View File

@@ -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()