Compare commits

...

5 Commits

2 changed files with 14 additions and 5 deletions

View File

@ -4,7 +4,7 @@ _winehelper_completions() {
COMPREPLY=() COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}" cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}" prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="--help --version --debug install installed -r -i remove-all --clear-pfx killall remove-prefix backup-prefix restore-prefix" opts="--help --version --debug install installed -r -i remove-all --clear-pfx killall remove-prefix backup-prefix restore-prefix --changelog changelog"
wine_cmd="winecfg winereg winefile wineconsole winetricks desktop regedit explorer cmd run" wine_cmd="winecfg winereg winefile wineconsole winetricks desktop regedit explorer cmd run"
case "${prev}" in case "${prev}" in

View File

@ -13,11 +13,13 @@ if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME" USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME"
RUN_SCRIPT="/usr/bin/$SCRIPT_NAME" RUN_SCRIPT="/usr/bin/$SCRIPT_NAME"
DATA_PATH="/usr/share/$SCRIPT_NAME" DATA_PATH="/usr/share/$SCRIPT_NAME"
CHANGELOG_FILE="$(realpath "/usr/share/doc/winehelper"-*/CHANGELOG)"
else else
# переменные для тестового запуска WineHelper из репозитория # переменные для тестового запуска WineHelper из репозитория
USER_WORK_PATH="$HOME/test-$SCRIPT_NAME" USER_WORK_PATH="$HOME/test-$SCRIPT_NAME"
RUN_SCRIPT="$(realpath "$0")" RUN_SCRIPT="$(realpath "$0")"
DATA_PATH="$(dirname "$RUN_SCRIPT")" DATA_PATH="$(dirname "$RUN_SCRIPT")"
CHANGELOG_FILE="$DATA_PATH/CHANGELOG"
# минимальная проверка синтаксиса скриптов # минимальная проверка синтаксиса скриптов
for self_check_script in "$RUN_SCRIPT" \ for self_check_script in "$RUN_SCRIPT" \
@ -42,11 +44,11 @@ fatal () {
print_confirmation () { print_confirmation () {
local answer local answer
read -p "$@ (y/N): " answer read -p "$@ (y/N): " answer
if [[ ! "$answer" =~ ^[Yy]$ ]] ; then if [[ ! "$answer" =~ ^[Yy]$ ]] ; then
print_info "Отменено пользователем." print_info "Отменено пользователем."
return 1 return 1
fi fi
return 0
} }
##### CHECK VARIABLES ##### ##### CHECK VARIABLES #####
@ -1263,6 +1265,11 @@ prepair_wine () {
} }
wine_run () { wine_run () {
if [[ $WINEARCH == "win32" ]] \
&& file "$WIN_FILE_EXEC" | grep -q "x86-64"
then fatal "Нельзя запустить 64-битное приложение в 32-битном префиксе!"
fi
WIN_FILE_PATH="$(dirname "$WIN_FILE_EXEC")" WIN_FILE_PATH="$(dirname "$WIN_FILE_EXEC")"
[[ -d "$WIN_FILE_PATH" ]] && cd "$WIN_FILE_PATH" [[ -d "$WIN_FILE_PATH" ]] && cd "$WIN_FILE_PATH"
@ -1663,12 +1670,13 @@ wh_info () {
run [программа] запуск программы (отладка) run [программа] запуск программы (отладка)
remove-all удалить WineHelper и все связанные данные remove-all удалить WineHelper и все связанные данные
remove-prefix [имя_префикса] удалить префикс и все связанные данные remove-prefix [имя_префикса] удалить префикс и все связанные данные
backup-prefix [имя_префикса] создать резерную копию префикса backup-prefix [имя_префикса] создать резервную копию префикса
restore-prefix \"путь/до/whpack\" восстановить префикс из резервной копии restore-prefix \"путь/до/whpack\" восстановить префикс из резервной копии
Параметры: Параметры:
--help показать эту справку и выйти --help показать эту справку и выйти
--version показать информацию о пакете и его версии --version показать информацию о пакете и его версии
--changelog показать историю изменений
--debug [команда] включить режим логирования работы WINE --debug [команда] включить режим логирования работы WINE
" "
@ -1693,8 +1701,9 @@ else
fi fi
case "$arg1" in case "$arg1" in
--version) rpm -qi "$SCRIPT_NAME" ; exit 0 ;; --version|version) rpm -qi "$SCRIPT_NAME" ; exit 0 ;;
--help) wh_info ; exit 0 ;; --help|help) wh_info ; exit 0 ;;
--changelog|changelog) less "$CHANGELOG_FILE" ; exit 0 ;;
killall) kill_wine ;; killall) kill_wine ;;
winecfg) prepair_wine ; wine_run "winecfg" ;; winecfg) prepair_wine ; wine_run "winecfg" ;;
winereg|regedit) prepair_wine ; wine_run "regedit" ;; winereg|regedit) prepair_wine ; wine_run "regedit" ;;