kopia lustrzana https://github.com/km4ack/pi-build
commit
0d1ddd1b7d
|
@ -1,3 +1,7 @@
|
||||||
|
# Support this Project
|
||||||
|
|
||||||
|
[![Patreon](https://www.dropbox.com/s/gr6k9j359b744tl/patreon-logo1.png?dl=1)](https://patreon.com/km4ack) | [![Tip Jar](https://www.dropbox.com/s/tk4w0tery1ugrqz/tip-jar-1024x900.png?dl=1)](https://paypal.me/km4ack)
|
||||||
|
|
||||||
# Description
|
# Description
|
||||||
|
|
||||||
Build-a-Pi will allow you to get up and running fast with a Raspberry Pi for ham radio.
|
Build-a-Pi will allow you to get up and running fast with a Raspberry Pi for ham radio.
|
||||||
|
@ -155,3 +159,8 @@ Graphic viewer to view/manage log files.
|
||||||
|
|
||||||
#### Gparted
|
#### Gparted
|
||||||
Disk utility.
|
Disk utility.
|
||||||
|
|
||||||
|
# Support this Project
|
||||||
|
|
||||||
|
[![Patreon](https://www.dropbox.com/s/gr6k9j359b744tl/patreon-logo1.png?dl=1)](https://patreon.com/km4ack) | [![Tip Jar](https://www.dropbox.com/s/tk4w0tery1ugrqz/tip-jar-1024x900.png?dl=1)](https://paypal.me/km4ack)
|
||||||
|
|
||||||
|
|
39
app-check
39
app-check
|
@ -65,6 +65,15 @@ CHECK() {
|
||||||
echo "ARDOPGUI=Not_Installed" >> $UPDATEFILE
|
echo "ARDOPGUI=Not_Installed" >> $UPDATEFILE
|
||||||
fi
|
fi
|
||||||
#----------------------------------------------------#
|
#----------------------------------------------------#
|
||||||
|
# VARA
|
||||||
|
#----------------------------------------------------#
|
||||||
|
echo "Checking VARA"
|
||||||
|
if [ -f /home/pi/.wine/drive_c/VARA/VARA.exe ]; then
|
||||||
|
echo "VARA=Installed" >> $UPDATEFILE
|
||||||
|
else
|
||||||
|
echo "VARA=Not_Installed" >> $UPDATEFILE
|
||||||
|
fi
|
||||||
|
#----------------------------------------------------#
|
||||||
# JS8Call
|
# JS8Call
|
||||||
#----------------------------------------------------#
|
#----------------------------------------------------#
|
||||||
if ! hash js8call 2>/dev/null; then
|
if ! hash js8call 2>/dev/null; then
|
||||||
|
@ -683,13 +692,27 @@ echo "Checking Packet Search"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#----------------------------------------------------#
|
#----------------------------------------------------#
|
||||||
# piQtSoundModem
|
# piQtSoundModem
|
||||||
#----------------------------------------------------#
|
#----------------------------------------------------#
|
||||||
if [ -f /usr/local/bin/piQtSoundModem ]; then
|
if [ -f /usr/local/bin/piQtSoundModem ]; then
|
||||||
echo "QTSOUND=Installed" >> $UPDATEFILE
|
echo "QTSOUND=Installed" >> $UPDATEFILE
|
||||||
else
|
else
|
||||||
echo "QTSOUND=Not_Installed" >> $UPDATEFILE
|
echo "QTSOUND=Not_Installed" >> $UPDATEFILE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#----------------------------------------------------#
|
||||||
|
# Repeater-Start
|
||||||
|
#----------------------------------------------------#
|
||||||
|
echo "Checking Repeater-Start"
|
||||||
|
REPEAT_CURRENT_VER=$(dpkg --list | grep repeater-start | awk '{print $3}')
|
||||||
|
REPEAT_LATEST=$(curl -s https://sourceforge.net/projects/repeater-start/files/ | grep all.deb | head -1 | sed 's/.*repeater/repeater/;s/".*//')
|
||||||
|
REPEAT_LATEST_VER=$(echo $REPEAT_LATEST | sed 's/repeater-start_//;s/_.*//')
|
||||||
|
|
||||||
|
if (($(echo "${REPEAT_LATEST_VER} ${REPEAT_CURRENT_VER}" | awk '{print ($1 > $2)}'))); then
|
||||||
|
echo "REPEAT=NEEDS-UPDATE" >> $UPDATEFILE
|
||||||
|
else
|
||||||
|
echo "REPEAT=is_latest_version" >> $UPDATEFILE
|
||||||
|
fi
|
||||||
|
|
||||||
CHECK
|
CHECK
|
22
build-a-pi
22
build-a-pi
|
@ -239,6 +239,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \
|
||||||
false "GPSUPDATE" "Tool to Manage GPS Devices" \
|
false "GPSUPDATE" "Tool to Manage GPS Devices" \
|
||||||
false "ARDOP" "Modem for HF" \
|
false "ARDOP" "Modem for HF" \
|
||||||
false "ARDOPGUI" "GUI for ARDOP" \
|
false "ARDOPGUI" "GUI for ARDOP" \
|
||||||
|
false "VARA" "VARA Modem - <b>Pi 4 Required</b>" \
|
||||||
false "HAMLIB" "Needed for Rig Control" \
|
false "HAMLIB" "Needed for Rig Control" \
|
||||||
false "DIREWOLF" "Software TNC" \
|
false "DIREWOLF" "Software TNC" \
|
||||||
false "AX25" "Data Link Layer Protocol" \
|
false "AX25" "Data Link Layer Protocol" \
|
||||||
|
@ -252,12 +253,28 @@ if [ ${BUT} = 252 ] || [ ${BUT} = 1 ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ${BUT} = 3 ]; then
|
if [ ${BUT} = 3 ]; then
|
||||||
BASEAPPS=(HOTSPOT HSTOOLS GPS ARDOP ARDOPGUI HAMLIB DIREWOLF AX25 PULSE GPSUPDATE)
|
BASEAPPS=(HOTSPOT HSTOOLS GPS ARDOP ARDOPGUI VARA HAMLIB DIREWOLF AX25 PULSE GPSUPDATE)
|
||||||
for i in "${BASEAPPS[@]}"; do
|
for i in "${BASEAPPS[@]}"; do
|
||||||
echo "$i" >>${BASE}
|
echo "$i" >>${BASE}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#If VARA is chosen, make sure we have a Pi 4 32 bit system to work with.
|
||||||
|
#As of 02OCT2022 the VARA installer only works with the Pi 4.
|
||||||
|
VARA_CHK=$(grep VARA ${BASE})
|
||||||
|
if [ -n "$VARA_CHK" ]; then
|
||||||
|
FREEMEM=$(free -m | grep Mem: | awk '{ print $2 }')
|
||||||
|
if [ $FREEMEM -lt 1500 ]; then
|
||||||
|
echo "Not enough memory available"
|
||||||
|
yad --form --width=500 --text-align=center --center --title="Build-a-Pi" --text-align=center \
|
||||||
|
--image ${LOGO} --window-icon=${LOGO} --image-on-top --separator="|" --item-separator="|" \
|
||||||
|
--text="<b>Not enough memory</b>\rVARA requires a Pi 4.\r\rVARA will not be installed during the build." \
|
||||||
|
--button=gtk-ok
|
||||||
|
sed -i 's/VARA//;/^$/d' ${BASE}
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
#check if hotspot is chosen for install & get info if needed
|
#check if hotspot is chosen for install & get info if needed
|
||||||
HS=$(grep "HOTSPOT" ${BASE})
|
HS=$(grep "HOTSPOT" ${BASE})
|
||||||
if [ -n "$HS" ]; then
|
if [ -n "$HS" ]; then
|
||||||
|
@ -405,6 +422,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \
|
||||||
false "GPREDICT" "Satellite Tracking" \
|
false "GPREDICT" "Satellite Tracking" \
|
||||||
false "TQSL" "LOTW Software" \
|
false "TQSL" "LOTW Software" \
|
||||||
false "GRIDCALC" "Grid Calculation Software" \
|
false "GRIDCALC" "Grid Calculation Software" \
|
||||||
|
false "REPEAT" "Repeater Directory" \
|
||||||
--button="Exit":1 \
|
--button="Exit":1 \
|
||||||
--button="Check All and Continue":3 \
|
--button="Check All and Continue":3 \
|
||||||
--button="Next":2 >${ADDITIONAL}
|
--button="Next":2 >${ADDITIONAL}
|
||||||
|
@ -416,7 +434,7 @@ fi
|
||||||
if [ ${BUT} = 3 ]; then
|
if [ ${BUT} = 3 ]; then
|
||||||
ADDAPPS=(CONKY PI-APRS CHIRP GARIM PAT PAT-MENU JS8CALL M0IAX WSJTX PYQSO
|
ADDAPPS=(CONKY PI-APRS CHIRP GARIM PAT PAT-MENU JS8CALL M0IAX WSJTX PYQSO
|
||||||
HAMRS EES QSSTV GRIDTRACKER HAMCLOCK PROPAGATION YAAC XASTIR GPREDICT TQSL
|
HAMRS EES QSSTV GRIDTRACKER HAMCLOCK PROPAGATION YAAC XASTIR GPREDICT TQSL
|
||||||
GRIDCALC CQRLOG)
|
GRIDCALC CQRLOG REPEAT)
|
||||||
|
|
||||||
for i in "${ADDAPPS[@]}"; do
|
for i in "${ADDAPPS[@]}"; do
|
||||||
echo "$i" >>${ADDITIONAL}
|
echo "$i" >>${ADDITIONAL}
|
||||||
|
|
11
changelog
11
changelog
|
@ -1,5 +1,13 @@
|
||||||
version=3.2.4
|
version=3.3.0
|
||||||
|
|
||||||
|
3.3.0 Add VARA modem - https://github.com/km4ack/pi-build/issues/394
|
||||||
|
fix conky 7 inch config - https://github.com/km4ack/pi-build/issues/414
|
||||||
|
fix old ardop modem not removed - https://github.com/km4ack/pi-build/issues/413
|
||||||
|
create VARA sub category - https://github.com/km4ack/pi-build/issues/393
|
||||||
|
update chirp install - https://github.com/km4ack/pi-build/issues/337
|
||||||
|
use 64bit package to install pat on 64bit OS - https://github.com/km4ack/pi-build/issues/424
|
||||||
|
Add RepeaterStart - https://github.com/km4ack/pi-build/issues/400
|
||||||
|
fix gridtracker download - https://github.com/km4ack/pi-build/issues/447
|
||||||
3.2.4 Update HotSpot Tools shortcut
|
3.2.4 Update HotSpot Tools shortcut
|
||||||
Change 1000 to UID in update script
|
Change 1000 to UID in update script
|
||||||
Remove Pi username check
|
Remove Pi username check
|
||||||
|
@ -10,6 +18,7 @@ version=3.2.4
|
||||||
fix issue #380 https://github.com/km4ack/pi-build/issues/380
|
fix issue #380 https://github.com/km4ack/pi-build/issues/380
|
||||||
fix issue #401 Gridtracker not downloading https://github.com/km4ack/pi-build/issues/401
|
fix issue #401 Gridtracker not downloading https://github.com/km4ack/pi-build/issues/401
|
||||||
fix hamrs not installing/updating - https://github.com/km4ack/pi-build/issues/404
|
fix hamrs not installing/updating - https://github.com/km4ack/pi-build/issues/404
|
||||||
|
fix issue #408 https://github.com/km4ack/pi-build/issues/408
|
||||||
|
|
||||||
3.2.3 Add support for Pat Winlink in 64 bit OS
|
3.2.3 Add support for Pat Winlink in 64 bit OS
|
||||||
Fix FLDIGI on 64 bit - https://github.com/km4ack/pi-build/issues/378
|
Fix FLDIGI on 64 bit - https://github.com/km4ack/pi-build/issues/378
|
||||||
|
|
|
@ -1,33 +1,36 @@
|
||||||
background yes
|
conky.config = {
|
||||||
use_xft yes
|
background = true,
|
||||||
xftfont 123:size=6
|
use_xft = true,
|
||||||
xftalpha 0.5
|
font = '123:size=8',
|
||||||
update_interval 0.5
|
xftalpha = 0.5,
|
||||||
total_run_times 0
|
update_interval = 0.5,
|
||||||
own_window yes
|
total_run_times = 0,
|
||||||
own_window_type normal
|
own_window = true,
|
||||||
own_window_transparent yes
|
own_window_type = 'normal',
|
||||||
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
|
own_window_transparent = true,
|
||||||
double_buffer yes
|
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
|
||||||
minimum_size 120 5
|
double_buffer = true,
|
||||||
maximum_width 200
|
minimum_width = 250, minimum_height = 5,
|
||||||
draw_shades no
|
maximum_width = 400,
|
||||||
draw_outline no
|
draw_shades = false,
|
||||||
draw_borders no
|
draw_outline = false,
|
||||||
draw_graph_borders no
|
draw_borders = false,
|
||||||
default_color gray
|
draw_graph_borders = false,
|
||||||
default_shade_color red
|
default_color = 'gray',
|
||||||
default_outline_color green
|
default_shade_color = 'red',
|
||||||
alignment top_right
|
default_outline_color = 'green',
|
||||||
gap_x 5
|
alignment = 'top_right',
|
||||||
gap_y 10
|
gap_x = 10,
|
||||||
no_buffers yes
|
gap_y = 10,
|
||||||
uppercase no
|
no_buffers = true,
|
||||||
cpu_avg_samples 2
|
uppercase = false,
|
||||||
net_avg_samples 1
|
cpu_avg_samples = 2,
|
||||||
override_utf8_locale yes
|
net_avg_samples = 1,
|
||||||
use_spacer right
|
override_utf8_locale = true,
|
||||||
TEXT
|
use_spacer = 'right',
|
||||||
|
};
|
||||||
|
|
||||||
|
conky.text = [[
|
||||||
|
|
||||||
${font Arial:size=12}${color Yellow}${alignc}N0CALL
|
${font Arial:size=12}${color Yellow}${alignc}N0CALL
|
||||||
${voffset -30}
|
${voffset -30}
|
||||||
|
@ -51,7 +54,7 @@ ${font Arial:bold:size=08}${color Yellow}SYSTEM ${color DarkSlateGray} ${hr 2}
|
||||||
${font Arial:bold:size=08}${color White}Frequency $alignr${freq_g cpu0}Ghz
|
${font Arial:bold:size=08}${color White}Frequency $alignr${freq_g cpu0}Ghz
|
||||||
${font Arial:bold:size=08}${color White}Uptime $alignr${uptime}
|
${font Arial:bold:size=08}${color White}Uptime $alignr${uptime}
|
||||||
#TEMP
|
#TEMP
|
||||||
${font Arial:bold:size=08}${color White}Temp: $alignr ${exec /usr/bin/vcgencmd measure_temp | awk -F "[=']" '{print($2 * 1.8)+32}'} F
|
${font Arial:bold:size=08}${color White}Temp: $alignr ${exec /usr/bin/vcgencmd measure_temp | cut -c6-9} C
|
||||||
${voffset -10}
|
${voffset -10}
|
||||||
${font Arial:bold:size=6}${color White}CPU${alignr}${cpu}%
|
${font Arial:bold:size=6}${color White}CPU${alignr}${cpu}%
|
||||||
${cpubar cpu}
|
${cpubar cpu}
|
||||||
|
@ -88,3 +91,4 @@ ${font Arial:bold:size=6}${color White}${tail ~/Documents/mylog.txt 5}
|
||||||
|
|
||||||
|
|
||||||
#$diskio
|
#$diskio
|
||||||
|
]];
|
|
@ -26,34 +26,16 @@ PAT() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ `getconf LONG_BIT` = '64' ]; then
|
if [ `getconf LONG_BIT` = '64' ]; then
|
||||||
|
#install deb file for 64 bit systems
|
||||||
#reference:
|
NEWPATV=$(curl -s https://github.com/la5nta/pat/releases | grep arm64 | head -1 | sed 's/.*pat_/pat_/' | sed 's/<\/a>.*$//')
|
||||||
#https://www.jeremymorgan.com/tutorials/raspberry-pi/install-go-raspberry-pi/
|
NEWPAT=$(echo ${NEWPATV} | sed 's/pat_//' | sed 's/_linux_arm64.deb//' | sed 's/0\.//')
|
||||||
#https://github.com/la5nta/pat/wiki/Building-from-source
|
echo "new pat v ${NEWPATV}"
|
||||||
#https://cqdeks4td.blogspot.com/2021/11/installing-pat-open-source-winlink.html
|
echo "new pat ${NEWPAT}"
|
||||||
|
wget --tries 2 --connect-timeout=60 https://github.com/la5nta/pat/releases/download/v0.${NEWPAT}/${NEWPATV}
|
||||||
#install golang needed for pat build
|
sudo dpkg -i ${DIR}/${NEWPATV}
|
||||||
cd
|
|
||||||
wget https://go.dev/dl/go1.17.7.linux-arm64.tar.gz
|
|
||||||
sudo tar -C /usr/local -xzf go1.17.7.linux-arm64.tar.gz
|
|
||||||
rm go1.17.7.linux-arm64.tar.gz
|
|
||||||
|
|
||||||
echo "PATH=$PATH:/usr/local/go/bin" >> $HOME/.profile
|
|
||||||
echo "GOPATH=$HOME/go" >> $HOME/.profile
|
|
||||||
|
|
||||||
source $HOME/.profile
|
|
||||||
|
|
||||||
#download/build latest pat
|
|
||||||
cd
|
|
||||||
git clone https://github.com/la5nta/pat
|
|
||||||
cd pat
|
|
||||||
./make.bash libax25
|
|
||||||
./make.bash
|
|
||||||
|
|
||||||
sudo cp $HOME/pat/debian/pat@.service /lib/systemd/system/
|
|
||||||
sudo cp $HOME/pat/pat /usr/bin/
|
|
||||||
rm -rf $HOME/pat
|
|
||||||
else
|
else
|
||||||
|
|
||||||
#install deb file for 32 bit systems
|
#install deb file for 32 bit systems
|
||||||
NEWPATV=$(curl -s https://github.com/la5nta/pat/releases | grep armhf | head -1 | sed 's/.*pat_/pat_/' | sed 's/<\/a>.*$//')
|
NEWPATV=$(curl -s https://github.com/la5nta/pat/releases | grep armhf | head -1 | sed 's/.*pat_/pat_/' | sed 's/<\/a>.*$//')
|
||||||
NEWPAT=$(echo ${NEWPATV} | sed 's/pat_//' | sed 's/_linux_armhf.deb//' | sed 's/0\.//')
|
NEWPAT=$(echo ${NEWPATV} | sed 's/pat_//' | sed 's/_linux_armhf.deb//' | sed 's/0\.//')
|
||||||
|
@ -92,7 +74,10 @@ PAT() {
|
||||||
#This is a secutiry risk. See https://github.com/km4ack/pi-build/issues/299
|
#This is a secutiry risk. See https://github.com/km4ack/pi-build/issues/299
|
||||||
#Changed to 127.0.0.1 on 11OCT2021 KM4ACK
|
#Changed to 127.0.0.1 on 11OCT2021 KM4ACK
|
||||||
sed -i "s/\"http_addr\": \".*\",/\"http_addr\": \"127.0.0.1:$PORT\",/" ${FIG}
|
sed -i "s/\"http_addr\": \".*\",/\"http_addr\": \"127.0.0.1:$PORT\",/" ${FIG}
|
||||||
jq '.ax25.rig = '\"my-rig\"'' ${FIG} | jq '.ardop.rig = '\"my-rig\"'' | jq '.hamlib_rigs = {'\"my-rig\"': {"address": "127.0.0.1:4532", "network": "tcp"}}' >~/Desktop/config.json
|
#jq '.ax25.rig = '\"my-rig\"'' ${FIG} | jq '.ardop.rig = '\"my-rig\"'' | jq '.hamlib_rigs = {'\"my-rig\"': {"address": "127.0.0.1:4532", "network": "tcp"}}' >~/Desktop/config.json
|
||||||
|
jq '.ax25.rig = '\"my-rig\"'' ${FIG} | jq '.varafm.rig = '\"my-rig\"'' | jq '.varahf.rig = '\"my-rig\"'' | jq '.ardop.rig = '\"my-rig\"'' | \
|
||||||
|
jq '.varafm.ptt_ctrl = 'true'' | jq '.varahf.ptt_ctrl = 'true'' | \
|
||||||
|
jq '.hamlib_rigs = {'\"my-rig\"': {"address": "127.0.0.1:4532", "network": "tcp"}}' >~/Desktop/config.json
|
||||||
mv ${HOME}/Desktop/config.json ${FIG}
|
mv ${HOME}/Desktop/config.json ${FIG}
|
||||||
sed -i 's/"enable_http": false,/"enable_http": true,/' ${FIG}
|
sed -i 's/"enable_http": false,/"enable_http": true,/' ${FIG}
|
||||||
|
|
||||||
|
@ -100,6 +85,36 @@ PAT() {
|
||||||
mv ${DIR}/config.json ${HOME}/.wl2k/
|
mv ${DIR}/config.json ${HOME}/.wl2k/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
PAT_OLD_SOURCE_INSTALL() {
|
||||||
|
#This code is left for reference. This was used ot build pat from source when 64bit Pi OS was first released. 20220922
|
||||||
|
#reference:
|
||||||
|
#https://www.jeremymorgan.com/tutorials/raspberry-pi/install-go-raspberry-pi/
|
||||||
|
#https://github.com/la5nta/pat/wiki/Building-from-source
|
||||||
|
#https://cqdeks4td.blogspot.com/2021/11/installing-pat-open-source-winlink.html
|
||||||
|
|
||||||
|
#install golang needed for pat build
|
||||||
|
cd
|
||||||
|
wget https://go.dev/dl/go1.17.7.linux-arm64.tar.gz
|
||||||
|
sudo tar -C /usr/local -xzf go1.17.7.linux-arm64.tar.gz
|
||||||
|
rm go1.17.7.linux-arm64.tar.gz
|
||||||
|
|
||||||
|
echo "PATH=$PATH:/usr/local/go/bin" >> $HOME/.profile
|
||||||
|
echo "GOPATH=$HOME/go" >> $HOME/.profile
|
||||||
|
|
||||||
|
source $HOME/.profile
|
||||||
|
|
||||||
|
#download/build latest pat
|
||||||
|
cd
|
||||||
|
git clone https://github.com/la5nta/pat
|
||||||
|
cd pat
|
||||||
|
./make.bash libax25
|
||||||
|
./make.bash
|
||||||
|
|
||||||
|
sudo cp $HOME/pat/debian/pat@.service /lib/systemd/system/
|
||||||
|
sudo cp $HOME/pat/pat /usr/bin/
|
||||||
|
rm -rf $HOME/pat
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
##################################
|
##################################
|
||||||
# PAT MENU
|
# PAT MENU
|
||||||
|
@ -399,7 +414,29 @@ sudo make install
|
||||||
##################################
|
##################################
|
||||||
CHIRP() {
|
CHIRP() {
|
||||||
|
|
||||||
sudo apt install -y chirp
|
#sudo apt install -y chirp
|
||||||
|
cd ${DIR} || return
|
||||||
|
sudo apt install libfuse2
|
||||||
|
CHIRPDATE=$(curl -s https://github.com/goldstar611/chirp-appimage | grep "releases/tag/" | sed 's|.*releases/tag/||;s|">||')
|
||||||
|
LINK="https://github.com/goldstar611/chirp-appimage/releases/download/$CHIRPDATE/Chirp-daily-$CHIRPDATE-armhf.AppImage"
|
||||||
|
wget $LINK
|
||||||
|
CHIRP=$(ls | grep Chirp-daily)
|
||||||
|
sudo mv $CHIRP /usr/local/bin/chirp
|
||||||
|
sudo chmod +x /usr/local/bin/chirp
|
||||||
|
|
||||||
|
cat >chirp.desktop <<EOF
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Chirp
|
||||||
|
Comment=Radio Programming Software
|
||||||
|
GenericName=Chirp
|
||||||
|
Exec=/usr/local/bin/chirp
|
||||||
|
Icon=qsstv.png
|
||||||
|
Type=Application
|
||||||
|
Terminal=false
|
||||||
|
Categories=HamRadio;
|
||||||
|
EOF
|
||||||
|
|
||||||
|
sudo mv chirp.desktop /usr/share/applications/
|
||||||
|
|
||||||
OLDCODE(){
|
OLDCODE(){
|
||||||
#left for reference
|
#left for reference
|
||||||
|
@ -473,27 +510,29 @@ EOF
|
||||||
sudo mv qsstv.desktop /usr/share/applications/
|
sudo mv qsstv.desktop /usr/share/applications/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
# GRIDTRACKER
|
# GRIDTRACKER
|
||||||
##################################
|
##################################
|
||||||
GRIDTRACKER() {
|
GRIDTRACKER() {
|
||||||
|
#due to constant changes to GT website, get the download link from a file on KM4ACK github.
|
||||||
|
cd /run/user/$UID/
|
||||||
|
wget https://raw.githubusercontent.com/km4ack/pi-scripts/master/gt-download-links
|
||||||
cd ${HOME} || return
|
cd ${HOME} || return
|
||||||
sudo apt-get install -y libgconf-2-4
|
sudo apt-get install -y libgconf-2-4
|
||||||
|
|
||||||
#determine if 32/64 bit and set download link accordingly. issue #382
|
#determine if 32/64 bit and set download link accordingly. issue #382
|
||||||
if [ `getconf LONG_BIT` = '32' ]; then
|
if [ `getconf LONG_BIT` = '32' ]; then
|
||||||
#GRIDDLL=$(curl -s https://download.gridtracker.org/latest_release.html | grep arm32 | sed 's/.*href="//;s/">.*//')
|
GRIDDLL=$(cat /run/user/$UID/gt-download-links | grep arm32 | sed 's/arm32=//')
|
||||||
GRIDDLL=$(curl -s https://storage.googleapis.com/gt_download/ | awk 'BEGIN{FS="<Key>"; OFS="\n<Key>"} {$1=$1} 1' | grep arm32 | sed '/<Key>nwjs/d;/<Key>test/d' | head -1 | sed 's/<Key>//;s/<\/Key>.*//')
|
GT_TAR_NAME=$(echo $GRIDDLL | sed 's/.*GridTracker/GridTracker/')
|
||||||
GT_DIR=$(echo $GRIDDLL | sed 's|/.*||')
|
|
||||||
GRIDDLL=$(echo $GRIDDLL | sed 's/.*GridTracker/GridTracker/')
|
|
||||||
else
|
else
|
||||||
#GRIDDLL=$(curl -s https://download.gridtracker.org/latest_release.html | grep arm64 | sed 's/.*href="//;s/">.*//')
|
GRIDDLL=$(cat /run/user/$UID/gt-download-links | grep arm64 | sed 's/arm64=//')
|
||||||
GRIDDLL=$(curl -s https://storage.googleapis.com/gt_download/ | awk 'BEGIN{FS="<Key>"; OFS="\n<Key>"} {$1=$1} 1' | grep arm32 | sed '/<Key>nwjs/d;/<Key>test/d' | head -1 | sed 's/<Key>//;s/<\/Key>.*//')
|
GT_TAR_NAME=$(echo $GRIDDLL | sed 's/.*GridTracker/GridTracker/')
|
||||||
GT_DIR=$(echo $GRIDDLL | sed 's|/.*||')
|
|
||||||
GRIDDLL=$(echo $GRIDDLL | sed 's/.*GridTracker/GridTracker/')
|
|
||||||
fi
|
fi
|
||||||
wget --tries 2 --connect-timeout=60 https://storage.googleapis.com/gt_download/$GT_DIR/$GRIDDLL
|
|
||||||
GRIDTAR=$(echo $GRIDDLL | sed 's/.*\///g')
|
wget --tries 2 --connect-timeout=60 $GRIDDLL
|
||||||
tar -xzvf $GRIDTAR
|
tar -xzvf $GT_TAR_NAME
|
||||||
rm GridTracker*.gz
|
rm GridTracker*.gz
|
||||||
#determine if 32/64 bit and get correct directory name.
|
#determine if 32/64 bit and get correct directory name.
|
||||||
if [ `getconf LONG_BIT` = '32' ]; then
|
if [ `getconf LONG_BIT` = '32' ]; then
|
||||||
|
@ -502,6 +541,8 @@ GRIDTRACKER() {
|
||||||
OLDFOLDER=$(ls | grep GridTracker*-linux-arm64)
|
OLDFOLDER=$(ls | grep GridTracker*-linux-arm64)
|
||||||
fi
|
fi
|
||||||
mv "$OLDFOLDER" $HOME/GridTracker
|
mv "$OLDFOLDER" $HOME/GridTracker
|
||||||
|
|
||||||
|
|
||||||
cat >gridtracker.desktop <<EOF
|
cat >gridtracker.desktop <<EOF
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=GridTracker
|
Name=GridTracker
|
||||||
|
@ -521,6 +562,7 @@ EOF
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
# PROPAGATION
|
# PROPAGATION
|
||||||
##################################
|
##################################
|
||||||
|
@ -891,6 +933,18 @@ GRIDCALC(){
|
||||||
$HOME/bin/grid-calc
|
$HOME/bin/grid-calc
|
||||||
}
|
}
|
||||||
|
|
||||||
|
##################################
|
||||||
|
# Repeater-Start
|
||||||
|
##################################
|
||||||
|
REPEAT(){
|
||||||
|
sudo apt install -y gir1.2-osmgpsmap-1.0 gir1.2-geoclue-2.0 libosmgpsmap-1.0-1
|
||||||
|
REPEAT_LATEST=$(curl -s https://sourceforge.net/projects/repeater-start/files/ | grep all.deb | head -1 | sed 's/.*repeater/repeater/;s/".*//')
|
||||||
|
cd ${HOME}/Downloads
|
||||||
|
wget https://sourceforge.net/projects/repeater-start/files/$REPEAT_LATEST
|
||||||
|
sudo dpkg -i $REPEAT_LATEST
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
# JTDX
|
# JTDX
|
||||||
##################################
|
##################################
|
||||||
|
@ -912,4 +966,6 @@ JTDX() {
|
||||||
sudo apt-get --fix-broken -y install
|
sudo apt-get --fix-broken -y install
|
||||||
sudo dpkg -i ${VER}
|
sudo dpkg -i ${VER}
|
||||||
rm ${VER}
|
rm ${VER}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,6 +133,9 @@ EOF
|
||||||
# ARDOP
|
# ARDOP
|
||||||
################################
|
################################
|
||||||
ARDOP() {
|
ARDOP() {
|
||||||
|
if [ -f ${HOME}/ardop/piardopc; then
|
||||||
|
rm ${HOME}/ardop/piardopc
|
||||||
|
fi
|
||||||
mkdir -p ${HOME}/ardop
|
mkdir -p ${HOME}/ardop
|
||||||
cd ${HOME}/ardop || return
|
cd ${HOME}/ardop || return
|
||||||
#determine if 64 bit and install correct dependencies.
|
#determine if 64 bit and install correct dependencies.
|
||||||
|
@ -173,6 +176,16 @@ EOF
|
||||||
echo "Port=8515" >>${FILE}
|
echo "Port=8515" >>${FILE}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
################################
|
||||||
|
# VARA
|
||||||
|
################################
|
||||||
|
VARA() {
|
||||||
|
cd ${HOME}/Downloads || return
|
||||||
|
curl -O https://raw.githubusercontent.com/WheezyE/Winelink/main/install_winelink.sh && bash install_winelink.sh bap
|
||||||
|
rm ${HOME}/Downloads/install_winelink.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
################################
|
################################
|
||||||
# HAMLIB
|
# HAMLIB
|
||||||
################################
|
################################
|
||||||
|
|
48
menu-update
48
menu-update
|
@ -9,7 +9,7 @@
|
||||||
#km4ack - km4ack subcategory
|
#km4ack - km4ack subcategory
|
||||||
|
|
||||||
|
|
||||||
REV=20210411
|
REV=20220829
|
||||||
|
|
||||||
source $HOME/.config/KM4ACK
|
source $HOME/.config/KM4ACK
|
||||||
|
|
||||||
|
@ -60,11 +60,42 @@ sudo sed -i "s/Categories.*/Categories=$CATEGORY/" $FLPATH/flrig.desktop
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VARA(){
|
||||||
|
##########################
|
||||||
|
# VARA
|
||||||
|
##########################
|
||||||
|
echo "updating VARA shortcuts"
|
||||||
|
if [ -f /usr/share/applications/vara-chat.desktop ]; then
|
||||||
|
sudo sed -i 's/Categories.*/Categories=vara/' /usr/share/applications/vara-chat.desktop
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f /usr/share/applications/vara.desktop ]; then
|
||||||
|
sudo sed -i 's/Categories.*/Categories=vara/' /usr/share/applications/vara.desktop
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f /usr/share/applications/vara-fm.desktop ]; then
|
||||||
|
sudo sed -i 's/Categories.*/Categories=vara/' /usr/share/applications/vara-fm.desktop
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f /usr/share/applications/vara-sat.desktop ]; then
|
||||||
|
sudo sed -i 's/Categories.*/Categories=vara/' /usr/share/applications/vara-sat.desktop
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f /usr/share/applications/vara-soundcardsetup.desktop ]; then
|
||||||
|
sudo sed -i 's/Categories.*/Categories=vara/' /usr/share/applications/vara-soundcardsetup.desktop
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f /usr/share/applications/vara-update.desktop ]; then
|
||||||
|
sudo sed -i 's/Categories.*/Categories=vara/' /usr/share/applications/vara-update.desktop
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
BAP(){
|
BAP(){
|
||||||
##########################
|
##########################
|
||||||
# BAP
|
# BAP
|
||||||
##########################
|
##########################
|
||||||
|
echo "Updating Build a Pi Shortcuts"
|
||||||
cd /run/user/$UID
|
cd /run/user/$UID
|
||||||
|
|
||||||
#DONATE
|
#DONATE
|
||||||
|
@ -141,15 +172,15 @@ EOF
|
||||||
|
|
||||||
sudo mv FLsuite.directory /usr/share/desktop-directories/
|
sudo mv FLsuite.directory /usr/share/desktop-directories/
|
||||||
|
|
||||||
cat >km4ack.directory <<EOF
|
cat >vara.directory <<EOF
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Type=Directory
|
Type=Directory
|
||||||
Encoding=UTF-8
|
Encoding=UTF-8
|
||||||
Name=KM4ACK-Tools
|
Name=VARA
|
||||||
Icon=CQ.png
|
Icon=CQ.png
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
sudo mv km4ack.directory /usr/share/desktop-directories/
|
sudo mv vara.directory /usr/share/desktop-directories/
|
||||||
|
|
||||||
cat >bap.directory <<EOF
|
cat >bap.directory <<EOF
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
|
@ -181,10 +212,10 @@ cat >hamradio.menu <<EOF
|
||||||
</Include>
|
</Include>
|
||||||
</Menu>
|
</Menu>
|
||||||
<Menu>
|
<Menu>
|
||||||
<Name>KM4ACK</Name>
|
<Name>VARA</Name>
|
||||||
<Directory>km4ack.directory</Directory>
|
<Directory>vara.directory</Directory>
|
||||||
<Include>
|
<Include>
|
||||||
<Category>km4ack</Category>
|
<Category>vara</Category>
|
||||||
</Include>
|
</Include>
|
||||||
|
|
||||||
</Menu>
|
</Menu>
|
||||||
|
@ -220,6 +251,7 @@ else
|
||||||
echo "MENU=$REV" >> $HOME/.config/KM4ACK
|
echo "MENU=$REV" >> $HOME/.config/KM4ACK
|
||||||
CREATEMENU
|
CREATEMENU
|
||||||
FLSUITE
|
FLSUITE
|
||||||
|
VARA
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
18
update
18
update
|
@ -306,6 +306,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \
|
||||||
false "GPSUPDATE" "${GPSUPDATE}" "Tool to Manage GPS Devices" \
|
false "GPSUPDATE" "${GPSUPDATE}" "Tool to Manage GPS Devices" \
|
||||||
false "ARDOP" "$ARDOP" "Mode for HF" \
|
false "ARDOP" "$ARDOP" "Mode for HF" \
|
||||||
false "ARDOPGUI" "$ARDOPGUI" "GUI for ARDOP" \
|
false "ARDOPGUI" "$ARDOPGUI" "GUI for ARDOP" \
|
||||||
|
false "VARA" "$VARA" "VARA Modem - <b>Pi 4 Required</b>" \
|
||||||
false "DIREWOLF" "$DIRE" "Software TNC" \
|
false "DIREWOLF" "$DIRE" "Software TNC" \
|
||||||
false "AX25" "$AX25" "Data Link Layer Protocol" \
|
false "AX25" "$AX25" "Data Link Layer Protocol" \
|
||||||
false "PULSE" "$PULSE" "Sound server" \
|
false "PULSE" "$PULSE" "Sound server" \
|
||||||
|
@ -316,6 +317,22 @@ if [ ${BUT} = 1 ] || [ ${BUT} = 252 ]; then
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#If VARA is chosen, make sure we have a Pi 4 to work with.
|
||||||
|
#As of 02OCT2022 the VARA installer only works with the Pi 4.
|
||||||
|
VARA_CHK=$(grep VARA ${BASE})
|
||||||
|
if [ -n "$VARA_CHK" ]; then
|
||||||
|
FREEMEM=$(free -m | grep Mem: | awk '{ print $2 }')
|
||||||
|
if [ $FREEMEM -lt 1500 ]; then
|
||||||
|
echo "Not enough memory available"
|
||||||
|
yad --form --width=500 --text-align=center --center --title="Build-a-Pi" --text-align=center \
|
||||||
|
--image ${LOGO} --window-icon=${LOGO} --image-on-top --separator="|" --item-separator="|" \
|
||||||
|
--text="<b>Not enough memory</b>\rVARA requires a Pi 4.\r\rVARA will not be installed during the build." \
|
||||||
|
--button=gtk-ok
|
||||||
|
sed -i 's/VARA//;/^$/d' ${BASE}
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
#############################################################
|
#############################################################
|
||||||
#check if hotspot is chosen for install & get info if needed#
|
#check if hotspot is chosen for install & get info if needed#
|
||||||
#############################################################
|
#############################################################
|
||||||
|
@ -450,6 +467,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \
|
||||||
false "CONKY" "$CONKY" "System Information Display" \
|
false "CONKY" "$CONKY" "System Information Display" \
|
||||||
false "WSJTX" "$FT8" "Weak signal digital mode software" \
|
false "WSJTX" "$FT8" "Weak signal digital mode software" \
|
||||||
false "JS8CALL" "$JS8" "Weak signal digital mode software" \
|
false "JS8CALL" "$JS8" "Weak signal digital mode software" \
|
||||||
|
false "REPEAT" "$REPEAT" "Repeater Directory" \
|
||||||
false "XASTIR" "$XASTIR" "APRS Client" \
|
false "XASTIR" "$XASTIR" "APRS Client" \
|
||||||
false "YAAC" "$YAAC" "Yet Another APRS Client" \
|
false "YAAC" "$YAAC" "Yet Another APRS Client" \
|
||||||
false "PI-APRS" "$PIAPRS" "APRS Messaging Client" \
|
false "PI-APRS" "$PIAPRS" "APRS Messaging Client" \
|
||||||
|
|
Ładowanie…
Reference in New Issue