aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMajal2015-12-05 11:44:06 +0800
committerMajal2015-12-05 11:44:06 +0800
commited307d68b8df0b3d3e9b6a4e32c5295d0a0a4061 (patch)
treea3855c468d641f0fce111db2b9f5ccc59da38aa2
parentd5d7a1c9846de77f064feff3c712fb0eed9a8307 (diff)
downloadsolarc-theme-ed307d68b8df0b3d3e9b6a4e32c5295d0a0a4061.tar.gz
solarc-theme-ed307d68b8df0b3d3e9b6a4e32c5295d0a0a4061.tar.xz
solarc-theme-ed307d68b8df0b3d3e9b6a4e32c5295d0a0a4061.zip
1. Re-execute as root, 2. Fail safe remove dirs
1. When not root, automatically re-execute as root instead of exit 1 2. Perform `rm -rf $lightdir $darkerdir $darkdir` only after download of package and extraction completes without error.
-rwxr-xr-xarc-theme-upgrade11
1 files changed, 4 insertions, 7 deletions
diff --git a/arc-theme-upgrade b/arc-theme-upgrade
index 3571bb5..ce475b0 100755
--- a/arc-theme-upgrade
+++ b/arc-theme-upgrade
@@ -35,7 +35,8 @@ echo -e "\033[1;31m$@\033[0m"
check_root() {
if [[ "${EUID}" -ne 0 ]]; then
show_error "This script has to be run as root"
- exit 1;
+ echo
+ exec sudo "$0" "$@" # Instead of exit, just re-execute as root
fi
}
@@ -80,15 +81,11 @@ check_directories() {
}
install_theme() {
- # Remove current installation
- rm -rf $lightdir $darkerdir $darkdir
-
# Clean tempdir
rm -rf $tempdir && mkdir $tempdir && cd $tempdir
- # Get the sources
- wget $download_url
- tar xf master.tar.gz && cd "$theme_name"-master
+ # Get the sources && Remove current installation only if download and unpack are successful
+ wget $download_url && tar xf master.tar.gz && rm -rf $lightdir $darkerdir $darkdir && cd "$theme_name"-master
# Build and install
./autogen.sh --prefix=/usr