1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
#!/bin/sh
# Script to upgrade/install the arc-theme
#URL
theme_name=arc-theme
# Theme name
download_url=https://github.com/horst3180/$theme_name/archive/master.tar.gz
# for test purporses only (the repo needs to have this script)
# download_url=https://github.com/leoheck/$theme_name/archive/master.tar.gz
# Tempdir
tempdir=/tmp/$theme_name
# Directories
lightdir=/usr/share/themes/Arc
darkerdir=/usr/share/themes/Arc-Darker
darkdir=/usr/share/themes/Arc-Dark
userlightdir=$HOME/.themes/Arc
userdarkerdir=$HOME/.themes/Arc-Darker
userdarkdir=$HOME/.themes/Arc-Dark
userlightdir2=$HOME/local/share/themes/Arc
userdarkerdir2=$HOME/local/share/themes/Arc-Darker
userdarkdir2=$HOME/local/share/themes/Arc-Dark
#Functions
show_error() {
printf "\033[1;31m$@\033[0m\n"
}
check_root() {
if [ "$(id -u)" -ne 0 ]; then
show_error "This script has to be run as root"
echo
exec sudo "$0" "$@" # Instead of exit, just re-execute as root
fi
}
check_command() {
fail=false
for i in "$@"
do
command -v $i >/dev/null 2>&1 || { show_error >&2 "This script requires "$i" but it's not installed."; fail=true; }
done
if [ "$fail" = true ]; then
echo
echo "Aborting."
echo
exit 1;
fi
}
check_directories() {
dirfound=false
echo "Checking if theme is installed..."
echo
for i in "$@"
do
if [ -d "$i" ]; then
echo "Found $i"
dirfound=true
fi
done
if [ "$dirfound" = true ]; then
echo
echo "The above directories will be overwritten."
fi
if [ "$dirfound" = false ]; then
echo "Theme is not installed."
fi
}
install_theme() {
# Clean tempdir
rm -rf $tempdir && mkdir $tempdir && cd $tempdir
# 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
make install
# Install this script
if [ -f $(basename $0) ]; then
if [ ! -f /usr/bin/$(basename $0) ]; then
echo
read -r -p "Do you like to install the $(basename $0) for future upgrades? [y/N] " response
case $response in
[yY][eE][sS]|[yY])
echo "Installing $(basename $0) on /usr/bin/"
cp -r arc-theme-upgrade /usr/bin/
;;
*)
echo "Aborted by user"
exit 0;
;;
esac
else
echo "Upgrading $(basename $0)"
cp -f $(basename $0) /usr/bin/
fi
fi
# Remove the sources
rm -rf $tempdir
echo
echo "Installation complete."
}
# Main part
clear
echo '####################################'
echo '# Arc Theme Install Script #'
echo '####################################'
echo
#Check available commands
check_command automake wget pkg-config autoconf make tar
#Check if we are root
check_root
#Check if theme is installed
check_directories $lightdir $darkerdir $darkdir
echo
read -r -p "Do you want to continue installation? [y/N] " response
case $response in
[yY][eE][sS]|[yY])
install_theme
;;
*)
echo "Aborted by user"
exit 0;
;;
esac
|