diff options
author | Jernuh Zakalwe | 2019-12-30 17:06:46 +0100 |
---|---|---|
committer | Jernuh Zakalwe | 2019-12-30 17:06:46 +0100 |
commit | b2d8028e7eae09fad95feb5486267eb986f0ba69 (patch) | |
tree | efae24426e2062373d26a67fb4c598086ee6246d | |
parent | 232333097a5f3749a9c84adbed10a306d76a9a2e (diff) | |
download | aur-b2d8028e7eae09fad95feb5486267eb986f0ba69.tar.gz |
Complete rewrite of evebackup (Thanks goes to elitatwo, who pushes me in the right direction).
P7zip as dependency for evebackup added to make EVE's backup archives portable.
Minor changes on all build- and setup-scripts.
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | PKGBUILD | 26 | ||||
-rwxr-xr-x | build_installer.sh | 4 | ||||
-rwxr-xr-x | build_small_installer.sh | 3 | ||||
-rw-r--r-- | evebackup | 52 | ||||
-rw-r--r-- | evebackup.desktop | 2 | ||||
-rw-r--r-- | everestore.desktop | 11 | ||||
-rw-r--r-- | setup.sh.in | 19 | ||||
-rw-r--r-- | setup_small.sh.in | 15 |
9 files changed, 114 insertions, 35 deletions
@@ -1,13 +1,14 @@ pkgbase = evesetup pkgdesc = An inofficial EVE Online Launcher Setup Tool. pkgver = 1548102 - pkgrel = 6 + pkgrel = 7 url = https://forums.eveonline.com/t/eve-installing/71494 arch = x86_64 license = custom depends = icu depends = openssl depends = openssl-1.0 + depends = p7zip depends = qt5-base depends = qt5-declarative depends = qt5-translations @@ -39,6 +40,7 @@ pkgbase = evesetup source = evewinetricks source = evebackup.desktop source = evebackup + source = everestore.desktop source = build_installer.sh source = build_small_installer.sh source = setup.sh.in @@ -63,12 +65,13 @@ pkgbase = evesetup sha256sums = 546aaf5669dc3d3f1b2fff1b9a493d8ba31c19940a04fa4b9eb080e7301df4bd sha256sums = c83beba543663b926d28d0eda98f1035cd73327da50f718a487763d300415a24 sha256sums = f438c7002eaf8e1186a838ac2e803242b7a2c98a22cf49622eb4a64cf4b202ec - sha256sums = 04c102d6db1bb8d4159c41f32ec0aa95846c0fb519841a3c1428ab20c850e9cf - sha256sums = 30ce091fc5eb37be72af6bf3a63c8fa6393c5903899eb9f6630a36661e86c76e - sha256sums = 98b312cc5c49fc8b39eaca9bcbda3986f661db078ed6490a9759579126bcd4ce - sha256sums = 772e344deae14bfeb02f9e889abef468b308f0e287fd2ce60e121d24f41a5355 - sha256sums = 5eb4912284c43c32916c1fcd1b95eaae751be3dccbfb9cd5b569a0d99e5d92d4 - sha256sums = ba10fc5d828245213edc73d6cb58d548519bec46def84a6b2d32c18ac02b3917 + sha256sums = 30b6440b842c19df64892cc560c274a7cc4f5de910a9f81e12dd0d76da561474 + sha256sums = 68133ae911d8b91374c09a7ce9f7617a260e43a669af00ed9299e1b8e7b2c9ec + sha256sums = 261da84107168979d241c60cd7adbfee0f6675464675faaefd5f6140009d54d8 + sha256sums = a8a3b84cbb6c7e79014b365d1c94b6c2095c7adaf83bc434c36bc3db088c50ca + sha256sums = f142bf1734f2516cee99656d14af529bdf4161cc798ed3f27b7f1a4a6ec0eb36 + sha256sums = 453f194a07a84ddf55f7514f4fceebbc1fc03894815c7ca257c3d205ba681426 + sha256sums = d8abd97506271bd8a68c8756e353ed1e02dcb9a998164531fabc97d53e1d2ae6 sha256sums = 69b98d923c08c6fb035c0c6905ec5e9c73273b694f8f3497777d44597dbe63e3 sha256sums = 762db1df07dfcf526fe634b4b589a08e8affefb2f79f02cff2624c70e0820422 sha256sums = 47accd49b64d624c6a6dee42952f8627aaabdd315fad85ef037507745d393f1a @@ -1,7 +1,7 @@ #Maintainer: Gharim Turen <gharim@turen.de> pkgname=evesetup pkgver=1548102 -pkgrel=6 +pkgrel=7 pkgdesc="An inofficial EVE Online Launcher Setup Tool." arch=(x86_64) url="https://forums.eveonline.com/t/eve-installing/71494" @@ -10,6 +10,7 @@ license=('custom') depends=('icu' 'openssl' 'openssl-1.0' + 'p7zip' 'qt5-base' 'qt5-declarative' 'qt5-translations' @@ -36,6 +37,7 @@ source=("evelauncher.desktop" "evewinetricks" "evebackup.desktop" "evebackup" + "everestore.desktop" "build_installer.sh" "build_small_installer.sh" "setup.sh.in" @@ -67,12 +69,17 @@ package() { install -d "${pkgdir}/usr/share/icons" sed -i s,ELVER=\"\",ELVER=\"${pkgver}\", "${srcdir}/evelauncher.sh" sed -i s,SETUPDIR=\"\",SETUPDIR=\"/opt/${pkgname}\", "${srcdir}/evelauncher.sh" - for cmd in evelauncher.sh everegedit evewine evewinecfg evewinetricks evebackup ;do + for cmd in backup launcher.sh regedit restore wine winecfg winetricks ;do + cmd=eve$cmd if [ -f "${srcdir}/$cmd" ] ;then sed -i s,./evesetup.shlib,/opt/${pkgname}/lib/evesetup.shlib, "${srcdir}/$cmd" install "${srcdir}/$cmd" "${pkgdir}/opt/${pkgname}/bin" else - ln -s evewine "${pkgdir}/opt/${pkgname}/bin/$cmd" + if [ "$cmd" = "everestore" ] ;then + ln -s evebackup "${pkgdir}/opt/${pkgname}/bin/$cmd" + else + ln -s evewine "${pkgdir}/opt/${pkgname}/bin/$cmd" + fi fi ln -s "/opt/${pkgname}/bin/$cmd" "${pkgdir}/usr/bin/$cmd" if [ ! "$cmd" = "evewine" ] ;then @@ -114,12 +121,13 @@ sha256sums=('ce85defa2698ea72e88221d72424fb953f86836494ecc0e4006f41ec89682af4' '546aaf5669dc3d3f1b2fff1b9a493d8ba31c19940a04fa4b9eb080e7301df4bd' 'c83beba543663b926d28d0eda98f1035cd73327da50f718a487763d300415a24' 'f438c7002eaf8e1186a838ac2e803242b7a2c98a22cf49622eb4a64cf4b202ec' - '04c102d6db1bb8d4159c41f32ec0aa95846c0fb519841a3c1428ab20c850e9cf' - '30ce091fc5eb37be72af6bf3a63c8fa6393c5903899eb9f6630a36661e86c76e' - '98b312cc5c49fc8b39eaca9bcbda3986f661db078ed6490a9759579126bcd4ce' - '772e344deae14bfeb02f9e889abef468b308f0e287fd2ce60e121d24f41a5355' - '5eb4912284c43c32916c1fcd1b95eaae751be3dccbfb9cd5b569a0d99e5d92d4' - 'ba10fc5d828245213edc73d6cb58d548519bec46def84a6b2d32c18ac02b3917' + '30b6440b842c19df64892cc560c274a7cc4f5de910a9f81e12dd0d76da561474' + '68133ae911d8b91374c09a7ce9f7617a260e43a669af00ed9299e1b8e7b2c9ec' + '261da84107168979d241c60cd7adbfee0f6675464675faaefd5f6140009d54d8' + 'a8a3b84cbb6c7e79014b365d1c94b6c2095c7adaf83bc434c36bc3db088c50ca' + 'f142bf1734f2516cee99656d14af529bdf4161cc798ed3f27b7f1a4a6ec0eb36' + '453f194a07a84ddf55f7514f4fceebbc1fc03894815c7ca257c3d205ba681426' + 'd8abd97506271bd8a68c8756e353ed1e02dcb9a998164531fabc97d53e1d2ae6' '69b98d923c08c6fb035c0c6905ec5e9c73273b694f8f3497777d44597dbe63e3' '762db1df07dfcf526fe634b4b589a08e8affefb2f79f02cff2624c70e0820422' '47accd49b64d624c6a6dee42952f8627aaabdd315fad85ef037507745d393f1a' diff --git a/build_installer.sh b/build_installer.sh index 5b9f79d8f3de..f73fe07f82cd 100755 --- a/build_installer.sh +++ b/build_installer.sh @@ -60,7 +60,8 @@ echo "done." printf "\nCopy needed files from AUR source..." for eia in ../eve-icons*.tar.gz ;do tar xf $eia -C evesetup/ ;done for eta in ../eve-transl5.11-??.tar.gz ;do cp $eta evesetup/ ;done -for cmd in evelauncher.sh everegedit evewine evewinecfg evewinetricks evebackup ;do +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 @@ -85,7 +86,6 @@ if [ -f "../evelauncher-$version.tar.gz" ] ;then 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" ./makeself.sh --tar-quietly evesetup/ ../evesetup-$version-$release-$arch.run \ "EVE Online Launcher Setup $version-$release" ./setup.sh diff --git a/build_small_installer.sh b/build_small_installer.sh index 9347ad0d61ed..84db520a455f 100755 --- a/build_small_installer.sh +++ b/build_small_installer.sh @@ -69,7 +69,8 @@ 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 +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 diff --git a/evebackup b/evebackup index b9e45520a88d..c1db57fa0bce 100644 --- a/evebackup +++ b/evebackup @@ -2,18 +2,52 @@ set -e -# WIP use at own risk - . ./evesetup.shlib +backup_settings() { +for SERVER in tranquility singularity duality thunderdome ;do + CLPROFILE="$(ls -d *_$SERVER 2>/dev/null || true)" + [ "x$CLPROFILE" = "x" ] && continue + if [ ! -f "$BACKUPDIR/$SERVER-settings_current.7z" ] ;then + MSGSTR="Preparing EVE Backup, please run $CMDSTR again." + else + mv "$BACKUPDIR/$SERVER-settings_current.7z" "$BACKUPDIR/$SERVER-settings.7z" + MSGSTR="User settings in $BACKUPDIR saved." + fi + cd "$CLPROFILE" + 7z u -t7z -xr!Browser "$BACKUPDIR/$SERVER-settings.7z" \ + -u- -u!"$BACKUPDIR/$SERVER-settings_current.7z" "settings_*" >/dev/null + cd .. +done +} + +restore_settings() { +for SERVER in thunderdome duality singularity tranquility ;do + if [ ! -f "$BACKUPDIR/$SERVER-settings.7z" ] ;then + MSGSTR="No settings in $BACKUPDIR found." + continue 2 + fi + case $SERVER in + tranquility) SERVER_SHORT=tq ;; + singularity) SERVER_SHORT=sisi ;; + *) SERVER_SHORT=$SERVER ;; + esac + [ -d c_"$SERVER_SHORT"_"$SERVER" ] || mkdir c_"$SERVER_SHORT"_"$SERVER" + 7z x "$BACKUPDIR/$SERVER-settings.7z" -oc_"$SERVER_SHORT"_"$SERVER" -y >/dev/null + MSGSTR="User settings from $BACKUPDIR restored." +done +} + SHAREDIR=$(getval SharedCacheFolder) -BCKUPDIR=$(xdg-user-dir DOCUMENTS 2>/dev/null || true)/EVE -[ -d "$BCKUPDIR" ] || BCKUPDIR=$HOME +BACKUPDIR=$(xdg-user-dir DOCUMENTS)/EVE +CMDSTR=$(basename $0) -USERCONF=wineenv/drive_c/users/$(whoami)/Local\ Settings/Application\ Data/CCP/EVE +cd "${SHAREDIR}wineenv/drive_c/users/$(whoami)/Local Settings/Application Data/CCP/EVE" -cd $SHAREDIR -tar czf $BCKUPDIR/eve_userconf_$(date +%F).tar.gz \ - --exclude=cache --exclude=Browser --exclude=history.txt "$USERCONF" +case $CMDSTR in + evebackup) backup_settings ;; + everestore) restore_settings ;; + *) exit 1 ;; +esac -desktop_msg "User configuration in $BCKUPDIR stored." +desktop_msg "$MSGSTR" diff --git a/evebackup.desktop b/evebackup.desktop index 3ee5f20e348a..d4d48758d4de 100644 --- a/evebackup.desktop +++ b/evebackup.desktop @@ -6,6 +6,6 @@ Icon=archivemanager Comment=Backup user settings Exec=evebackup NoDisplay=false -Categories=Utility;Wine; +Categories=Utility; StartupNotify=false Terminal=false diff --git a/everestore.desktop b/everestore.desktop new file mode 100644 index 000000000000..817aa1767dae --- /dev/null +++ b/everestore.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=EVE Restore +Icon=archivemanager +Comment=Restore user settings +Exec=everestore +NoDisplay=false +Categories=Utility; +StartupNotify=false +Terminal=false diff --git a/setup.sh.in b/setup.sh.in index bacb6c08e7b7..638cb1d436bc 100644 --- a/setup.sh.in +++ b/setup.sh.in @@ -15,12 +15,17 @@ bootstrap_install() { install -m 0644 "./evelauncher-${elver}.tar.gz" "$libdir" sed -i s,./eve-transl,$libdir/eve-transl, ./evelauncher.sh sed -i s,SETUPDIR=\"\",SETUPDIR=\"$destdir\", ./evelauncher.sh - for cmd in evelauncher.sh evewine evewinetricks everegedit evewinecfg evebackup ;do + 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 "./$cmd" "$bindir/" else - ln -sf evewine "$bindir/$cmd" + 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 @@ -44,7 +49,8 @@ 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 + 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" @@ -107,6 +113,13 @@ build_lib() { } check_req() { + if [ -x "$(which 7z 2>/dev/null)" ] ;then + echo "$(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 + fi if [ -x "$(which wine 2>/dev/null)" ] ;then echo "Wine version $(wine --version) found." else diff --git a/setup_small.sh.in b/setup_small.sh.in index 0c7320789e14..e95a94871c5e 100644 --- a/setup_small.sh.in +++ b/setup_small.sh.in @@ -11,12 +11,17 @@ bootstrap_install() { 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 + 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 - ln -sf evewine "$bindir/$cmd" + 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 @@ -40,7 +45,8 @@ 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 + 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" @@ -50,6 +56,9 @@ bootstrap_remove() { } check_req() { + if [ ! -x "$(which 7z 2>/dev/null)" ] ;then + req="${req}p7zip\n" + fi if [ ! -x "$(which wine 2>/dev/null)" ] ;then req="${req}wine\n" fi |