diff options
author | Jernuh Zakalwe | 2019-10-13 16:04:58 +0200 |
---|---|---|
committer | Jernuh Zakalwe | 2019-10-13 16:04:58 +0200 |
commit | c26036e9e92f0404229fe59cc91766c16a5586f5 (patch) | |
tree | 97b92f4d72093a345450295a6d4f2e4889fc329d | |
parent | 7df07f62d05bc7e6148b3c55585388fe76654a29 (diff) | |
download | aur-c26036e9e92f0404229fe59cc91766c16a5586f5.tar.gz |
Build scripts for small installer added.
Minor changes on build_installer.sh.
Minor changes on setup.sh.in.
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 10 | ||||
-rwxr-xr-x | build_installer.sh | 8 | ||||
-rwxr-xr-x | build_small_installer.sh | 126 | ||||
-rw-r--r-- | setup.sh.in | 1 | ||||
-rw-r--r-- | setup_small.sh.in | 107 |
6 files changed, 253 insertions, 9 deletions
@@ -1,7 +1,7 @@ pkgbase = evesetup pkgdesc = An inofficial EVE Online Launcher Setup Tool. pkgver = 1548102 - pkgrel = 4 + pkgrel = 5 url = https://forums.eveonline.com/t/eve-installing/71494 arch = x86_64 license = custom @@ -40,7 +40,9 @@ pkgbase = evesetup source = evebackup.desktop source = evebackup source = build_installer.sh + source = build_small_installer.sh source = setup.sh.in + source = setup_small.sh.in source = eve-icons.tar.gz source = eve-icons_large.tar.gz source = eve-transl5.11-de.tar.gz @@ -63,8 +65,10 @@ pkgbase = evesetup sha256sums = f438c7002eaf8e1186a838ac2e803242b7a2c98a22cf49622eb4a64cf4b202ec sha256sums = 04c102d6db1bb8d4159c41f32ec0aa95846c0fb519841a3c1428ab20c850e9cf sha256sums = 25c84d6823badf7c04dd316857b144b614a917943baeb8dc769b27cd029071ff - sha256sums = 498c21e2ab8ef8e789d5d99265678a2784e6d0ddbd407a520e107412fd8bfd0d - sha256sums = e4166acb66ced33e9e2c3e7961d9581397e7016b8ed675341ed42fb9742dffe0 + sha256sums = 5aff377c2158ff40eb7b27f3792cc568c41a43bdbff2787178ab936fff192c8d + sha256sums = 7064241dd0b9876743ce89d0b638c9b2dc5e8153a327e44973a0424e31a715c1 + sha256sums = 6f8116cbbe05808be4ecddcb782965fcbfad09645ad8153db325e8c17ef7c27b + sha256sums = dcb776b66f31a9f2fd545a5c6b6ef874b3f9b3c2a14881c3822ac505e1d431ce sha256sums = 69b98d923c08c6fb035c0c6905ec5e9c73273b694f8f3497777d44597dbe63e3 sha256sums = 762db1df07dfcf526fe634b4b589a08e8affefb2f79f02cff2624c70e0820422 sha256sums = 47accd49b64d624c6a6dee42952f8627aaabdd315fad85ef037507745d393f1a @@ -1,7 +1,7 @@ #Maintainer: Gharim Turen <gharim@turen.de> pkgname=evesetup pkgver=1548102 -pkgrel=4 +pkgrel=5 pkgdesc="An inofficial EVE Online Launcher Setup Tool." arch=(x86_64) url="https://forums.eveonline.com/t/eve-installing/71494" @@ -37,7 +37,9 @@ source=("evelauncher.desktop" "evebackup.desktop" "evebackup" "build_installer.sh" + "build_small_installer.sh" "setup.sh.in" + "setup_small.sh.in" "eve-icons.tar.gz" "eve-icons_large.tar.gz" "eve-transl5.11-de.tar.gz" @@ -114,8 +116,10 @@ sha256sums=('ce85defa2698ea72e88221d72424fb953f86836494ecc0e4006f41ec89682af4' 'f438c7002eaf8e1186a838ac2e803242b7a2c98a22cf49622eb4a64cf4b202ec' '04c102d6db1bb8d4159c41f32ec0aa95846c0fb519841a3c1428ab20c850e9cf' '25c84d6823badf7c04dd316857b144b614a917943baeb8dc769b27cd029071ff' - '498c21e2ab8ef8e789d5d99265678a2784e6d0ddbd407a520e107412fd8bfd0d' - 'e4166acb66ced33e9e2c3e7961d9581397e7016b8ed675341ed42fb9742dffe0' + '5aff377c2158ff40eb7b27f3792cc568c41a43bdbff2787178ab936fff192c8d' + '7064241dd0b9876743ce89d0b638c9b2dc5e8153a327e44973a0424e31a715c1' + '6f8116cbbe05808be4ecddcb782965fcbfad09645ad8153db325e8c17ef7c27b' + 'dcb776b66f31a9f2fd545a5c6b6ef874b3f9b3c2a14881c3822ac505e1d431ce' '69b98d923c08c6fb035c0c6905ec5e9c73273b694f8f3497777d44597dbe63e3' '762db1df07dfcf526fe634b4b589a08e8affefb2f79f02cff2624c70e0820422' '47accd49b64d624c6a6dee42952f8627aaabdd315fad85ef037507745d393f1a' diff --git a/build_installer.sh b/build_installer.sh index 9663c145308b..9e3f9f87972d 100755 --- a/build_installer.sh +++ b/build_installer.sh @@ -1,10 +1,10 @@ #!/bin/sh -# Buildscript for creating the distribution independed installer. -# Works only in this directory because some dependencies are here located. - set -e +printf "\n\n Buildscript for creating the distribution independed installer\n" +printf " with all dependencies and optional evelauncher archive included.\n\n" + version=$(grep ^pkgver PKGBUILD | cut -d= -f2) || exit 1 release=$(grep ^pkgrel PKGBUILD | cut -d= -f2) || exit 1 arch=$(uname -m) @@ -82,6 +82,8 @@ if [ -f "../evelauncher-$version.tar.gz" ] ;then else echo "skipped, checksum mismatch." fi +else + printf "\nEVE Launcher archive not found, will be downloaded during the setup process.\n" fi printf "\nBuild self-extractable archive evesetup-$version-$release-$arch.run\n\n" diff --git a/build_small_installer.sh b/build_small_installer.sh new file mode 100755 index 000000000000..70509f38ecaa --- /dev/null +++ b/build_small_installer.sh @@ -0,0 +1,126 @@ +#!/bin/sh + +set -e + +printf "\n\n Buildscript for creating the distribution independed installer\n" +printf " without dependencies which must be fullfilled on the target system.\n\n" + +version=$(grep ^pkgver PKGBUILD | cut -d= -f2) || exit 1 +release=$(grep ^pkgrel PKGBUILD | cut -d= -f2) || exit 1 +arch=$(uname -m) + +elcsum="" +mscsum="ca66a6113ce98152b85c8d847949f8c90ab9ba798e106bfc225d4ed3c2e2e3e2" +rcsum="" + +pshal=$(grep -n ^sha256sum PKGBUILD | cut -d: -f1) +psrcl=$(grep -n ^source PKGBUILD | cut -d: -f1) +pelsl=$(grep -n evelauncher-\${pkgver}.tar.gz\" PKGBUILD | cut -d: -f1) +pofsl=$(expr $pelsl - $psrcl) +pelcs=$(expr $pshal + $pofsl) + +plc=1 +while read pline ;do + 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 "\nExiting.\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 from makeself-2.4.0.run doesn't match!" + printf "\nExiting.\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 from evelauncher-$version.tar.gz doesn't match!" + printf "\nExiting.\n\n" + exit 0 +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 evelauncher.sh everegedit evewine evewinecfg evewinetricks evebackup ;do + if [ -f ../$cmd ] ;then cp ../$cmd evesetup/ ;fi + if [ ! "$cmd" = "evewine" ] ;then cp ../${cmd%.*}.desktop evesetup/ ;fi +done +cp ../evesetup.shlib evesetup/evesetup.shlib +cp ../evelauncher.sh evesetup/ +sed -i s,ELVER=\"\",ELVER=\"$version\", evesetup/evelauncher.sh +cp ../setup_small.sh.in evesetup/setup.sh +sed -i s,elver=\"\",elver=\"$version\", evesetup/setup.sh +chmod a+x evesetup/setup.sh +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 ./*.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-${version}s-$release-$arch.run\n\n" +./makeself.sh --tar-quietly evesetup/ ../evesetup-${version}s-$release-$arch.run \ + "EVE Online Launcher Setup ${version}s-$release" ./setup.sh +cd .. +printf "\nClean up build environment..." +rm -rf src/ +echo "done." diff --git a/setup.sh.in b/setup.sh.in index 7ea2fb6ea8dc..67ae94ceb894 100644 --- a/setup.sh.in +++ b/setup.sh.in @@ -145,6 +145,7 @@ if [ -d "$destdir" ] ;then printf "\n" read -p 'Remove EVE Online Launcher Setup? (Y/n) ' key [ ! "x$(echo $key | tr [:upper:] [:lower:])" = "xn" ] && \ + printf "\nRemoving...\n\n" bootstrap_remove else printf "\n" diff --git a/setup_small.sh.in b/setup_small.sh.in new file mode 100644 index 000000000000..568cf7f8de16 --- /dev/null +++ b/setup_small.sh.in @@ -0,0 +1,107 @@ +#!/bin/sh + +set -e + +bootstrap_install() { + install -dv "$destdir" + install -dv "$bindir" + install -dv "$libdir" + install -d "$prefix/bin/" + install -d "$prefix/share/applications/" + install -pm 0644 "./evesetup.shlib" "$libdir" + install -pm 0644 "./evelauncher-${elver}.tar.gz" "$libdir" + sed -i s,SETUPDIR=\"\",SETUPDIR=\"$destdir\", ./evelauncher.sh + for cmd in evelauncher.sh evewine evewinetricks everegedit evewinecfg evebackup ;do + if [ -f "./$cmd" ] ;then + sed -i s,./evesetup.shlib,$libdir/evesetup.shlib, ./$cmd + install -p "./$cmd" "$bindir/" + else + ln -sf evewine "$bindir/$cmd" + 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 evelauncher.sh everegedit evewine evewinecfg evewinetricks evebackup ;do + 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 wine 2>/dev/null)" ] ;then + req="${req}wine\n" + fi + if [ ! -x "$(which winetricks 2>/dev/null)" ] ;then + req="${req}winetricks\n" + fi + tar xf evelauncher-$elver.tar.gz + cd evelauncher/ + req="${req}$(LD_LIBRARY_PATH=$(pwd) ldd ./evelauncher | grep -i not | sed s,\\t,, | cut -d' ' -f1)" + 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 "\nExiting.\n\n" + exit 0 + fi +} + +prefix="/usr" +destdir="/opt/evesetup" +bindir="$destdir/bin" +libdir="$destdir/lib" +elver="" +key="" + +if [ $(id -u) -ne 0 ] ;then + printf "\nEVE Online Launcher Setup need root permissions." + printf "\nExiting.\n\n" + exit 0 +fi + +if [ -d "$destdir" ] ;then + printf "\n" + read -p 'Remove EVE Online Launcher Setup? (Y/n) ' key + [ ! "x$(echo $key | tr [:upper:] [:lower:])" = "xn" ] && \ + printf "\nRemoving...\n\n" + bootstrap_remove +else + printf "\n" + read -p 'Install EVE Online Launcher Setup? (Y/n) ' key + [ ! "x$(echo $key | tr [:upper:] [:lower:])" = "xn" ] && \ + check_req && \ + printf "\nInstalling...\n\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 +printf "\nDone.\n\n" |