-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathinstall_main_es.sh
executable file
·184 lines (145 loc) · 7.02 KB
/
install_main_es.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
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
#!/bin/bash
lang=$(echo $LANG | grep -o '^[a-zA-Z]*_[a-zA-Z]*')
#### Define Variables ####
CONF="/etc/svxlink/svxlink.conf"
MODULE="/etc/svxlink/svxlink.d"
OP=/etc/svxlink
export HOME
#### Welcome Message ####
source "${BASH_SOURCE%/*}/functions/welcome_es.sh"
welcome
source "${BASH_SOURCE%/*}/functions/configure_es.sh"
configure
#### USB SOUND CARD ####
source "${BASH_SOURCE%/*}/functions/sound_card_es.sh"
soundcard
#### NODE Selection ####
source "${BASH_SOURCE%/*}/functions/node_type_es.sh"
nodeoption
echo -e "$(date)" "${YELLOW} #### Node Type: $NODEOPTION #### ${NORMAL}" | sudo tee -a /var/log/install.log
echo -e "$(date)" "${YELLOW} #### Sound Card: $HID $GPIOD $card #### ${NORMAL}" | sudo tee -a /var/log/install.log
echo -e "$(date)" "${YELLOW} #### Checking Alsa #### ${NORMAL}" | sudo tee -a /var/log/install.log
#### REQUEST CALLSIGN ####
source "${BASH_SOURCE%/*}/functions/callsign_es.sh"
callsign
#### GROUPS AND USERS ####
# clear
echo -e "$(date)" "${YELLOW} #### Creating Groups and Users #### ${NORMAL}" | sudo tee -a /var/log/install.log
source "${BASH_SOURCE%/*}/functions/groups.sh"
make_groups
#### CONFIGURATION VOICES ####
# clear
echo -e "$(date)" "${GREEN} #### Installing Voice Files #### ${NORMAL}" | sudo tee -a /var/log/install.log
cd /usr/share/svxlink/sounds
sudo git clone https://github.com/ea5gvk/es_ES.git
cd /etc/svxlink
sudo chmod 775 -R *
#### BACKUP CONFIGURATION ####
# clear
echo -e "$(date)" "${GREEN} #### Copia de seguridad de la configuración en: $CONF.bak #### ${NORMAL}"| sudo tee -a /var/log/install.log
if [ -f "$CONF" ]; then
sudo cp -p "$CONF" "$CONF.bak"
else
echo "File $CONF does not exist."
fi
##
cd /home/pi/
SUDOERS_FILE="/etc/sudoers.d/svxlink"
SOURCE_FILE="svxlinkbuilder/www-data.sudoers"
if [ ! -f "$SOURCE_FILE" ]; then
whiptail --title "Error" --msgbox "Source file $SOURCE_FILE does not exist. Exiting." 8 78
exit 1
fi
# Check if the sudoers file exists
if [ -f "$SUDOERS_FILE" ]; then
: > "$SUDOERS_FILE"
else
touch "$SUDOERS_FILE"
fi
# Ensure the sudoers file has the correct permissions
# Read the content from the source file into the sudoers file
cat "$SOURCE_FILE" > "$SUDOERS_FILE"
chmod 0440 "$SUDOERS_FILE"
echo -e "$(date)" "${RED} #### Descarga de archivos de configuración preparados desde los scripts #### ${NORMAL}" | sudo tee -a /var/log/install.log
sudo mkdir /home/pi/scripts
sudo cp -f /home/pi/svxlinkbuilder/addons/10-uname /etc/update-motd.d/
sudo cp -f /home/pi/svxlinkbuilder/configs/svxlink.conf /etc/svxlink/
sudo cp -f /home/pi/svxlinkbuilder/addons/node_info.json /etc/svxlink/node_info.json
sudo cp -f /home/pi/svxlinkbuilder/resetlog.sh /home/pi/scripts/resetlog.sh
(sudo crontab -l 2>/dev/null; echo "59 23 * * * /home/pi/scripts/resetlog.sh ") | sudo crontab -
sudo mkdir /usr/share/svxlink/events.d/local
sudo cp /usr/share/svxlink/events.d/*.tcl /usr/share/svxlink/events.d/local/
sudo cp -f /home/pi/svxlinkbuilder/configs/Logic.tcl /usr/share/svxlink/events.d/local/Logic.tcl
sudo sed -i '/^LINK=\/adds\/dataserver_current\/httpparam/ c\LINK=/cgi-bin/data/dataserver.php?requestType=retrieve&dataSource=metars&hoursBeforeNow=3&stationString=' $MODULE/ModuleMetarInfo.conf
# clear
echo -e "$(date)" "${GREEN} #### Establecer indicativo en $CALL #### ${NORMAL}" | sudo tee -a /var/log/install.log
sudo sed -i "s/MYCALL/$CALL/g" $CONF
sudo sed -i "s/MYCALL/$CALL/g" /etc/svxlink/node_info.json
echo -e "$(date)" "${GREEN} #### Configuración del tiempo de suspensión del silenciador en 10 mS ${NORMAL}" | sudo tee -a /var/log/install.log
sudo sed -i s/SQL_HANGTIME=2000/SQL_HANGTIME=10/g $CONF
# clear
echo -e "$(date)" "${YELLOW} #### Desactivar mensajes de advertencia de distorsión de audio #### ${NORMAL}"| sudo tee -a /var/log/install.log
sudo sed -i 's/PEAK_METER=1/PEAK_METER=0/g' $CONF
# clear
echo -e "$(date)" "${GREEN} #### Actualización de SplashScreen al iniciar #### ${NORMAL}" | sudo tee -a /var/log/install.log
sudo sed -i "s/MYCALL/$CALL/g" /etc/update-motd.d/10-uname
sudo chmod 0775 /etc/update-motd.d/10-uname
# clear
echo -e "$(date)" "${YELLOW} #### Cambiar el sufijo del archivo de registro ${NORMAL}" | sudo tee -a /var/log/install.log
sudo sed -i '/^LOGFILE=/ { /[^.log]$/ s/$/.log/ }' /etc/default/svxlink
#### INSTALLING DASHBOARD ####
# clear
cd /home/pi
echo -e "$(date)" "${YELLOW} #### Comprobación de direcciones IP #### ${NORMAL}" | sudo tee -a /var/log/install.log
source "${BASH_SOURCE%/*}/functions/get_ip.sh"
ipaddress
# clear
cd /home/pi
echo -e "$(date)" "${YELLOW} #### Instalación del panel #### ${NORMAL}" | sudo tee -a /var/log/install.log
source "${BASH_SOURCE%/*}/functions/dash_install_es.sh"
dash_install
# clear
echo -e "$(date)" "${GREEN} #### Panel instalado #### ${NORMAL}" | sudo tee -a /var/log/install.log
whiptail --title "Adresses IP" --msgbox "Tablero instalado. Tenga en cuenta que su dirección IP es $ip_address en $device" 8 78
cd /home/pi/
# clear
echo -e "$(date)" "${GREEN} #### Configurando el nodo #### ${NORMAL}" | sudo tee -a /var/log/install.log
source "${BASH_SOURCE%/*}/functions/node_setup_es.sh"
nodeset
#### Removal of unwanted files ####
#echo -e "$(date)" "${YELLOW} #### Removing unwanted files #### ${NORMAL}" | sudo tee -a /var/log/install.log
#source "${BASH_SOURCE%/*}/functions/deletion.sh"
#delete
#### TIME SELECTION ####
source "${BASH_SOURCE%/*}/functions/time_selection_es.sh"
timeselect
#### Identification setup ####
echo -e "$(date)" "${GREEN} #### Identification setup #### ${NORMAL}" | sudo tee -a /var/log/install.log
source "${BASH_SOURCE%/*}/functions/announce_es.sh"
announce
echo -e "$(date)" "${GREEN} #### Announcement setup complete #### ${NORMAL}" | sudo tee -a /var/log/install.log
source "${BASH_SOURCE%/*}/functions/tones_es.sh"
tones
echo -e "$(date)" "${GREEN} #### Tones setup complete #### ${NORMAL}" | sudo tee -a /var/log/install.log
cd /home/pi
# clear
echo -e "$(date)" "${RED} #### Cambiando el móduloMetar Link #### ${NORMAL}" | sudo tee -a /var/log/install.log
source "${BASH_SOURCE%/*}/functions/modulemetar_setup_es.sh"
modulemetar
# clear
cd /home/pi/
echo -e "$(date)" "${RED} #### Cambio de ModuleEchoLink #### ${NORMAL}" | sudo tee -a /var/log/install.log
source "${BASH_SOURCE%/*}/functions/echolink_setup_es.sh"
echolinksetup
# clear
# echo -e "$(date)" "${RED} #### Changing ModulePropagationMonitor #### ${NORMAL}" | sudo tee -a /var/log/install.log
# source "${BASH_SOURCE%/*}/functions/propagationmonitor_setup.sh"
# propagationmonitor
# clear
echo -e "$(date)" "${RED} #### Reinicie svxlink.service #### ${NORMAL}" | sudo tee -a /var/log/install.log
sudo systemctl restart svxlink.service
##.service isn't necessary ##
echo -e "$(date)" "${GREEN} #### Instalación completa #### ${NORMAL}" | sudo tee -a /var/log/install.log
whiptail --title "Instalación completa" --msgbox "Instalación completa. Vayamos al panel " 8 78
echo -e "$(date)" "${RED} #### Complete #### ${NORMAL}" | sudo tee -a /var/log/install.log
#exit