From 096819278c1e35a174c53eacf98b73521368b27c Mon Sep 17 00:00:00 2001
From: hertg <3533648+hertg@users.noreply.github.com>
Date: Thu, 27 Feb 2020 22:56:30 +0100
Subject: [PATCH 1/5] remove 'backup not found' output. closes #29
---
egpu-switcher | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/egpu-switcher b/egpu-switcher
index 17394b0..f9029ff 100755
--- a/egpu-switcher
+++ b/egpu-switcher
@@ -412,16 +412,14 @@ function cleanup() {
rm -f ${xfile_internal}
# delete the xorg.conf file, if it is a symlink and restore the last backup
- if [ -L ${xfile} ]; then
- rm -f ${xfile}
- if [ -e ${xfile_backup}.* ]; then
- local lastbackup=$(ls -t ${xfile_backup}.* | head -1)
- print_info "Restoring latest backup ${green}${lastbackup}"
- mv ${lastbackup} ${xfile}
- else
- print_info "Backup not found, restoring system without xorg.conf"
- fi
+ if [ -L ${xfile} ]; then
+ rm -f ${xfile}
+ if [ -e ${xfile_backup}.* ]; then
+ local lastbackup=$(ls -t ${xfile_backup}.* | head -1)
+ print_info "Restoring latest backup ${green}${lastbackup}"
+ mv ${lastbackup} ${xfile}
fi
+ fi
if [ ${hard} -eq 1 ]; then
print_info "Removing configuration files (--hard)"
From 5d63877bbec674ea753988079577299c6dbe7460 Mon Sep 17 00:00:00 2001
From: hertg <3533648+hertg@users.noreply.github.com>
Date: Thu, 27 Feb 2020 23:22:27 +0100
Subject: [PATCH 2/5] check if egpu.service exists on cleanup. closes #25
---
egpu-switcher | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/egpu-switcher b/egpu-switcher
index f9029ff..65ebb89 100755
--- a/egpu-switcher
+++ b/egpu-switcher
@@ -427,11 +427,16 @@ function cleanup() {
rm -fd ${config_dir}
fi
- systemctl stop egpu.service
- systemctl disable egpu.service
- rm ${systemd_folder}/egpu.service
- systemctl daemon-reload
- systemctl reset-failed
+ # only try to stop the egpu.service if its loaded.
+ # note: using sed rather than the --value property on purpose, to support older versions of systemd
+ if [ $(sudo systemctl show -p LoadState egpu.service | sed 's/LoadState=//g') == "loaded" ]; then
+ print_info "Removing the 'egpu.service' systemd service"
+ systemctl stop egpu.service
+ systemctl disable egpu.service
+ rm ${systemd_folder}/egpu.service
+ systemctl daemon-reload
+ systemctl reset-failed
+ fi
print_success "Done... Finished cleanup"
}
From 8e1d6a1938e0f5845bd1b592fdf6042c2a71ba66 Mon Sep 17 00:00:00 2001
From: hertg <3533648+hertg@users.noreply.github.com>
Date: Thu, 27 Feb 2020 23:29:08 +0100
Subject: [PATCH 3/5] updated readme
---
README.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 9062612..eb89b35 100644
--- a/README.md
+++ b/README.md
@@ -49,13 +49,15 @@ $ sudo egpu-switcher setup
```
Uninstall:
-> **Warning**: Do not use this command on any version prior to 0.10.2!
+> **Critical Warning**: **Do not use this command on any version prior to `0.10.2`!**\
> There was a critical typo in the Makefile which would delete your `/usr/bin` folder. Please do a manual uninstall by removing the `egpu-switcher` folder in the `/usr/bin/` and the `/usr/share/` directory.
```bash
$ sudo egpu-switcher cleanup
$ make uninstall
```
+> **Hint**: Up until version `0.12.0` there was an [issue](https://github.com/hertg/egpu-switcher/issues/25) that the cleanup command needed the egpu-switcher to be set up for the cleanup to work. If you are having trouble to cleanup, remove or upgrade the egpu-switcher take a look at [this possible fix](https://github.com/hertg/egpu-switcher/issues/25#issuecomment-590728815).
+
## Commands
egpu-switcher setup [--override] [--noprompt]
From ea4b1cd0ec8f7ef066aed11dcd05673cacad877c Mon Sep 17 00:00:00 2001
From: hertg <3533648+hertg@users.noreply.github.com>
Date: Thu, 27 Feb 2020 23:32:58 +0100
Subject: [PATCH 4/5] update screenshot in readme
---
images/screenshot_setup.png | Bin 69287 -> 83724 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/images/screenshot_setup.png b/images/screenshot_setup.png
index a01c455b592deae52af044ab11b627a7c1fba84c..794cf1d8c5a940ccccb53792ac6ebf8f0d2a650a 100644
GIT binary patch
literal 83724
zcmdqIWmH^Svo=bA;2H=LEV#Q{6C8pCcekL8JB_=A;2t~#cX#*T?$Wq>BbU9i_j|rG
z#&^z-`|sZRv&O19*P7DRHS2k*R@fJLNmQf{NKjBvsM1nmN>EU+f>2PG^&0-a7_+5xYf
zX#eUY>R@Wcjoc2+)i?vJA4D!=&GK0!f!
zgpw8$R&h%|T5)w#5nt;&KV2B5B1I%6#rO>U<_%^ZB2A8xp1AlKCUVXXDRm6&x3pck
z&^gdJpYk>K{E6P@(~E1-yva-YEsa1L^i8DdxWy;%-2+viQ6|Juw=w?cXe2#lVU)L>
zoxLBb>ka)n77mUYRf*GnwjP%@V?^(!6&@VfKf+Bv#UWR}l(FN)Q%52rb!V{F=KTVt
z={pQX2Gzb;Yk7TreQA}JkYeG?N7$glBsLb=383NyVz+1T0^
z8|=5F*7M%es5YyWf`WS|0fL+}n@)W8%`4nZWB-mx%qoXfI29&HKV0GNKEt3`l?T+(
zS>}@w6BASYp}IR5$K4eDZ(nz_RH~Ge6g@Zr^(Lo%wpj;E%x)qV&sqXq)_-OZ`?&7V
z*n*79bOf|-)|ml1nZCZ~Z@GvY-uY$8Dp!3KRTlb>NP*Z^PFNx=QdhZ~$e=uU{xnE+
zI#=snu2^5kTIE#iNX)Hs2okFQ{f@l#riHS5+q#E=TKg$j!GGRtixc$tXzTQzf`n#|
z^q;A|{XQ2}=KIeukHGWFPXS%>Cx}kU6LWHiX<<`=VuhWZ49GG{3=A^YWW(OhJOB0U
z+~||IjuY+1kHF*Q3{`8mK+m*5&*p~0iimC(YUP-PyUPa7aZ}p=j5Q}7qlA{paBxLq
z(@;O?%fkQOtL1L!aiJ|cp0YZG
z*Ntm@my4iEY&qt=aXylDMGar>K)2W4^|Hwt5gPg!u|u^UJH_5xwHBAu(XVP_q9wo)
zKd4-&bUVg>?{xK**m5#3B$Z>MT0tmZuhl~~g)3?^J6l~j@OANSU0R9o&DS}@%C)qK
zr%Ulm2q?`_{FV~y=G(5T>Km!V)vukl3!7nd+>zYUZ)91iQK5AkLHe2I9&VnV>24
zDMCPEWhw;#xb~;>VW?JpG#U{|&Emxp4pd)j
z^gDF!s}4t|^Cg(|dd{1W--5J4h0>DKa_G=ld-5RW)_tqBk#O4k9cFA=pRXT`W`n_-
zR*&mVvCl}hw?XP@I1xb|Wa3|EOYmXfP=1I)Zsuy_k<7MN5}+mKe%X*9I_Onc&<4M4
z2kCF=aKb|-v&P&9n-yhR4!FsU-N25}B-vbXaDHVvHrA=&AN}N`sjME;Kj{n70N#8n
zo>yOfi;9VD^Ra{jM!v13DRaz6)N~UhLwXVV7z9F}oS@6!El-_0^9d;>eWq;Xt>pf$
z4|oZcF5a}){QSE@8@R|-CLeTWbVq1yE>lfv!R;LFI0Aj*1*eAORf;J7&yfr
z2}k7d`+TCgNN19Sojj!hhF{}x2BVKbrU#axHey{gQ^
zh5%;&s`HdPxRvf|?-q@Os(12a%4eV^@Z4_APr%1jyh{dl!+enJzQbeJ>l}0Ih0p26
z4T}7XSTBt&Bs5%{70ada2omdcF$(v6#Q?i82B43gFa1z|1=>gEvZ4zMl`2yy(@9Zp
za;0WuJpOL6Y|Gsr7ngFq^y=9sw)ke{FE*9@P!-I7Z}-}Oa8sx(o9s(c<+7s#I){Uw
z%7JexI6aWoq5}rfA6CW9{W#k6gkvsthO3PsH}nNdZ8l3OsPf{kJNtp1orkdYdwxpq
zɸ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[p!BjxVu9&XLR?
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]sZb-Kw2%oj8u!(cvA0{dw;Hg2|QGh
zHpX2bdOAGp)fXN&DY9cBed+31C+3+{Hb1kdeWOCiqOu0RS)j0%wXn5|aA&^n@a-T}A6{h$ckXtosabk(8Md%-wGY{j$l#0z-1-suP250*xNPih@Y
z_^Ww!MLv{`qzyFD2~C{e_IjPuynC4uax?&9oWtET5qmP5N?js6yiBK|DQmO-mQWCx
zR~@st>iz8J=1qnRI_MsNH^ygk`rvqZ*a-IgKBHSuNjFM>hmx;Qmp!zO=tOHFtrSY#
z3?FUwygJ?cL9T|;20{A)wcq6zvLH^WNkhil#Sr@*37w6RC?|y`b1j_lcNFWlhzyRY
zVlittlQ;Gh&sHF_wK6NJ7=;3-*dt