blob: 486a09d1d1157e403664e8d37d15bb08d15bd663 (
plain)
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
149
150
|
#!/bin/bash
# shellcheck source=/dev/null
#------------------
# Update functions
#------------------
function _which() {
command -v "$1" &> /dev/null
}
# Check URL's
# ---------------------
function _url_exists() {
curl --output /dev/null 2>&1 -s -w "%{http_code}\n" "$1"
}
function _urls() {
URL_1="https://c.fridu.us/software/hyperterm.git"
URL_2="https://git.sr.ht/~heckyel/hyperterm"
case $(_url_exists "$URL_1") in
200) URL="$URL_1"
RAW="$URL_1/plain";;
esac
case $(_url_exists "$URL_2") in
200) URL="$URL_2"
RAW="$URL_2/blob/master";;
esac
}
# ----------------------
function ifexists_custom() {
_urls "$@"
if [ ! -e "$HOME/.hyperterm/_custom.sh" ]; then
case $1 in
wget) wget "$RAW/hyperterm/_custom.sh" -O "$HOME/.hyperterm/_custom.sh" ;;
curl) curl "$RAW/hyperterm/_custom.sh" -o "$HOME/.hyperterm/_custom.sh" ;;
git) cp -v /tmp/hyperterm/hyperterm/_custom.sh "$HOME/.hyperterm/" ;;
esac
fi
}
function updbashrc() {
_urls "$@"
# data integration
if _which wget; then
wget -nv "$RAW/hyperterm/hyperterm.sha512" -O "$HOME/.hyperterm/hyperterm.sha512" &> /dev/null
ifexists_custom wget &> /dev/null
elif _which curl; then
curl "$RAW/hyperterm/hyperterm.sha512" -o "$HOME/.hyperterm/hyperterm.sha512" &> /dev/null
ifexists_custom curl &> /dev/null
fi
# checksum of data verification
(cd "$HOME/.hyperterm/" && sha512sum -c hyperterm.sha512 &> /dev/null)
_interger=$?
if _which git; then
if [[ "$_interger" -eq 0 ]]; then
# Import colors
_colors_bash "$@"
printf '%b' "${BOLD}${CYAN}"
printf '%s\n' ' __ __ ______ '
printf '%s\n' ' / / / /_ ______ ___ ____/_ __/__ _________ ___ '
printf '%s\n' ' / /_/ / / / / __ \/ _ \/ ___// / / _ \/ ___/ __ `__ \ '
printf '%s\n' ' / __ / /_/ / /_/ / __/ / / / / __/ / / / / / / / '
printf '%s\n' ' /_/ /_/\__, / .___/\___/_/ /_/ \___/_/ /_/ /_/ /_/ '
printf '%s\n' ' /____/_/ '
printf '%s\n' ' '
printf '%b' "${BOLD}${GREY}"
msg "¡Hurra! HyperTerm se ha actualizado y/o está en la versión actual." \
"Hooray! HyperTerm has been updated and/or is at the current version."
msg "Puede reportarnos errores en https://todo.sr.ht/~heckyel/hyperterm" \
"You can report errors issues in https://todo.sr.ht/~heckyel/hyperterm"
msg "Consigue tu copia de HyperTerm en: https://c.fridu.us/software/hyperterm.git" \
"Get your HyperTerm copy on: https://c.fridu.us/software/hyperterm.git"
printf '%b\n' "$RESET"
else
case $(_url_exists "$URL") in
200)
# clone '--depth=1' not support cgit
(git clone $URL /tmp/hyperterm/ --depth=1 &> /dev/null)
printf '%s\r' "##### (33%)"
sleep 1
# core
for i in autocomplete.sh colors.sh git.sh languages.sh status.sh update.sh; do
install -m644 /tmp/hyperterm/hyperterm/core/$i "$HOME/.hyperterm/core/$i"
done
# themes
for i in default.sh joy.sh light_theme.sh minterm.sh pure.sh simple.sh special.sh; do
install -m644 /tmp/hyperterm/hyperterm/themes/$i "$HOME/.hyperterm/themes/$i"
done
# tools
(cp -f /tmp/hyperterm/hyperterm/tools/* "$HOME/.hyperterm/tools/" &> /dev/null)
for i in hyperterm.sh hyperterm.sha512; do
install -m644 /tmp/hyperterm/hyperterm/$i "$HOME/.hyperterm/$i"
done
(cp -f /tmp/hyperterm/.bash_profile "$HOME/" &> /dev/null)
printf '%s\r' "############# (66%)"
(ifexists_custom git &> /dev/null)
sleep 1
(rm -fr /tmp/hyperterm/)
printf '%s\n' "####################### (100%) done!"
source "$HOME/.bashrc" ;;
*)
msg_err "El repo esta deshabilitado o no hay conexión a Internet" \
"The repo is disabled or connection failed"
return 1 ;;
esac
fi
else
msg_err "No hay curl y git. Por favor, instale los programas para actualizar HyperTerm" \
"I couldn't find not curl and git. Please, install the programs to update HyperTerm"
return 1
fi
}
function updbashrc_custom() {
_urls "$@"
case $(_url_exists "$URL") in
200)
while true
do
function _copy_c() {
if _which wget; then
wget "$RAW/hyperterm/_custom.sh" -O "$HOME/.hyperterm/_custom.sh"; source "$HOME/.bashrc"
elif _which curl; then
curl "$RAW/hyperterm/_custom.sh" -o "$HOME/.hyperterm/_custom.sh"; source "$HOME/.bashrc"
fi
}
question=$(msg "¿Estás seguro de sobre-escribir _custom.sh? [s/N]: " \
"Are you sure to overwrite _custom.sh? [y/N]: ")
read -r -p "$question" input
case $input in
[sS]|[yY]) _copy_c "$@"; break ;;
[nN]|"") break ;;
*) msg "Por favor responde sí o no" \
"Please answer yes or no.";;
esac
done ;;
*)
msg_err "El repo esta deshabilitado o no hay conexión a Internet" \
"The repo is disabled or connection failed"
return 1
;;
esac
}
|