summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJernuh Zakalwe2020-08-01 17:20:09 +0200
committerJernuh Zakalwe2020-08-01 17:20:09 +0200
commit3841d6d7347b7f2beae2b0e656bbaea5e0887d6c (patch)
treef18622eec3febd3ab57fab14e5460f3dfb984cf7
parent83b10f9def750b58031764c21fb18c81a0a06c38 (diff)
downloadaur-3841d6d7347b7f2beae2b0e656bbaea5e0887d6c.tar.gz
License changed to zlib/png for compatibility to the used dxvk package.
Build script for independed installer (without evelauncher dependencies) added. Minor changes on build script (with dependencies). Removed some error message suppression in evesetup.shlib. Use full file set of dxvk during wine environment setup in evesetup.shlib.
-rw-r--r--.SRCINFO14
-rw-r--r--PKGBUILD16
-rwxr-xr-xbuild_installer.sh6
-rwxr-xr-xbuild_lite_installer.sh151
-rw-r--r--evesetup.shlib17
-rw-r--r--setup.sh.in30
-rw-r--r--setup_lite.sh.in128
7 files changed, 324 insertions, 38 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 285b3b8fd2ad..bb26200ebe31 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,11 +1,11 @@
pkgbase = evesetup
pkgdesc = An inofficial EVE Online Launcher Setup Tool.
pkgver = 1747682
- pkgrel = 1
+ pkgrel = 2
url = https://forums.eveonline.com/t/eve-installing/71494
install = evesetup.install
arch = x86_64
- license = custom
+ license = zlib/png
depends = icu
depends = openssl
depends = openssl-1.0
@@ -47,7 +47,9 @@ pkgbase = evesetup
source = evelauncher.kwinrule
source = evelauncher.lua
source = build_installer.sh
+ source = build_lite_installer.sh
source = setup.sh.in
+ source = setup_lite.sh.in
source = eve-icons.tar.gz
source = eve-icons_large.tar.gz
source = eve-transl5.12-de.tar.gz
@@ -63,7 +65,7 @@ pkgbase = evesetup
sha256sums = 29b6f2cda542c8f3f3845fb3e1ff3e9ac2a645d389c1618bdac5fa69947a2b4b
sha256sums = 7c658874857586e70d5b727895905c884cf6aa7b1d172f3811ab62bec52d98c4
sha256sums = 80fceef0e28c2291cd4ba3924410211edd188717be093ffc329d18697583bd21
- sha256sums = dc3b9db6821e6889e4afeecb57758c73b5e1802437e9d99db98ac43ff77171e6
+ sha256sums = 954811cf68bb9e3628efea4aa7606095a032d9ac8225bfdc64c74b1f862a84e5
sha256sums = a8e604e6481b9a386269b6252852ee57812fc932f44f767982c4dbac168bb03b
sha256sums = 9079fd9ed7967479b7a78643d43537c04f9275303cd713651d2481bf4c658653
sha256sums = 546aaf5669dc3d3f1b2fff1b9a493d8ba31c19940a04fa4b9eb080e7301df4bd
@@ -74,8 +76,10 @@ pkgbase = evesetup
sha256sums = 261da84107168979d241c60cd7adbfee0f6675464675faaefd5f6140009d54d8
sha256sums = 528fc6627e8893db5d7092194e9f3320067f2f1f4593a206aee8a5207956e563
sha256sums = d4610df883778f91e0ea5feba84720dfe814af0b9960677e3861809d70de24b2
- sha256sums = 342c32f51a196fd21db9f7930c122ea38e25bd5e8be5574fd404b218c70d2fb4
- sha256sums = cf97637f85a60c6d3f3ff70ecd2ed0ad1427d5f56253bd86839ed3b2ac40c509
+ sha256sums = 51eae400033fab0ca0a4a292c9c725dd0da25809d037002130bc1e23fa6c0702
+ sha256sums = 617349fb5f7ca9071e7d2465f5c0d1e01ad501edf3c2458a2ebcdca33d38b070
+ sha256sums = df3740824bf4f8b5c1e2d6d84ef4d4c1eba41127db4d33ea4140491d762a75a8
+ sha256sums = ca35e12c37854ef2d4020e06ea945eb15973ed151788ca412f1b3fc5f48bacf8
sha256sums = 69b98d923c08c6fb035c0c6905ec5e9c73273b694f8f3497777d44597dbe63e3
sha256sums = 762db1df07dfcf526fe634b4b589a08e8affefb2f79f02cff2624c70e0820422
sha256sums = 980d68abd6f4a662b69efd19145112e88f349044fa1ed5cb6d0a840a92cb42e4
diff --git a/PKGBUILD b/PKGBUILD
index 5ef3c1afea3e..e35e9a7922ce 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,11 +1,11 @@
-#Maintainer: Gharim Turen <gharim@turen.de>
+#Maintainer: Jernuh Zakalwe <jzakalwe1st@gmail.com>
pkgname=evesetup
pkgver=1747682
-pkgrel=1
+pkgrel=2
pkgdesc="An inofficial EVE Online Launcher Setup Tool."
arch=(x86_64)
url="https://forums.eveonline.com/t/eve-installing/71494"
-license=('custom')
+license=('zlib/png')
install=${pkgname}.install
@@ -43,7 +43,9 @@ source=("evelauncher.desktop"
"evelauncher.kwinrule"
"evelauncher.lua"
"build_installer.sh"
+ "build_lite_installer.sh"
"setup.sh.in"
+ "setup_lite.sh.in"
"eve-icons.tar.gz"
"eve-icons_large.tar.gz"
"eve-transl5.12-de.tar.gz"
@@ -127,7 +129,7 @@ sha256sums=('ce85defa2698ea72e88221d72424fb953f86836494ecc0e4006f41ec89682af4'
'29b6f2cda542c8f3f3845fb3e1ff3e9ac2a645d389c1618bdac5fa69947a2b4b'
'7c658874857586e70d5b727895905c884cf6aa7b1d172f3811ab62bec52d98c4'
'80fceef0e28c2291cd4ba3924410211edd188717be093ffc329d18697583bd21'
- 'dc3b9db6821e6889e4afeecb57758c73b5e1802437e9d99db98ac43ff77171e6'
+ '954811cf68bb9e3628efea4aa7606095a032d9ac8225bfdc64c74b1f862a84e5'
'a8e604e6481b9a386269b6252852ee57812fc932f44f767982c4dbac168bb03b'
'9079fd9ed7967479b7a78643d43537c04f9275303cd713651d2481bf4c658653'
'546aaf5669dc3d3f1b2fff1b9a493d8ba31c19940a04fa4b9eb080e7301df4bd'
@@ -138,8 +140,10 @@ sha256sums=('ce85defa2698ea72e88221d72424fb953f86836494ecc0e4006f41ec89682af4'
'261da84107168979d241c60cd7adbfee0f6675464675faaefd5f6140009d54d8'
'528fc6627e8893db5d7092194e9f3320067f2f1f4593a206aee8a5207956e563'
'd4610df883778f91e0ea5feba84720dfe814af0b9960677e3861809d70de24b2'
- '342c32f51a196fd21db9f7930c122ea38e25bd5e8be5574fd404b218c70d2fb4'
- 'cf97637f85a60c6d3f3ff70ecd2ed0ad1427d5f56253bd86839ed3b2ac40c509'
+ '51eae400033fab0ca0a4a292c9c725dd0da25809d037002130bc1e23fa6c0702'
+ '617349fb5f7ca9071e7d2465f5c0d1e01ad501edf3c2458a2ebcdca33d38b070'
+ 'df3740824bf4f8b5c1e2d6d84ef4d4c1eba41127db4d33ea4140491d762a75a8'
+ 'ca35e12c37854ef2d4020e06ea945eb15973ed151788ca412f1b3fc5f48bacf8'
'69b98d923c08c6fb035c0c6905ec5e9c73273b694f8f3497777d44597dbe63e3'
'762db1df07dfcf526fe634b4b589a08e8affefb2f79f02cff2624c70e0820422'
'980d68abd6f4a662b69efd19145112e88f349044fa1ed5cb6d0a840a92cb42e4'
diff --git a/build_installer.sh b/build_installer.sh
index bde51d3ce0dc..b2816b5c0ce8 100755
--- a/build_installer.sh
+++ b/build_installer.sh
@@ -2,8 +2,8 @@
set -e
-printf "\n\n Buildscript for creating the distribution independed installer\n"
-printf " with all dependencies and optional evelauncher and dxvk archive included.\n\n"
+printf "\n\n Buildscript for the distribution independed installer of"
+printf " EVE Online Launcher Setup\n\n"
version=$(grep ^pkgver PKGBUILD | cut -d= -f2) || exit 1
release=$(grep ^pkgrel PKGBUILD | cut -d= -f2) || exit 1
@@ -49,7 +49,7 @@ if [ ! -f "./makeself-2.4.0.run" ] ;then
fi
rcsum="$(sha256sum ./makeself-2.4.0.run | cut -d' ' -f1)"
if [ "$rcsum" != "$mscsum" ] ;then
- printf "\n\nError: Checksum from makeself-2.4.0.run doesn't match!"
+ printf "\n\nError: Checksum makeself-2.4.0.run mismatch!"
printf "\nLeaving.\n\n"
exit 0
fi
diff --git a/build_lite_installer.sh b/build_lite_installer.sh
new file mode 100755
index 000000000000..a353deccd629
--- /dev/null
+++ b/build_lite_installer.sh
@@ -0,0 +1,151 @@
+#!/bin/sh
+
+set -e
+
+printf "\n\n Buildscript for the distribution independed installer of"
+printf " EVE Online Launcher Setup (Lite)\n\n"
+
+version=$(grep ^pkgver PKGBUILD | cut -d= -f2) || exit 1
+release=$(grep ^pkgrel PKGBUILD | cut -d= -f2) || exit 1
+arch=$(uname -m)
+
+dvver=$(grep doitsujin PKGBUILD | cut -d\" -f2 | sed 's,.*-,,;s,.tar.*,,' )
+dvcsum=""
+elcsum=""
+mscsum="ca66a6113ce98152b85c8d847949f8c90ab9ba798e106bfc225d4ed3c2e2e3e2"
+rcsum=""
+
+pshal=$(grep -n ^sha256sum PKGBUILD | cut -d: -f1)
+psrcl=$(grep -n ^source PKGBUILD | cut -d: -f1)
+pdvsl=$(grep -n dxvk-$dvver.tar.gz\" PKGBUILD | cut -d: -f1)
+pelsl=$(grep -n evelauncher-\${pkgver}.tar.gz\" PKGBUILD | cut -d: -f1)
+pdfsl=$(expr $pdvsl - $psrcl)
+pofsl=$(expr $pelsl - $psrcl)
+pdvcs=$(expr $pshal + $pdfsl)
+pelcs=$(expr $pshal + $pofsl)
+
+plc=1
+while read pline ;do
+ if [ $plc -eq $pdvcs ] ;then
+ dvcsum=${pline#*\'}
+ dvcsum=${dvcsum%%\'*}
+ fi
+ if [ $plc -eq $pelcs ] ;then
+ elcsum=${pline#*\'}
+ elcsum=${elcsum%%\'*}
+ fi
+ plc=$(expr $plc + 1)
+done < PKGBUILD
+
+if [ ! -f "./makeself-2.4.0.run" ] ;then
+ if [ ! -x "$(which curl)" ] ;then
+ echo "Curl not found. Curl are needed for downloading makeself build tool."
+ echo " Please install curl with your Package Manager."
+ printf "\nLeaving.\n\n"
+ exit 0
+ fi
+ printf "\nGet makeself...\n\n"
+ curl -L -O https://github.com/megastep/makeself/releases/download/release-2.4.0/makeself-2.4.0.run
+fi
+rcsum="$(sha256sum ./makeself-2.4.0.run | cut -d' ' -f1)"
+if [ "$rcsum" != "$mscsum" ] ;then
+ printf "\n\nError: Checksum makeself-2.4.0.run mismatch!"
+ printf "\nLeaving.\n\n"
+ exit 0
+fi
+
+if [ ! -r "./evelauncher-$version.tar.gz" ] ;then
+ printf "\nGet evelauncher-$version.tar.gz...\n\n"
+ curl -L -O https://binaries.eveonline.com/evelauncher-$version.tar.gz
+fi
+rcsum="$(sha256sum ./evelauncher-$version.tar.gz| cut -d' ' -f1)"
+if [ "$rcsum" != "$elcsum" ] ;then
+ printf "\n\nError: Checksum evelauncher-$version.tar.gz mismatch!"
+ printf "\nLeaving.\n\n"
+ exit 0
+fi
+
+if [ ! -r "./dxvk-$dvver.tar.gz" ] ;then
+ printf "\nDownload dxvk-$dvver.tar.gz...\n\n"
+ curl -L -O https://github.com/doitsujin/dxvk/releases/download/v$dvver/dxvk-$dvver.tar.gz
+fi
+rcsum="$(sha256sum ./dxvk-$dvver.tar.gz| cut -d' ' -f1)"
+if [ "$rcsum" != "$dvcsum" ] ;then
+ printf "\n\nWarning: Checksum dxvk-$dvver.tar.gz mismatch, ignored.\n"
+ rm -f ./dxvk-$dvver.tar.gz
+fi
+
+printf "\nCreate clean build environment..."
+if [ -d src/ ] ;then rm -rf src/* ;else mkdir src/ ;fi
+
+chmod a+x ./makeself-2.4.0.run
+./makeself-2.4.0.run --tar x ./makeself.sh ./makeself-header.sh 2>/dev/null
+chmod a-x ./makeself-2.4.0.run
+mv ./makeself.sh ./makeself-header.sh src/
+
+cd src/
+mkdir evesetup/
+echo "done."
+
+printf "\nCopy needed files from AUR source..."
+for eia in ../eve-icons*.tar.gz ;do tar xf $eia -C evesetup/ ;done
+for cmd in backup launcher.sh regedit restore wine winecfg winetricks ;do
+ cmd=eve$cmd
+ if [ -f ../$cmd ] ;then cp ../$cmd evesetup/ ;fi
+ if [ ! "$cmd" = "evewine" ] ;then cp ../${cmd%.*}.desktop evesetup/ ;fi
+done
+cp ../evesetup.shlib evesetup/
+cp ../evelauncher.kwinrule evesetup/
+cp ../evelauncher.lua evesetup/
+cp ../evelauncher.sh evesetup/
+sed -i s,ELVER=\"\",ELVER=\"$version\", evesetup/evelauncher.sh
+cp ../setup_lite.sh.in evesetup/setup.sh
+sed -i s,elver=\"\",elver=\"$version\", evesetup/setup.sh
+sed -i s,dvver=\"\",dvver=\"$dvver\", evesetup/setup.sh
+chmod a+x evesetup/setup.sh
+cp ../dxvk-$dvver.tar.gz evesetup/ 2>/dev/null || true
+echo "done."
+
+printf "\nExtract evelauncher-$version.tar.gz..."
+tar xf ../evelauncher-$version.tar.gz
+echo "done."
+
+printf "\nClean up evelauncher directory..."
+cd evelauncher/
+rm -rf ./resources/ ./plugins/
+rm -f ./*.a ./*.la ./*.prl ./*[Qq]t* ./libicu* ./libpng* ./libxcb*
+cp -f ../../evelauncher.sh.real ./evelauncher.sh
+chmod 0755 ./*
+chmod 0644 ./roots.pem ./*.qm ./errorpage/*
+echo "done."
+
+printf "\nReplace identical files with symbolic links..."
+ln -sf evelauncher.sh LogLite.sh
+ln -sf libgpr.so.6.0.0 libgpr.so
+ln -sf libgpr.so.6.0.0 libgpr.so.6
+ln -sf libgrpc++.so.1.12.0 libgrpc++.so
+ln -sf libgrpc++.so.1.12.0 libgrpc++.so.1
+ln -sf libgrpc++.so.1.12.0 libgrpc++.so.6
+ln -sf libgrpc.so.6.0.0 libgrpc.so
+ln -sf libgrpc.so.6.0.0 libgrpc.so.6
+ln -sf libprotobuf.so.16.0.0 libprotobuf.so
+ln -sf libprotobuf.so.16.0.0 libprotobuf.so.16
+echo "done."
+
+printf "\nRemove unneeded symbols from files..."
+find ./ -maxdepth 1 -type f -exec strip -s {} 2>/dev/null \;
+echo "done."
+
+printf "\nRepack evelauncher-$version.tar.gz..."
+touch ./*
+cd ../
+tar czf evesetup/evelauncher-$version.tar.gz evelauncher/
+echo "done."
+
+printf "\nBuild self-extractable archive evesetup-lite-${version}-$release-$arch.run\n\n"
+./makeself.sh --tar-quietly evesetup/ ../evesetup-lite-${version}-$release-$arch.run \
+ "EVE Online Launcher Setup (Lite) ${version}-$release" ./setup.sh
+cd ..
+printf "\nClean up build environment..."
+rm -rf src/
+echo "done."
diff --git a/evesetup.shlib b/evesetup.shlib
index 821bb95868a9..7bff824d2c6c 100644
--- a/evesetup.shlib
+++ b/evesetup.shlib
@@ -47,7 +47,7 @@ check_env() {
}
check_steam() {
- if [ ! -r "$LAUNCHER/steam_appid.txt" -a -x "$(which steam 2>/dev/null)" ] ;then
+ if [ ! -r "$LAUNCHER/steam_appid.txt" -a -x "$(which steam)" ] ;then
echo "8500" >$LAUNCHER/steam_appid.txt
fi
}
@@ -77,16 +77,16 @@ check_wine() {
DXVKFILELIST="d3d10core d3d11 dxgi"
WINSYSDIR=$WINEPREFIX/drive_c/windows/system32
W32SYSDIR=${WINSYSDIR%/*}/syswow64
- INSTWINE=$(cat $WINEPREFIX/.update-timestamp 2>/dev/null | tr -dc [:digit:]) || true
+ INSTWINE=$(cat $WINEPREFIX/.update-timestamp | tr -dc [:digit:]) || true
WINEINFP=$(readlink -f $CUSTOMWP)
WINECONF=$(find ${WINEINFP%bin*}share/wine* -name 'wine.inf')
WINEDATE=$(getdate $WINECONF)
if [ "x$WINEDATE" != "x$INSTWINE" ] ;then
desktop_msg "Prepare wine environment for EVE"
- for DXVKFILE in $DXVKFILELIST ;do
- rm $WINSYSDIR/$DXVKFILE.dll* 2>/dev/null || true
- rm $W32SYSDIR/$DXVKFILE.dll* 2>/dev/null || true
- sed -i /\"$DXVKFILE\"=\"native\"/d $WINEPREFIX/user.reg 2>/dev/null || true
+ for DXVKFILE in "d3d10_1 d3d10core d3d10 d3d11 d3d9 dxgi" ;do
+ rm $WINSYSDIR/$DXVKFILE.dll* || true
+ rm $W32SYSDIR/$DXVKFILE.dll* || true
+ sed -i /\"$DXVKFILE\"=\"/d $WINEPREFIX/user.reg || true
done
env WINEPREFIX=$WINEPREFIX \
WINEDEBUG=-all \
@@ -118,15 +118,14 @@ check_wine() {
}
desktop_msg() {
- if [ -x "$(which notify-send 2>/dev/null)" ] ;then
+ if [ -x "$(which notify-send)" ] ;then
notify-send -i eve $(basename $0) "$@"
fi
printf "$(basename $0): $@\n"
}
getdate() {
- printf $(ls -l --time-style=+%s $1 2>/dev/null | cut -d' ' -f6) \
- 2>/dev/null || printf 180
+ printf $(ls -l --time-style=+%s $1 | cut -d' ' -f6) || printf 180
}
getval() {
diff --git a/setup.sh.in b/setup.sh.in
index 66580de2ac70..8b7443cc3610 100644
--- a/setup.sh.in
+++ b/setup.sh.in
@@ -81,7 +81,7 @@ build_lib() {
printf "\nLeaving.\n\n"
exit 0
fi
- printf "\nExtract evelauncher-$elver.tar.gz..."
+ printf "\n\nExtract evelauncher-$elver.tar.gz..."
tar xf evelauncher-$elver.tar.gz
echo "done."
printf "\nClean up evelauncher directory..."
@@ -135,28 +135,28 @@ get_dxvk() {
check_req() {
if [ -x "$(which 7z 2>/dev/null)" ] ;then
- echo "$(7z | head -n2 | cut -d: -f1 | tr -d [:cntrl:])found."
+ printf "\n$(7z | head -n2 | cut -d: -f1 | tr -d [:cntrl:])found."
else
- echo "p7zip not found. Please install p7zip with your Package Manager."
- printf "\nLeaving.\n\n"
- exit 0
+ printf "\nError: 7z not found. 7z are needed by evebackup."
+ printf "\n\tPlease install p7zip or p7zip-full with your Package Manager.\n"
+ key="nf"
fi
if [ -x "$(which curl 2>/dev/null)" ] ;then
- echo "Curl version $(curl -V | head -n1 | cut -d' ' -f2) found."
+ printf "\nCurl 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 "\nLeaving.\n\n"
- exit 0
+ printf "\n\nError: Curl not found. Curl are needed for downloading evelauncher binaries."
+ printf "\n\tPlease install curl with your Package Manager.\n"
+ key="nf"
fi
if [ -x "$(which wine 2>/dev/null)" ] ;then
- echo "Wine version $(wine --version) found."
+ printf "\nWine version $(wine --version) found."
else
- echo "Wine not found. Please install Wine with your Package Manager."
- echo "WineHQ or Developer Version are recommended."
- printf "\nLeaving.\n\n"
- exit 0
+ printf "\n\nError: Wine not found."
+ printf "\n\tPlease install wine with your Package Manager."
+ printf "\n\tWineHQ or Developer Version are recommended.\n"
+ key="nf"
fi
+ if [ "x$key" = "xnf" ] ;then printf "\n\nLeaving.\n\n" ;exit 0 ;fi
}
prefix="/usr"
diff --git a/setup_lite.sh.in b/setup_lite.sh.in
new file mode 100644
index 000000000000..76d87ca19e64
--- /dev/null
+++ b/setup_lite.sh.in
@@ -0,0 +1,128 @@
+#!/bin/sh
+
+set -e
+
+bootstrap_install() {
+ install -dv "$destdir"
+ install -dv "$bindir"
+ install -dv "$libdir"
+ install -dv "$docdir"
+ install -d "$prefix/bin/"
+ install -d "$prefix/share/applications/"
+ if [ -f "./dxvk-$dvver.tar.gz" ] ;then
+ install -d "$libdir/dxvk/"
+ echo "dxvk-$dvver" >"$libdir/dxvk/version"
+ chmod 0644 "$libdir/dxvk/version"
+ tar xf ./dxvk-$dvver.tar.gz -C $libdir/dxvk/ --no-same-owner \
+ --strip-components=1 dxvk-$dvver/x32 dxvk-$dvver/x64
+ fi
+ install -pm 0644 "./evesetup.shlib" "$libdir"
+ install -pm 0644 "./evelauncher-${elver}.tar.gz" "$libdir"
+ install -m 0644 "./evelauncher.kwinrule" "$docdir"
+ install -m 0644 "./evelauncher.lua" "$docdir"
+ sed -i s,SETUPDIR=\"\",SETUPDIR=\"$destdir\", ./evelauncher.sh
+ for cmd in backup launcher.sh regedit restore wine winecfg winetricks ;do
+ cmd=eve$cmd
+ if [ -f "./$cmd" ] ;then
+ sed -i s,./evesetup.shlib,$libdir/evesetup.shlib, ./$cmd
+ install -p "./$cmd" "$bindir/"
+ else
+ if [ "$cmd" = "everestore" ] ;then
+ ln -s evebackup "$bindir/$cmd"
+ else
+ ln -s evewine "$bindir/$cmd"
+ fi
+ fi
+ [ "$bindir" != "$prefix/bin" ] && ln -s "$bindir/$cmd" "$prefix/bin/$cmd"
+ if [ ! "$cmd" = "evewine" ] ;then
+ oexec=$(grep Exec= ./${cmd%.*}.desktop)
+ sed -i s,$oexec,Exec=$prefix/bin/$cmd, ./${cmd%.*}.desktop
+ install -m 0644 "./${cmd%.*}.desktop" "$prefix/share/applications/"
+ fi
+ done
+ for icons in $(find . -type f -name '*.png') ;do
+ install -D -m 0644 "$icons" "$prefix/share/${icons#*/}"
+ done
+ if [ -x $(which gtk-update-icon-cache) ] ;then
+ if [ -f "${prefix}/share/icons/hicolor/icon-theme.cache" ] ;then
+ gtk-update-icon-cache -t -f "${prefix}/share/icons/hicolor" 2>/dev/null
+ chmod 0644 "${prefix}/share/icons/hicolor/icon-theme.cache"
+ fi
+ fi
+}
+
+bootstrap_remove() {
+ for icons in $(find . -type f -name '*.png') ;do
+ rm -f "$prefix/share/${icons#*/}"
+ done
+ for cmd in backup launcher.sh regedit restore wine winecfg winetricks ;do
+ cmd=eve$cmd
+ rm -fv "$prefix/bin/$cmd"
+ if [ ! "$cmd" = "evewine" ] ;then
+ rm -f "$prefix/share/applications/${cmd%.*}.desktop"
+ fi
+ done
+ rm -rfv "$destdir"
+}
+
+check_req() {
+ if [ ! -x "$(which 7z 2>/dev/null)" ] ;then
+ req="${req}7z\n"
+ fi
+ if [ ! -x "$(which wine 2>/dev/null)" ] ;then
+ req="${req}wine\n"
+ fi
+ tar xf evelauncher-$elver.tar.gz
+ cd evelauncher/
+ req="${req}$(LD_LIBRARY_PATH=$(pwd) ldd ./evelauncher | grep -i not | sed 's,\t,,;s,.so.*,,')"
+ cd ../
+ rm -rf evelauncher/
+ if [ "x$req" != "x" ] ;then
+ printf "\nFollowing requirements are missing:\n"
+ printf "\n$req\n"
+ printf "\nPlease install these requirements with your Package Manager.\n"
+ printf "\nLeaving.\n\n"
+ exit 0
+ fi
+}
+
+prefix="/usr"
+destdir="/opt/evesetup"
+bindir="$destdir/bin"
+libdir="$destdir/lib"
+docdir="$destdir/doc"
+elver=""
+dvver=""
+key=""
+
+if [ $(id -u) -ne 0 ] ;then
+ printf "\nEVE Online Launcher Setup need root permissions."
+ printf "\nLeaving.\n\n"
+ exit 0
+fi
+
+if [ -d "$destdir" ] ;then
+ printf "\n"
+ read -p 'Remove EVE Online Launcher Setup? (Y/n) ' key
+ if [ "x$(echo $key | tr [:upper:] [:lower:])" != "xn" ] ;then
+ printf "\nRemoving...\n\n"
+ bootstrap_remove
+ fi
+else
+ printf "\n"
+ read -p 'Install EVE Online Launcher Setup? (Y/n) ' key
+ if [ "x$(echo $key | tr [:upper:] [:lower:])" != "xn" ] ;then
+ printf "\nInstalling...\n\n"
+ check_req
+ printf "\n"
+ bootstrap_install
+ printf "\nYou can now start EVE Online Launcher and his Tools:\n\n"
+ for cmd in *.desktop ;do
+ oexec=$(grep Exec= $cmd | cut -d= -f2); oexec=${oexec##*/}
+ [ ! "$oexec" = "evelauncher.sh" ] && \
+ printf " $oexec\t- $(grep Comment= $cmd | cut -d= -f2)\n"
+ done
+ printf "\n evelauncher.sh\t- EVE Online Launcher\n"
+ fi
+fi
+printf "\nDone.\n\n"