summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJernuh Zakalwe2019-12-30 17:06:46 +0100
committerJernuh Zakalwe2019-12-30 17:06:46 +0100
commitb2d8028e7eae09fad95feb5486267eb986f0ba69 (patch)
treeefae24426e2062373d26a67fb4c598086ee6246d
parent232333097a5f3749a9c84adbed10a306d76a9a2e (diff)
downloadaur-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--.SRCINFO17
-rw-r--r--PKGBUILD26
-rwxr-xr-xbuild_installer.sh4
-rwxr-xr-xbuild_small_installer.sh3
-rw-r--r--evebackup52
-rw-r--r--evebackup.desktop2
-rw-r--r--everestore.desktop11
-rw-r--r--setup.sh.in19
-rw-r--r--setup_small.sh.in15
9 files changed, 114 insertions, 35 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 668ae67582ae..65435fb9bd17 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 14c80cc77969..7a72f2e4491b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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