-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.sh
59 lines (56 loc) · 1.28 KB
/
utils.sh
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
function safe_mkdir {
if [ -d "$1" ]; then
BACKUP_DIR="$1"
if [ "${BACKUP_DIR: -1}" != "/" ] ; then
BACKUP_DIR+='/'
fi
BACKUP_DIR+='backup'
if [ -d "$BACKUP_DIR" ]; then
rm -R $BACKUP_DIR
fi
cp -r $1 "/tmp/backup_dir"
mv "/tmp/backup_dir" $BACKUP_DIR
else
mkdir -p $1
fi
}
function is_installed() {
if pacman -Qs $1 > /dev/null ; then
return 1
else
return 0
fi
}
function install_dependencies {
echo 'Checking dependencies...'
DEPENDENCIES="$1"
TO_INSTALL=()
for i in "${DEPENDENCIES[@]}"
do
echo "Checking $i"
if is_installed $i == 0; then
TO_INSTALL+=($i)
fi
done
if [ -n "$TO_INSTALL" ]; then
echo "Installing dependencies"
sudo pacman -Sy ${TO_INSTALL[@]} --noconfirm
else
echo "Dependencies already installed"
fi
echo 'Checking AUR dependencies...'
AUR_DEPENDENCIES="$2"
TO_INSTALL_AUR=()
for i in "${AUR_DEPENDENCIES[@]}"
do
if is_installed $i == 0; then
TO_INSTALL_AUR+=($i)
fi
done
if [ -n "$TO_INSTALL_AUR" ]; then
echo "Installing AUR dependencies"
yaourt -Sy ${TO_INSTALL_AUR[@]} --noconfirm
else
echo "AUR dependencies already installed"
fi
}