diff options
Diffstat (limited to 'setup.sh.in')
-rw-r--r-- | setup.sh.in | 92 |
1 files changed, 76 insertions, 16 deletions
diff --git a/setup.sh.in b/setup.sh.in index 27135c548ac5..e45e6222aa4f 100644 --- a/setup.sh.in +++ b/setup.sh.in @@ -3,22 +3,6 @@ set -e bootstrap_install() { - if [ -x "$(which wine)" ] ;then - echo "Wine version $(wine --version) found." - else - echo "Wine not found. Please install Wine with your Package Manager." - echo "WineHQ or Developer Version are recommended." - printf "\nExiting.\n\n" - exit 0 - fi - if [ -x "$(which winetricks)" ] ;then - echo "Winetricks version $(winetricks --version | cut -d' ' -f1) found." - else - echo "Winetricks not found. Winetricks are required." - echo " Please install Winetricks with your Package Manager." - printf "\nExiting.\n\n" - exit 0 - fi install -dv "${target}/bin/" install -d "${prefix}/bin/" install -d "${prefix}/share/applications/" @@ -75,11 +59,84 @@ bootstrap_remove() { rm -rfv "${target}" } +build_lib() { + if [ ! -r "./evelauncher-$elver.tar.gz" ] ;then + if [ -x "$(which curl 2>/dev/null)" ] ;then + echo "Curl version $(curl -V | head -n1 | cut -d' ' -f2) found." + else + echo "Curl not found. Curl are needed for downloading evelauncher binaries." + echo " Please install curl with your Package Manager." + printf "\nExiting.\n\n" + exit 0 + fi + printf "\nDownloading evelauncher-$elver.tar.gz...\n\n" + curl -L -O https://binaries.eveonline.com/evelauncher-$elver.tar.gz + fi + rcsum="$(sha256sum ./evelauncher-$elver.tar.gz| cut -d' ' -f1)" + if [ "$rcsum" != "$elcsum" ] ;then + printf "\n\nError: Checksum from evelauncher-$elver.tar.gz doesn't match!" + printf "\nExiting.\n\n" + exit 0 + fi + printf "\nExtract evelauncher-$elver.tar.gz..." + tar xf evelauncher-$elver.tar.gz + echo "done." + printf "\nClean up evelauncher directory..." + cd evelauncher/ + rm -f ./*.a ./*.la ./*.prl + chmod 0755 ./* + chmod 0644 ./*.qm ./*.conf + echo "done." + printf "\nReplace identical files with symbolic links..." + ln -sf evelauncher.sh LogLite.sh + libb=/dev/zero + for lib in $(find ./ -maxdepth 1 -type f -name 'lib*' -printf '%s-%f\n'|sort -r) + do + liba=${lib#*-} + if [ "$(cmp -s $liba $libb; echo $?)" = "0" ] ;then + ln -sf $libb $liba + else + libb=$liba + fi + done + echo "done." + printf "\nRemove unneeded symbols from files..." + find ./ -maxdepth 1 -type f -exec strip -s {} 2>/dev/null \; + echo "done." + printf "\nRepack evelauncher-$elver.tar.gz..." + cd ../ + rm evelauncher-$elver.tar.gz + tar czf evelauncher-$elver.tar.gz evelauncher/ + rm -rf evelauncher/ + echo "done." +} + +check_req() { + if [ -x "$(which wine 2>/dev/null)" ] ;then + echo "Wine version $(wine --version) found." + else + echo "Wine not found. Please install Wine with your Package Manager." + echo "WineHQ or Developer Version are recommended." + printf "\nExiting.\n\n" + exit 0 + fi + if [ -x "$(which winetricks 2>/dev/null)" ] ;then + echo "Winetricks version $(winetricks --version | cut -d' ' -f1) found." + else + echo "Winetricks not found. Winetricks are required." + echo " Please install Winetricks with your Package Manager." + printf "\nExiting.\n\n" + exit 0 + fi +} + target="/opt/evesetup" prefix="/usr" key="" qtver="5.11" elver="1501045" +elcsum="08b5dbb25c92ffe3c27e27a5353db7096b92a0a093c73e99e7fe08e2d4831ba0" +rcsum="" if [ $(id -u) -ne 0 ] ;then printf "\nEVE Online Launcher Setup need root permissions." @@ -100,6 +157,9 @@ else printf "\n" read -p 'Install EVE Online Launcher Setup? (Y/n) ' key [ ! "x$(echo $key | tr [:upper:] [:lower:])" = "xn" ] && \ + check_req && \ + build_lib && \ + printf "\nInstalling...\n\n" bootstrap_install && \ printf "\nYou can now start EVE Online Launcher and his " && \ echo "Tools from your Application menu." |