-
Notifications
You must be signed in to change notification settings - Fork 2
/
yerelkur.bash
102 lines (87 loc) · 2.17 KB
/
yerelkur.bash
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
#!/bin/bash
#
# ezanvakti uygulamasının kullanıcı dizinine($HOME) kurulumunu yapar.
#
# ezanvakti uygulamasının kurulu olma ve bu kurulumla çakışma durumuna
# karşı farklı bir adla kurulum yapar.
# Kurulu olmadığından eminseniz AD değerini ezanvakti yapabilirsiniz.
#
# Bu betiği kaynak kod dizini içerisinde çalıştırın.
#
# Örnek kurulum komutları:
# export AD=ezv
# bash yerelkur.bash --kur
#
# Örnek kaldırma komutları:
# ezv adıyla kurulu ise
# export AD=ezv
# bash yerelkur.bash --kaldir
# AD belirlenmemişse ezv olarak kurar ve
# kaldırırken de ezv'yi arar.
#
AD=${AD:-ezv}
bindir="$HOME/.local/bin"
# bağımlılık denetimi aç/kapa.
#
# 1: açık
# 0: kapalı
NODEPS=${NODEPS:-1}
[[ $(id -u) == 0 ]] && {
printf '%s: root haklarıyla çalıştırılamaz.\n' "${0##*/}" >&2
exit 1
}
case $1 in
--kur|--install) eylem=install ;;
--kald[iı]r|--uninstall|--remove) eylem=uninstall ;;
*)
echo "\
Kullanım:
--kur
Yerel kurulum yapar.
--kaldır
Yerel kurulumu kaldırır.
" >&2
exit 1 ;;
esac
(( NODEPS )) && [[ ${eylem} = install ]] && {
BAG=('bash' 'sed' 'gawk' 'grep' 'make' 'notify-send' 'yad' 'mplayer|ffmpeg' 'wget|curl')
for b in ${BAG[@]}
do
if [[ $b =~ '|' ]]
then
b1=$(cut -d'|' -f1 <<<$b)
b2=$(cut -d'|' -f2 <<<$b)
if ! hash $b1 2>/dev/null
then
if ! hash $b2 2>/dev/null
then
KUR_BUNU+=("$b1 ya da $b2")
fi
fi
else
hash $b 2>/dev/null || KUR_BUNU+=("$b")
fi
done
(( ${#KUR_BUNU[@]} )) && {
KUR_BUNU=("${KUR_BUNU[@]/notify-send/libnotify}")
e=0
printf '%s\n' \
'Aşağıdaki bağımlılıklar bulunamadı.' >&2
for pm in "${KUR_BUNU[@]}"
do
printf '%s\n' \
" -> ${KUR_BUNU[$e]}"
((e++))
done
exit 1
}
}
make clean
make PREFIX="$HOME/.local" bindir="${bindir}" AD=${AD} ${eylem}
gtk-update-icon-cache -f -t "$HOME/.local/share/icons/hicolor"
xdg-desktop-menu forceupdate
make clean
[[ ${eylem} = install ]] && {
[[ :$PATH: == *:${bindir}:* ]] || \
echo -e "\n\n\033[0;1m${bindir}\033[1;33m PATH üzerinde değil.\033[0m"
}