From 692d41a579b095c67efc575c2d1fa150a7f58506 Mon Sep 17 00:00:00 2001 From: Castro-Fidel Date: Sun, 10 May 2020 19:35:59 +0300 Subject: [PATCH] Update install scripts for new Ports --- portwine_install_script/PortNAME-XX | 155 +++++++++++++++------------- 1 file changed, 81 insertions(+), 74 deletions(-) diff --git a/portwine_install_script/PortNAME-XX b/portwine_install_script/PortNAME-XX index a927c98..de2a2c1 100644 --- a/portwine_install_script/PortNAME-XX +++ b/portwine_install_script/PortNAME-XX @@ -1,29 +1,53 @@ #!/bin/sh +# License GPL +######################################################################## +clear && echo ' +████─████─████─███─█───█─███─█──█─███ +█──█─█──█─█──█──█──█───█──█──██─█─█ +████─█──█─████──█──█─█─█──█──█─██─███ +█────█──█─█─█───█──█████──█──█──█─█ +█────████─█─█───█───█─█──███─█──█─███ + +' ######################################################################## export gamedir="DIRNAME" export gamename="NAME" export portname="PortNAME" export port_ver="XX" ######################################################################## +export PROGS_INST="" +export vexit=0 +for PROGS in "wget" "curl" "zenity" "tar" "xterm" +do + if [ ! -x "`which "${PROGS}" 2>/dev/null`" ];then + PROGS_INST="${PROGS_INST} ${PROGS}" + vexit=1 + fi +done +if [ "${vexit}" -eq "1" ];then + echo "You will need to install: ${PROGS_INST}, and restart the script" + exit 1 +fi +######################################################################## cd "$(dirname "`readlink -f "$0"`")" links="$(pwd)" setup_script="${portname}"-"${port_ver}" ARCH_NAME="${setup_script}.tar.xz" deflink="/home/${USER}/PortWINE/${portname}" -[ $(id -u) -eq 0 ] && echo "root? realy?" && zenity --error --text "root? realy?" && exit 1 +[ $(id -u) -eq 0 ] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1 ######################################################################## SET_LANG=`zenity --title "Install $portname" --text "Select the installation language \nВыберите язык установки" --list --radiolist \ --column="Set (Выбор)" --column "Language (Язык):" \ TRUE "Русский" \ -FALSE "English" ` +FALSE "English" ` 2> /dev/null if [ $? -eq 1 ];then exit 1; fi case $SET_LANG in "Русский") - INFO_TEXT="Вы запустили установщик PortWINE ${gamename} версии ${port_ver}. \n\nЭто не коммерческий продукт и развивается исключительно за идею и Ваши пожертвования. \nАвтор не несет никакой ответственности за данное программное обеспечение! \nПродолжая установку вы автоматически соглашаетесь с данными условиями." ;; + INFO_TEXT="Вы запустили установщик PortWINE ${gamename} версии ${port_ver}. \n\nЭто не коммерческий продукт и развивается исключительно за идею и Ваши пожертвования. \nВсе права сторонего програмного обеспечения принадлежат их владельцам! \nПродолжая установку вы автоматически соглашаетесь с данными условиями." ;; "English") - INFO_TEXT="You run the installer PortWINE ${gamename} v. ${port_ver}. \n\nThis is not a commercial product and developed exclusively for the idea and donate. \nThe author assumes no liability for this software! \nContinuing the installation of you agree to these terms." ;; + INFO_TEXT="You run the installer PortWINE ${gamename} v. ${port_ver}. \n\nThis is not a commercial product and developed exclusively for the idea and donate. \nAll rights to third-party software belong to their respective owners! \nContinuing the installation of you agree to these terms." ;; esac -`zenity --info --title "INFO" --text "$INFO_TEXT" --no-wrap ` +`zenity --info --title "INFO" --text "$INFO_TEXT" --no-wrap ` 2> /dev/null if [ $? -eq 1 ];then echo "error" && exit 1; fi ######################################################################## case $SET_LANG in @@ -31,25 +55,27 @@ case $SET_LANG in inst1=`zenity --title "Install ${portname}" --text "Выберите путь для установки (обновления) порта,\nили оставьте его по умолчанию." --list --radiolist --width=350 --height=220 \ --column="Выбор" --column "Путь:" \ TRUE "${deflink}" \ - FALSE "Другой путь..." ` + FALSE "Другой путь..." ` 2> /dev/null if [ $? -eq 1 ];then exit 1; fi case $inst1 in "${deflink}") D_PATH="${deflink}" ;; "Другой путь...") - D_PATH=`zenity --file-selection --directory --title="Выберите путь..." ` ;; - esac ;; + D_PATH=`zenity --file-selection --directory --title="Выберите путь..." ` + D_PATH="${D_PATH}/${portname}" ;; + esac ;; "English") inst1=`zenity --title "Install ${portname}" --text "Select the installation path (update) port,\nor leave it in default." --list --radiolist --width=350 --height=220 \ --column="Set..." --column "Path:" \ TRUE "${deflink}" \ - FALSE "Other path..." ` + FALSE "Other path..." ` 2> /dev/null if [ $? -eq 1 ];then exit 1; fi case $inst1 in "${deflink}") D_PATH="${deflink}" ;; "Other path...") - D_PATH=`zenity --file-selection --directory --title="Select the path..." ` ;; + D_PATH=`zenity --file-selection --directory --title="Select the path..." ` + D_PATH="${D_PATH}/${portname}" ;; esac ;; esac if [ $? -eq 1 ];then echo "error" && exit 1; fi @@ -57,40 +83,35 @@ if [ $? -eq 1 ];then echo "error" && exit 1; fi case $SET_LANG in "Русский") zen() { - zenity --progress --title="Установка..." --text="Настройка ${portname}" --pulsate --auto-close --auto-kill --width=450 + zenity --progress --title="Установка..." --text="Настройка ${portname}" --pulsate --auto-close --auto-kill --width=450 > /dev/null 2>&1 } ;; "English") zen() { - zenity --progress --title="Install..." --text="Install ${portname}" --pulsate --auto-close --auto-kill --width=450 + zenity --progress --title="Install..." --text="Install ${portname}" --pulsate --auto-close --auto-kill --width=450 > /dev/null 2>&1 } ;; esac if [ $? -eq 1 ];then echo "error" && exit 1; fi ######################################################################## export PORT_WINE_PATH="${D_PATH}" -if [ ! -d "${PORT_WINE_PATH}" ] -then +if [ ! -d "${PORT_WINE_PATH}" ];then mkdir -p "$PORT_WINE_PATH" else - rm -fR "${PORT_WINE_PATH}/data/wine" - rm -fR "${PORT_WINE_PATH}/data/tmp" - rm -fR "${PORT_WINE_PATH}/data/img" - rm -fR "${PORT_WINE_PATH}/data/scripts" - rm -fR "${PORT_WINE_PATH}/data/prefix/reg.user" -# rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/users" - rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/windows" - if [ -d "${PORT_WINE_PATH}/data/prefix/drive_c/Games" ] - then - rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files" - if [ -d "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}" ] - then - mv -f "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}" "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}_old" - fi - else - if [ -d "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}" ] - then - mv -f "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}" "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}_old" - fi - fi + for CLEAN_PORT in "dist" "libs" "tmp" "img" "scripts" "prefix/drive_c/windows" + do + if [ -d "${PORT_WINE_PATH}/data/${CLEAN_PORT}" ];then + rm -fR "${PORT_WINE_PATH}/data/${CLEAN_PORT}" + fi + done + if [ -d "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}" ];then + export PORT_GAMEDIR="${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}" + mv -f "${PORT_GAMEDIR}" "${PORT_GAMEDIR}_old" + elif [ -d "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}" ];then + export PORT_GAMEDIR="${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}" + mv -f "${PORT_GAMEDIR}" "${PORT_GAMEDIR}_old" + elif [ -d "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files (x86)/${gamedir}" ];then + export PORT_GAMEDIR="${PORT_WINE_PATH}/data/prefix/drive_c/Program Files (x86)/${gamedir}" + mv -f "${PORT_GAMEDIR}" "${PORT_GAMEDIR}_old" + fi fi ######################################################################## mkdir -p "${PORT_WINE_PATH}/data/tmp" @@ -107,50 +128,36 @@ read "update_loc" < "${config_path}/${portname}_loc" export update_loc=${update_loc} ######################################################################## cd "${PORT_WINE_PATH}" -tail -n +159 "${links}/${setup_script}" > "${PORT_WINE_PATH}/${ARCH_NAME}" +tail -n +166 "${links}/${setup_script}" > "${PORT_WINE_PATH}/${ARCH_NAME}" tar -Jxvf "${PORT_WINE_PATH}/${ARCH_NAME}" -C "${PORT_WINE_PATH}/" | zen mv -f "${PORT_WINE_PATH}/${ARCH_NAME}" "${PORT_WINE_PATH}/data/tmp" -sed -n 1,158p "${links}/${setup_script}" > "${PORT_WINE_PATH}/data/tmp/${setup_script}" +sed -n 1,165p "${links}/${setup_script}" > "${PORT_WINE_PATH}/data/tmp/${setup_script}" ######################################################################## -if [ -d "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}_old" ] -then - rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}" - mv -f "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}_old" "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}" +if [ -d "${PORT_GAMEDIR}_old" ];then + rm -fR "${PORT_GAMEDIR}" + mv -f "${PORT_GAMEDIR}_old" "${PORT_GAMEDIR}" fi -if [ -d "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}_old" ] -then - rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}" - mv -f "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}_old" "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}" -fi -if [ -d "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}" ] -then - rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}_rus" - rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}_eng" -elif [ -d "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}_rus" ] -then - if [ "${update_loc}" = "RUS" ] - then - mv -f "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}_rus" "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}" - rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}_eng" - else - mv -f "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}_eng" "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}" - rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}_rus" - fi -fi -if [ -d "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}" ] -then - rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}_rus" - rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}_eng" -elif [ -d "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}_rus" ] -then - if [ "${update_loc}" = "RUS" ] - then - mv -f "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}_rus" "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}" - rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}_eng" - else - mv -f "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}_eng" "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}" - rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/Program Files/${gamedir}_rus" - fi +if [ -d "${PORT_GAMEDIR}" ];then + if [ -d "${PORT_GAMEDIR}_rus" ];then + rm -fR "${PORT_GAMEDIR}_rus" + fi + if [ -d "${PORT_GAMEDIR}_eng" ];then + rm -fR "${PORT_GAMEDIR}_eng" + fi +elif [ "${update_loc}" = "RUS" ];then + if [ -d "${PORT_GAMEDIR}_rus" ];then + mv -f "${PORT_GAMEDIR}_rus" "${PORT_GAMEDIR}" + if [ -d "${PORT_GAMEDIR}_eng" ];then + rm -fR "${PORT_GAMEDIR}_eng" + fi + fi +else + if [ -d "${PORT_GAMEDIR}_eng" ];then + mv -f "${PORT_GAMEDIR}_eng" "${PORT_GAMEDIR}" + if [ -d "${PORT_GAMEDIR}_rus" ];then + rm -fR "${PORT_GAMEDIR}_rus" + fi + fi fi ######################################################################## cd "${PORT_WINE_PATH}/data/scripts"