kopia lustrzana https://github.com/km4ack/pi-build
Merge branch 'dev' of github.com:km4ack/pi-build into dev
commit
c65f58d717
10
app-check
10
app-check
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#this script used to check for apps that need updates
|
#this script used to check for apps that need updates
|
||||||
|
|
||||||
UPDATEFILE=/run/user/1000/bapupdate.txt
|
UPDATEFILE=/run/user/$UID/bapupdate.txt
|
||||||
|
|
||||||
#Delete file if exist
|
#Delete file if exist
|
||||||
if [ -f $UPDATEFILE ]; then
|
if [ -f $UPDATEFILE ]; then
|
||||||
|
@ -609,12 +609,12 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#----------------------------------------------------#
|
#----------------------------------------------------#
|
||||||
# ZYGRIB Viewer
|
# XYGRIB Viewer
|
||||||
#----------------------------------------------------#
|
#----------------------------------------------------#
|
||||||
if [ -f /usr/bin/zyGrib ]; then
|
if [ -f /usr/bin/XyGrib ]; then
|
||||||
echo "ZYGRIB=Installed" >> $UPDATEFILE
|
echo "XYGRIB=Installed" >> $UPDATEFILE
|
||||||
else
|
else
|
||||||
echo "ZYGRIB=Not_Installed" >> $UPDATEFILE
|
echo "XYGRIB=Not_Installed" >> $UPDATEFILE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#----------------------------------------------------#
|
#----------------------------------------------------#
|
||||||
|
|
81
build-a-pi
81
build-a-pi
|
@ -57,6 +57,49 @@ EOF
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# Old OS Check
|
||||||
|
#####################################
|
||||||
|
V_ID=$(grep VERSION_ID /etc/os-release | sed 's/VERSION_ID="//;s/"//')
|
||||||
|
|
||||||
|
if [ "$V_ID" -le 10 ]; then
|
||||||
|
NOTICEPATH=/run/user/$UID
|
||||||
|
|
||||||
|
cat <<EOF >${NOTICEPATH}/intro.txt
|
||||||
|
Build a Pi 3.2.0 and later does not support
|
||||||
|
RaspiOS Buster or earlier versions of RaspiOS.
|
||||||
|
You should consider upgrading to RaspiOS 11
|
||||||
|
(Bullseye). By clicking ok you will be moved
|
||||||
|
to the last version of Build a Pi (3.1.4) that
|
||||||
|
supports Pi OS Buster. Please note there are
|
||||||
|
no plans to update Build a Pi for Buster going
|
||||||
|
forward. In other words, you are on your own
|
||||||
|
if it is broke and you are still running Pi OS
|
||||||
|
10 (Buster).
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
INTRO=$(yad --width=600 --height=300 --text-align=center --center --title="Out of Date OS Detected!" --show-uri \
|
||||||
|
--image ${LOGO} --window-icon=${LOGO} --image-on-top --separator="|" --item-separator="|" \
|
||||||
|
--text-info \
|
||||||
|
--button="OK":1 <${NOTICEPATH}/intro.txt \
|
||||||
|
--button="Exit":2 \
|
||||||
|
>/dev/null 2>&1)
|
||||||
|
BUT=$?
|
||||||
|
echo $BUT
|
||||||
|
if [ $BUT = 2 ] || [ $BUT = 252 ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
rm ${NOTICEPATH}/intro.txt
|
||||||
|
cd $HOME/pi-build
|
||||||
|
git checkout buster
|
||||||
|
bash build-a-pi & exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# end Old OS Check
|
||||||
|
#####################################
|
||||||
|
|
||||||
#install YAD & jq as needed
|
#install YAD & jq as needed
|
||||||
clear
|
clear
|
||||||
echo
|
echo
|
||||||
|
@ -334,7 +377,6 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \
|
||||||
false "M0IAX" "Tools for JS8Call Messages" \
|
false "M0IAX" "Tools for JS8Call Messages" \
|
||||||
false "WSJTX" "Weak Signal Digital Mode Software" \
|
false "WSJTX" "Weak Signal Digital Mode Software" \
|
||||||
false "PYQSO" "Logging Software" \
|
false "PYQSO" "Logging Software" \
|
||||||
false "CQRLOG" "Logging Software" \
|
|
||||||
false "HAMRS" "Logging Software" \
|
false "HAMRS" "Logging Software" \
|
||||||
false "EES" "KM4ACK Emergency Email Server" \
|
false "EES" "KM4ACK Emergency Email Server" \
|
||||||
false "QSSTV" "Slow Scan TV" \
|
false "QSSTV" "Slow Scan TV" \
|
||||||
|
@ -356,7 +398,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
|
||||||
CQRLOG HAMRS EES QSSTV GRIDTRACKER HAMCLOCK PROPAGATION YAAC XASTIR GPREDICT TQSL
|
HAMRS EES QSSTV GRIDTRACKER HAMCLOCK PROPAGATION YAAC XASTIR GPREDICT TQSL
|
||||||
GRIDCALC)
|
GRIDCALC)
|
||||||
|
|
||||||
for i in "${ADDAPPS[@]}"; do
|
for i in "${ADDAPPS[@]}"; do
|
||||||
|
@ -417,7 +459,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \
|
||||||
false "BPQ" "LinBPQ Software" \
|
false "BPQ" "LinBPQ Software" \
|
||||||
false "BATT" "Battery Test Script" \
|
false "BATT" "Battery Test Script" \
|
||||||
false "VNC" "VNC Client Application" \
|
false "VNC" "VNC Client Application" \
|
||||||
false "ZYGRIB" "Grib File Viewer" \
|
false "XYGRIB" "Grib File Viewer" \
|
||||||
--button="Exit":1 \
|
--button="Exit":1 \
|
||||||
--button="Check All and Continue":3 \
|
--button="Check All and Continue":3 \
|
||||||
--button="Install Selected":2 >${UTILITY}
|
--button="Install Selected":2 >${UTILITY}
|
||||||
|
@ -427,7 +469,7 @@ if [ ${BUT} = 252 ] || [ ${BUT} = 1 ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ${BUT} = 3 ]; then
|
if [ ${BUT} = 3 ]; then
|
||||||
UTILAPPS=(DIPOLE PACKETSEARCH CALLSIGN TEMPCONVERT GPARTED SHOWLOG PISTATS TELNET PITERM QTSOUND SECURITY YGATE BPQ BATT VNC ZYGRIB)
|
UTILAPPS=(DIPOLE PACKETSEARCH CALLSIGN TEMPCONVERT GPARTED SHOWLOG PISTATS TELNET PITERM QTSOUND SECURITY YGATE BPQ BATT VNC XYGRIB)
|
||||||
for i in "${UTILAPPS[@]}"; do
|
for i in "${UTILAPPS[@]}"; do
|
||||||
echo "$i" >>${UTILITY}
|
echo "$i" >>${UTILITY}
|
||||||
done
|
done
|
||||||
|
@ -472,7 +514,7 @@ cat >tempsound <<EOF
|
||||||
options snd-bcm2835 index=0
|
options snd-bcm2835 index=0
|
||||||
|
|
||||||
#USB soundcard
|
#USB soundcard
|
||||||
options snd-usb-audio index=2
|
options snd-usb-audio index=3
|
||||||
EOF
|
EOF
|
||||||
sudo chown root:root tempsound
|
sudo chown root:root tempsound
|
||||||
sudo mv tempsound /etc/modprobe.d/alsa.conf
|
sudo mv tempsound /etc/modprobe.d/alsa.conf
|
||||||
|
@ -560,35 +602,14 @@ rm ${BASE} ${ADDITIONAL} ${UTILITY} ${FLSUITE} >/dev/null 2>&1
|
||||||
rm -rf ${DIR} >/dev/null 2>&1
|
rm -rf ${DIR} >/dev/null 2>&1
|
||||||
sudo apt -y autoremove > /dev/null 2>&1
|
sudo apt -y autoremove > /dev/null 2>&1
|
||||||
|
|
||||||
|
#remove libham (rigctl) installed from apt
|
||||||
|
#since it conflicts with hamlib installed from source
|
||||||
|
sudo apt purge -y libhamlib4
|
||||||
|
|
||||||
#restore crontab
|
#restore crontab
|
||||||
crontab ${TEMPCRON}
|
crontab ${TEMPCRON}
|
||||||
rm ${TEMPCRON}
|
rm ${TEMPCRON}
|
||||||
|
|
||||||
#####################################
|
|
||||||
# Pat 12 Temp Workaround
|
|
||||||
#####################################
|
|
||||||
#This will move the user to the "version12" branch of the Pat Menu code
|
|
||||||
#until this can be implemented into the main branch of code. This will
|
|
||||||
#allow Pat Menu to support both the new version of Pat as well as older
|
|
||||||
#versions. This section of code needs to be removed once the "version12"
|
|
||||||
#branch is merged with the master branch
|
|
||||||
|
|
||||||
PAT_VERSION=$(pat version | awk '{print $2}' | sed 's/v0.//;s/.0//')
|
|
||||||
|
|
||||||
if [ "$PAT_VERSION" -le 11 ]; then
|
|
||||||
echo "pat version 11 detected"
|
|
||||||
else
|
|
||||||
echo "pat version 12 or greater detected"
|
|
||||||
echo "moving pat menu to the version12 branch"
|
|
||||||
cd $HOME/patmenu2
|
|
||||||
git pull
|
|
||||||
git checkout version12
|
|
||||||
fi
|
|
||||||
|
|
||||||
#####################################
|
|
||||||
# END Pat 12 Temp Workaround
|
|
||||||
#####################################
|
|
||||||
|
|
||||||
echo "WE ARE ALL DONE HERE. If you close this window, you will have to reboot manually."
|
echo "WE ARE ALL DONE HERE. If you close this window, you will have to reboot manually."
|
||||||
|
|
||||||
#reboot when done
|
#reboot when done
|
||||||
|
|
26
changelog
26
changelog
|
@ -1,4 +1,28 @@
|
||||||
version=3.1.3
|
version=3.2.0
|
||||||
|
|
||||||
|
3.2.0 fix hamlib - https://github.com/km4ack/pi-build/issues/338
|
||||||
|
fix YAAC install - https://github.com/km4ack/pi-build/issues/339
|
||||||
|
fix variable - https://github.com/km4ack/pi-build/issues/340
|
||||||
|
fix QSSTV install - https://github.com/km4ack/pi-build/issues/346
|
||||||
|
fix TQSL install - https://github.com/km4ack/pi-build/issues/347
|
||||||
|
fix xgps error - https://github.com/km4ack/pi-build/issues/342
|
||||||
|
fix sound card number issue - https://github.com/km4ack/pi-build/issues/348
|
||||||
|
fix conky temperature display error - https://github.com/km4ack/pi-build/issues/334
|
||||||
|
fix qsstv icon - https://github.com/km4ack/pi-build/issues/333
|
||||||
|
build JS8Call from source - https://github.com/km4ack/pi-build/issues/341
|
||||||
|
build wsjtx from source
|
||||||
|
revert chirp to apt install until it can be built from source on Bullseye - https://github.com/km4ack/pi-build/issues/337
|
||||||
|
replace zybrig with xygrib
|
||||||
|
remove cqrlog - installing from apt breaks hamlib
|
||||||
|
update qtsoundmodem depends
|
||||||
|
install gpsd with apt - https://github.com/km4ack/pi-build/issues/321
|
||||||
|
update ruby to 2.7
|
||||||
|
update EES to PHP7.4
|
||||||
|
fix EES sed statment (0.0.0.0:8080 to :5000)
|
||||||
|
increase swap file for JS8Call/WSJTX on Pi's with less RAM - https://github.com/km4ack/pi-build/issues/350
|
||||||
|
NOTE: This version will NOT support Buster
|
||||||
|
|
||||||
|
3.1.4 last update for Build a Pi to support Buster
|
||||||
|
|
||||||
3.1.3 Split app check from update script into new app-check script
|
3.1.3 Split app check from update script into new app-check script
|
||||||
fix variable in menu-update script
|
fix variable in menu-update script
|
||||||
|
|
|
@ -60,7 +60,7 @@ ${font}
|
||||||
${font Arial:bold:size=14}${color Yellow}SYSTEM ${color DarkSlateGray} ${hr 2}
|
${font Arial:bold:size=14}${color Yellow}SYSTEM ${color DarkSlateGray} ${hr 2}
|
||||||
${font Arial:bold:size=14}${color White}Frequency $alignr${freq_g cpu0}Ghz
|
${font Arial:bold:size=14}${color White}Frequency $alignr${freq_g cpu0}Ghz
|
||||||
${font Arial:bold:size=14}${color White}Uptime $alignr${uptime}
|
${font Arial:bold:size=14}${color White}Uptime $alignr${uptime}
|
||||||
${font Arial:bold:size=14}${color White}Temp: $alignr ${exec /opt/vc/bin/vcgencmd measure_temp | cut -c6-9} C
|
${font Arial:bold:size=14}${color White}Temp: $alignr ${exec /usr/bin/vcgencmd measure_temp | cut -c6-9} C
|
||||||
${voffset -15}
|
${voffset -15}
|
||||||
${font Arial:bold:size=10}${color White}CPU${alignr}${cpu}%
|
${font Arial:bold:size=10}${color White}CPU${alignr}${cpu}%
|
||||||
${cpubar cpu}
|
${cpubar cpu}
|
||||||
|
|
|
@ -51,7 +51,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 /opt/vc/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 | awk -F "[=']" '{print($2 * 1.8)+32}'} F
|
||||||
${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}
|
||||||
|
|
|
@ -61,7 +61,7 @@ ${font Arial:bold:size=14}${color Yellow}SYSTEM ${color DarkSlateGray} ${hr 2}
|
||||||
${font Arial:bold:size=14}${color White}Frequency $alignr${freq_g cpu0}Ghz
|
${font Arial:bold:size=14}${color White}Frequency $alignr${freq_g cpu0}Ghz
|
||||||
${font Arial:bold:size=14}${color White}Uptime $alignr${uptime}
|
${font Arial:bold:size=14}${color White}Uptime $alignr${uptime}
|
||||||
#TEMP
|
#TEMP
|
||||||
${font Arial:bold:size=14}${color White}Temp: $alignr ${exec /opt/vc/bin/vcgencmd measure_temp | awk -F "[=']" '{print($2 * 1.8)+32}'} F
|
${font Arial:bold:size=14}${color White}Temp: $alignr ${exec /usr/bin/vcgencmd measure_temp | awk -F "[=']" '{print($2 * 1.8)+32}'} F
|
||||||
${voffset -15}
|
${voffset -15}
|
||||||
${font Arial:bold:size=10}${color White}CPU${alignr}${cpu}%
|
${font Arial:bold:size=10}${color White}CPU${alignr}${cpu}%
|
||||||
${cpubar cpu}
|
${cpubar cpu}
|
||||||
|
|
|
@ -57,7 +57,7 @@ ${font Arial:bold:size=10}${color Yellow}SYSTEM ${color DarkSlateGray} ${hr 2}
|
||||||
${font Arial:bold:size=10}${color White}Frequency $alignr${freq_g cpu0}Ghz
|
${font Arial:bold:size=10}${color White}Frequency $alignr${freq_g cpu0}Ghz
|
||||||
${font Arial:bold:size=10}${color White}Uptime $alignr${uptime}
|
${font Arial:bold:size=10}${color White}Uptime $alignr${uptime}
|
||||||
#TEMP
|
#TEMP
|
||||||
${font Arial:bold:size=10}${color White}Temp: $alignr ${exec /opt/vc/bin/vcgencmd measure_temp | awk -F "[=']" '{print($2 * 1.8)+32}'} F
|
${font Arial:bold:size=10}${color White}Temp: $alignr ${exec /usr/bin/vcgencmd measure_temp | awk -F "[=']" '{print($2 * 1.8)+32}'} F
|
||||||
${voffset -15}
|
${voffset -15}
|
||||||
${font Arial:bold:size=8}${color White}CPU${alignr}${cpu}%
|
${font Arial:bold:size=8}${color White}CPU${alignr}${cpu}%
|
||||||
${cpubar cpu}
|
${cpubar cpu}
|
||||||
|
|
|
@ -58,7 +58,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 /opt/vc/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 | awk -F "[=']" '{print($2 * 1.8)+32}'} F
|
||||||
${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}
|
||||||
|
|
|
@ -39,7 +39,7 @@ echo
|
||||||
sed -i '/vcgencmd/d' $TEMPFILE
|
sed -i '/vcgencmd/d' $TEMPFILE
|
||||||
#add cel line
|
#add cel line
|
||||||
sed -i '/#TEMP/a \
|
sed -i '/#TEMP/a \
|
||||||
${font Arial:bold:size=14}${color White}Temp: $alignr ${exec /opt/vc/bin/vcgencmd measure_temp | cut -c6-9} C' $TEMPFILE
|
${font Arial:bold:size=14}${color White}Temp: $alignr ${exec /usr/bin/vcgencmd measure_temp | cut -c6-9} C' $TEMPFILE
|
||||||
|
|
||||||
elif [ "$TEMP" = 'C' ] && [ "$CS" = 'conky-medium' ]; then
|
elif [ "$TEMP" = 'C' ] && [ "$CS" = 'conky-medium' ]; then
|
||||||
#delete F line
|
#delete F line
|
||||||
|
@ -47,14 +47,14 @@ echo
|
||||||
sed -i '/vcgencmd/d' $TEMPFILE
|
sed -i '/vcgencmd/d' $TEMPFILE
|
||||||
#add cel line
|
#add cel line
|
||||||
sed -i '/#TEMP/a \
|
sed -i '/#TEMP/a \
|
||||||
${font Arial:bold:size=10}${color White}Temp: $alignr ${exec /opt/vc/bin/vcgencmd measure_temp | cut -c6-9} C' $TEMPFILE
|
${font Arial:bold:size=10}${color White}Temp: $alignr ${exec /usr/bin/vcgencmd measure_temp | cut -c6-9} C' $TEMPFILE
|
||||||
|
|
||||||
elif [ "$TEMP" = 'C' ] && [ "$CS" = 'conky-small' ]; then
|
elif [ "$TEMP" = 'C' ] && [ "$CS" = 'conky-small' ]; then
|
||||||
#delete F line
|
#delete F line
|
||||||
sed -i '/vcgencmd/d' $TEMPFILE
|
sed -i '/vcgencmd/d' $TEMPFILE
|
||||||
#add cel line
|
#add cel line
|
||||||
sed -i '/#TEMP/a \
|
sed -i '/#TEMP/a \
|
||||||
${font Arial:bold:size=08}${color White}Temp: $alignr ${exec /opt/vc/bin/vcgencmd measure_temp | cut -c6-9} C' $TEMPFILE
|
${font Arial:bold:size=08}${color White}Temp: $alignr ${exec /usr/bin/vcgencmd measure_temp | cut -c6-9} C' $TEMPFILE
|
||||||
|
|
||||||
elif [ "$TEMP" = 'C' ] && [ "$CS" = 'conky-7inch' ]; then
|
elif [ "$TEMP" = 'C' ] && [ "$CS" = 'conky-7inch' ]; then
|
||||||
#delete F line
|
#delete F line
|
||||||
|
@ -62,7 +62,7 @@ echo
|
||||||
sed -i '/vcgencmd/d' $TEMPFILE
|
sed -i '/vcgencmd/d' $TEMPFILE
|
||||||
#add cel line
|
#add cel line
|
||||||
sed -i '/#TEMP/a \
|
sed -i '/#TEMP/a \
|
||||||
${font Arial:bold:size=08}${color White}Temp: $alignr ${exec /opt/vc/bin/vcgencmd measure_temp | cut -c6-9} C' $TEMPFILE
|
${font Arial:bold:size=08}${color White}Temp: $alignr ${exec /usr/bin/vcgencmd measure_temp | cut -c6-9} C' $TEMPFILE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cp $TEMPFILE $HOME/.conkyrc
|
cp $TEMPFILE $HOME/.conkyrc
|
||||||
|
|
|
@ -211,7 +211,14 @@ uname -a >>${DIR}/systeminfo.txt
|
||||||
cat ${HOME}/direwolf.conf >${DIR}/direwolf.conf
|
cat ${HOME}/direwolf.conf >${DIR}/direwolf.conf
|
||||||
|
|
||||||
#get pat config file
|
#get pat config file
|
||||||
cat ${HOME}/.wl2k/config.json >${DIR}/patconfig.txt
|
PAT_VERSION=$(pat version | awk '{print $2}' | sed 's/v0.//;s/.0//')
|
||||||
|
|
||||||
|
if [ "$PAT_VERSION" -le 11 ]; then
|
||||||
|
PAT_CONFIG=${HOME}/.wl2k/config.json
|
||||||
|
else
|
||||||
|
PAT_CONFIG=$XDG_CONFIG_HOME/pat/config.json
|
||||||
|
fi
|
||||||
|
cat $PAT_CONFIG >${DIR}/patconfig.txt
|
||||||
#remove winlink password
|
#remove winlink password
|
||||||
sed -i 's/"secure_login_password":.*$/PASSWORD-REMOVED-FOR-YOUR-SECURITY/' ${DIR}/patconfig.txt
|
sed -i 's/"secure_login_password":.*$/PASSWORD-REMOVED-FOR-YOUR-SECURITY/' ${DIR}/patconfig.txt
|
||||||
|
|
||||||
|
|
|
@ -81,9 +81,35 @@ PAT-MENU() {
|
||||||
rm -rf "${HOME}/patmenu2"
|
rm -rf "${HOME}/patmenu2"
|
||||||
fi
|
fi
|
||||||
cd ${HOME}
|
cd ${HOME}
|
||||||
git clone https://github.com/km4ack/patmenu2.git ${HOME}/patmenu2 && bash ${HOME}/patmenu2/setup
|
git clone https://github.com/km4ack/patmenu2.git ${HOME}/patmenu2
|
||||||
|
#####################################
|
||||||
|
# Pat 12 Temp Workaround
|
||||||
|
#####################################
|
||||||
|
#This will move the user to the "version12" branch of the Pat Menu code
|
||||||
|
#until this can be implemented into the main branch of code. This will
|
||||||
|
#allow Pat Menu to support both the new version of Pat as well as older
|
||||||
|
#versions. This section of code needs to be removed once the "version12"
|
||||||
|
#branch is merged with the master branch
|
||||||
|
|
||||||
|
PAT_VERSION=$(pat version | awk '{print $2}' | sed 's/v0.//;s/.0//')
|
||||||
|
|
||||||
|
if [ "$PAT_VERSION" -le 11 ]; then
|
||||||
|
echo "pat version 11 detected"
|
||||||
|
else
|
||||||
|
echo "pat version 12 or greater detected"
|
||||||
|
echo "moving pat menu to the version12 branch"
|
||||||
|
cd $HOME/patmenu2
|
||||||
|
git pull
|
||||||
|
git checkout version12
|
||||||
|
fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# END Pat 12 Temp Workaround
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
bash ${HOME}/patmenu2/setup
|
||||||
sed -i "s/N0CALL/${CALL}/" ${HOME}/patmenu2/config
|
sed -i "s/N0CALL/${CALL}/" ${HOME}/patmenu2/config
|
||||||
sed -i 's/1,0/2,0/g' ${HOME}/patmenu2/config
|
sed -i 's/1,0/3,0/g' ${HOME}/patmenu2/config
|
||||||
#restore config files
|
#restore config files
|
||||||
if [ -d ${DIR}/patconfig/ ]; then
|
if [ -d ${DIR}/patconfig/ ]; then
|
||||||
mv ${DIR}/patconfig/* ${HOME}/patmenu2/
|
mv ${DIR}/patconfig/* ${HOME}/patmenu2/
|
||||||
|
@ -93,41 +119,147 @@ PAT-MENU() {
|
||||||
# JS8Call
|
# JS8Call
|
||||||
##################################
|
##################################
|
||||||
JS8CALL() {
|
JS8CALL() {
|
||||||
cd ${DIR}
|
|
||||||
JS8LATE=$(curl -s http://files.js8call.com/latest.html | grep armhf | awk '{ print $2 }' | sed 's/href=//' | sed 's/"//g')
|
#find how much memory we are working with
|
||||||
JS8PKG=$(curl -s http://files.js8call.com/latest.html | grep armhf | awk '{ print $2 }' | sed 's/\///g' | sed 's/href="http:files.js8call.com[0-9].[0-9].[0-9]//' | sed 's/"//')
|
FREEMEM=$(free -m | grep Mem: | awk '{ print $2 }')
|
||||||
wget --tries 2 --connect-timeout=60 ${JS8LATE} || echo "Can't Download JS8Call" >>${BUILDLOG}
|
echo ${FREEMEM}
|
||||||
sudo dpkg -i ${JS8PKG}
|
|
||||||
sudo apt-get --fix-broken -y install
|
##################################
|
||||||
sudo dpkg -i ${JS8PKG}
|
# INCREASE SWAP
|
||||||
|
##################################
|
||||||
|
#increase swap file if less than 3G memory
|
||||||
|
if [ ${FREEMEM} -lt 3000 ]; then
|
||||||
|
echo "Increasing Swap size for build"
|
||||||
|
#increase swap size
|
||||||
|
sudo sed -i 's/#CONF_SWAPFILE=\/var\/swap/CONF_SWAPFILE=\/var\/swap/' /etc/dphys-swapfile
|
||||||
|
sudo sed -i 's/CONF_SWAPSIZE=100/CONF_SWAPSIZE=1024/' /etc/dphys-swapfile
|
||||||
|
sudo /etc/init.d/dphys-swapfile restart
|
||||||
|
sleep 10
|
||||||
|
fi
|
||||||
|
|
||||||
|
#https://9a3gos.com/install-js8call-2-0-0-rc3-on-ubuntu-19-10-hamlib/
|
||||||
|
|
||||||
|
#Verify HAMLIB installed or JS8 Won't Build.
|
||||||
|
if ! hash rigctl 2>/dev/null; then
|
||||||
|
source ${MYPATH}/functions/base.function && HAMLIB
|
||||||
|
source ${MYPATH}/config
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "###############################"
|
||||||
|
echo "Installing JS8Call Dependancies"
|
||||||
|
echo "###############################"
|
||||||
|
sudo apt-get install -y build-essential gfortran autoconf automake libtool cmake git asciidoctor libfftw3-dev qtdeclarative5-dev texinfo libqt5multimedia5 libqt5multimedia5-plugins qtmultimedia5-dev libusb-1.0.0-dev libqt5serialport5-dev asciidoc libudev-dev
|
||||||
|
|
||||||
|
JS8PKG=$(curl -s http://files.js8call.com/latest.html | grep .tgz | sed 's/.*js8call-/js8call-/;s/<.*$//')
|
||||||
|
JS8VERSION=$(echo $JS8PKG | sed 's/js8call-//;s/.tgz.*$//')
|
||||||
|
cd ${BUILDDIR}
|
||||||
|
echo "###################"
|
||||||
|
echo "Downloading JS8Call"
|
||||||
|
echo "###################"
|
||||||
|
wget http://files.js8call.com/$JS8VERSION/$JS8PKG
|
||||||
|
tar -xvf $JS8PKG
|
||||||
|
rm $JS8PKG
|
||||||
|
cd ${BUILDDIR}/js8call
|
||||||
|
echo "#################"
|
||||||
|
echo "Compiling JS8Call"
|
||||||
|
echo "#################"
|
||||||
|
cmake -D CMAKE_INSTALL_PREFIX=$HOME/Downloads/js8call
|
||||||
|
cmake --build . -- -j4
|
||||||
|
sudo cp js8 js8call /usr/local/bin
|
||||||
|
sudo cp js8call.desktop /usr/share/applications
|
||||||
|
sudo cp ./artwork/icon_128.svg /usr/share/pixmaps/js8call_icon.svg
|
||||||
|
|
||||||
|
#reset swap size to default
|
||||||
|
if [ ${FREEMEM} -lt 3000 ]; then
|
||||||
|
echo "Resetting swap size to default"
|
||||||
|
#increase swap size
|
||||||
|
sudo sed -i 's/CONF_SWAPFILE=\/var\/swap/#CONF_SWAPFILE=\/var\/swap/' /etc/dphys-swapfile
|
||||||
|
sudo sed -i 's/CONF_SWAPSIZE=1024/CONF_SWAPSIZE=100/' /etc/dphys-swapfile
|
||||||
|
sudo /etc/init.d/dphys-swapfile restart
|
||||||
|
sleep 10
|
||||||
|
fi
|
||||||
|
|
||||||
|
#Old Way left for reference
|
||||||
|
#cd ${DIR}
|
||||||
|
#JS8LATE=$(curl -s http://files.js8call.com/latest.html | grep armhf | awk '{ print $2 }' | sed 's/href=//' | sed 's/"//g')
|
||||||
|
#JS8PKG=$(curl -s http://files.js8call.com/latest.html | grep armhf | awk '{ print $2 }' | sed 's/\///g' | sed 's/href="http:files.js8call.com[0-9].[0-9].[0-9]//' | sed 's/"//')
|
||||||
|
#wget --tries 2 --connect-timeout=60 ${JS8LATE} || echo "Can't Download JS8Call" >>${BUILDLOG}
|
||||||
|
#sudo dpkg -i ${JS8PKG}
|
||||||
|
#sudo apt-get --fix-broken -y install
|
||||||
|
#sudo dpkg -i ${JS8PKG}
|
||||||
}
|
}
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
# WSJTX
|
# WSJTX
|
||||||
##################################
|
##################################
|
||||||
WSJTX() {
|
WSJTX() {
|
||||||
cd ${DIR}
|
#find how much memory we are working with
|
||||||
WSPKG=$(curl -s https://physics.princeton.edu/pulsar/k1jt/wsjtx.html | grep armhf.deb | sed 's/^.*wsjtx/wsjtx/' | sed 's/deb.*$/deb/' | head -1)
|
FREEMEM=$(free -m | grep Mem: | awk '{ print $2 }')
|
||||||
wget --tries 2 --connect-timeout=60 --no-check-certificate https://physics.princeton.edu/pulsar/k1jt/$WSPKG
|
echo ${FREEMEM}
|
||||||
WSJTXSUCCESS=$?
|
|
||||||
sudo dpkg -i $WSPKG
|
##################################
|
||||||
sudo apt-get --fix-broken -y install
|
# INCREASE SWAP
|
||||||
sudo dpkg -i $WSPKG
|
##################################
|
||||||
|
#increase swap file if less than 3G memory
|
||||||
|
if [ ${FREEMEM} -lt 3000 ]; then
|
||||||
|
echo "Increasing Swap size for build"
|
||||||
|
#increase swap size
|
||||||
|
sudo sed -i 's/#CONF_SWAPFILE=\/var\/swap/CONF_SWAPFILE=\/var\/swap/' /etc/dphys-swapfile
|
||||||
|
sudo sed -i 's/CONF_SWAPSIZE=100/CONF_SWAPSIZE=1024/' /etc/dphys-swapfile
|
||||||
|
sudo /etc/init.d/dphys-swapfile restart
|
||||||
|
sleep 10
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
sudo apt install -y build-essential git cmake gfortran fftw3-dev qtbase5-dev qttools5-dev libqt5serialport5-dev qtmultimedia5-dev libqt5multimedia5-plugins libqt5sql5-sqlite autoconf automake libtool texinfo libusb-1.0-0-dev libudev-dev libboost-all-dev asciidoctor
|
||||||
|
|
||||||
|
FT8PKG=$(curl -s https://physics.princeton.edu/pulsar/k1jt/wsjtx.html | grep .tgz | sed 's/.*="//;s/">.*$//')
|
||||||
|
FT8DIR=$(echo $FT8PKG | sed 's/.tgz//')
|
||||||
|
cd ${BUILDDIR}
|
||||||
|
wget https://physics.princeton.edu/pulsar/k1jt/$FT8PKG
|
||||||
|
tar -xvf $FT8PKG
|
||||||
|
rm $FT8PKG
|
||||||
|
cd $FT8DIR
|
||||||
|
cmake -D CMAKE_INSTALL_PREFIX=${BUILDDIR}/$FT8DIR
|
||||||
|
cmake -DWSJT_SKIP_MANPAGES=ON -DWSJT_GENERATE_DOCS=OFF
|
||||||
|
sudo cmake --build . --target install -j4
|
||||||
|
sudo mv ${BUILDDIR}/${FT8DIR}/bin/* /usr/local/bin/
|
||||||
|
sudo cp ${BUILDDIR}/${FT8DIR}/share/applications/wsjtx.desktop /usr/share/applications/
|
||||||
|
sudo cp ${BUILDDIR}/${FT8DIR}/share/pixmaps/wsjtx_icon.png /usr/share/pixmaps/
|
||||||
|
|
||||||
|
#reset swap size to default
|
||||||
|
if [ ${FREEMEM} -lt 3000 ]; then
|
||||||
|
echo "Resetting swap size to default"
|
||||||
|
#increase swap size
|
||||||
|
sudo sed -i 's/CONF_SWAPFILE=\/var\/swap/#CONF_SWAPFILE=\/var\/swap/' /etc/dphys-swapfile
|
||||||
|
sudo sed -i 's/CONF_SWAPSIZE=1024/CONF_SWAPSIZE=100/' /etc/dphys-swapfile
|
||||||
|
sudo /etc/init.d/dphys-swapfile restart
|
||||||
|
sleep 10
|
||||||
|
fi
|
||||||
|
|
||||||
|
#old way of installing. left for reference
|
||||||
|
#cd ${DIR}
|
||||||
|
#WSPKG=$(curl -s https://physics.princeton.edu/pulsar/k1jt/wsjtx.html | grep armhf.deb | sed 's/^.*wsjtx/wsjtx/' | sed 's/deb.*$/deb/' | head -1)
|
||||||
|
#wget --tries 2 --connect-timeout=60 --no-check-certificate https://physics.princeton.edu/pulsar/k1jt/$WSPKG
|
||||||
|
#WSJTXSUCCESS=$?
|
||||||
|
#sudo dpkg -i $WSPKG
|
||||||
|
#sudo apt-get --fix-broken -y install
|
||||||
|
#sudo dpkg -i $WSPKG
|
||||||
#added to fix WSJTX 2.3.0
|
#added to fix WSJTX 2.3.0
|
||||||
sudo sed -i "s/# en_US.UTF-8/en_US.UTF-8/g" /etc/locale.gen
|
#sudo sed -i "s/# en_US.UTF-8/en_US.UTF-8/g" /etc/locale.gen
|
||||||
sudo locale-gen
|
#sudo locale-gen
|
||||||
#end edit for WSJTX 2.3.0
|
#end edit for WSJTX 2.3.0
|
||||||
#try sourcegorge if princeton.edu fails
|
#try sourcegorge if princeton.edu fails
|
||||||
WSJTX2() {
|
#WSJTX2() {
|
||||||
if [ "$WSJTXSUCCESS" ! = 0 ]; then
|
# if [ "$WSJTXSUCCESS" ! = 0 ]; then
|
||||||
cd ${DIR}
|
# cd ${DIR}
|
||||||
wget --tries 2 --connect-timeout=60 https://sourceforge.net/projects/wsjt/files/wsjtx-2.2.2/wsjtx_2.2.2_armhf.deb
|
# wget --tries 2 --connect-timeout=60 https://sourceforge.net/projects/wsjt/files/wsjtx-2.2.2/wsjtx_2.2.2_armhf.deb
|
||||||
sudo dpkg -i wsjtx_2.2.2_armhf.deb
|
# sudo dpkg -i wsjtx_2.2.2_armhf.deb
|
||||||
sudo apt-get --fix-broken -y install
|
# sudo apt-get --fix-broken -y install
|
||||||
sudo dpkg -i wsjtx_2.2.2_armhf.deb
|
# sudo dpkg -i wsjtx_2.2.2_armhf.deb
|
||||||
fi
|
# fi
|
||||||
}
|
#}
|
||||||
WSJTX2
|
#WSJTX2
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,7 +272,7 @@ CONKY() {
|
||||||
fi
|
fi
|
||||||
touch ${HOME}/Documents/mylog.txt #conky will fail to load if this file doesn't exist
|
touch ${HOME}/Documents/mylog.txt #conky will fail to load if this file doesn't exist
|
||||||
touch /var/lib/misc/dnsmasq.leases #conky will fail to load if this file doesn't exist
|
touch /var/lib/misc/dnsmasq.leases #conky will fail to load if this file doesn't exist
|
||||||
sudo apt-get install -y ruby2.5
|
sudo apt-get install -y ruby2.7
|
||||||
sudo gem install gpsd_client
|
sudo gem install gpsd_client
|
||||||
sudo gem install maidenhead
|
sudo gem install maidenhead
|
||||||
cp ${MYPATH}/conky/.conkyrc ${HOME}/.conkyrc
|
cp ${MYPATH}/conky/.conkyrc ${HOME}/.conkyrc
|
||||||
|
@ -220,13 +352,18 @@ EOF
|
||||||
##################################
|
##################################
|
||||||
PYQSO() {
|
PYQSO() {
|
||||||
sudo apt-get install -y pyqso
|
sudo apt-get install -y pyqso
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
# CQRLOG
|
# CQRLOG
|
||||||
##################################
|
##################################
|
||||||
CQRLOG() {
|
CQRLOG() {
|
||||||
#sudo apt-get install -y cqrlog
|
|
||||||
|
sudo apt-get install -y cqrlog
|
||||||
|
|
||||||
|
OLDCODE(){
|
||||||
|
#Old code left for reference
|
||||||
sudo apt-get install -y lcl-2.0 lazarus-2.0 fp-compiler-3.0.4 fpc-3.0.4 libssl-dev git build-essential \
|
sudo apt-get install -y lcl-2.0 lazarus-2.0 fp-compiler-3.0.4 fpc-3.0.4 libssl-dev git build-essential \
|
||||||
libmariadbclient-dev lazarus-ide lcl lcl-gtk2 lcl-nogui lcl-units lcl-utils lazarus lazarus-doc lazarus-src \
|
libmariadbclient-dev lazarus-ide lcl lcl-gtk2 lcl-nogui lcl-units lcl-utils lazarus lazarus-doc lazarus-src \
|
||||||
fp-units-misc fp-units-rtl fp-utils fpc fpc-source libssl-dev default-mysql-client-core default-mysql-server \
|
fp-units-misc fp-units-rtl fp-utils fpc fpc-source libssl-dev default-mysql-client-core default-mysql-server \
|
||||||
|
@ -260,6 +397,7 @@ Categories=HamRadio;Utility
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
sudo mv cqrlog.desktop /usr/share/applications/
|
sudo mv cqrlog.desktop /usr/share/applications/
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -267,6 +405,11 @@ EOF
|
||||||
# CHIRP
|
# CHIRP
|
||||||
##################################
|
##################################
|
||||||
CHIRP() {
|
CHIRP() {
|
||||||
|
|
||||||
|
sudo apt install -y chirp
|
||||||
|
|
||||||
|
OLDCODE(){
|
||||||
|
#left for reference
|
||||||
cd ${DIR} || return
|
cd ${DIR} || return
|
||||||
wget --tries 2 --connect-timeout=60 https://trac.chirp.danplanet.com/chirp_daily/LATEST/
|
wget --tries 2 --connect-timeout=60 https://trac.chirp.danplanet.com/chirp_daily/LATEST/
|
||||||
CHIRPBUILD=$(cat index.html | grep .tar.gz | grep chirp-daily- | awk '{ print $6 }' | sed 's/.*"//' | sed 's/>//' | sed 's/[<].*$//')
|
CHIRPBUILD=$(cat index.html | grep .tar.gz | grep chirp-daily- | awk '{ print $6 }' | sed 's/.*"//' | sed 's/>//' | sed 's/[<].*$//')
|
||||||
|
@ -280,6 +423,7 @@ CHIRP() {
|
||||||
sudo python setup.py install
|
sudo python setup.py install
|
||||||
pip install future
|
pip install future
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
# GARIM
|
# GARIM
|
||||||
|
@ -303,7 +447,7 @@ GARIM() {
|
||||||
# QSSTV
|
# QSSTV
|
||||||
##################################
|
##################################
|
||||||
QSSTV() {
|
QSSTV() {
|
||||||
sudo apt-get install -y g++ libfftw3-dev qt5-default libpulse-dev libhamlib-dev libasound2-dev libv4l-dev libopenjp2-7 libopenjp2-7-dev
|
sudo apt-get install -y g++ libfftw3-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libpulse-dev libhamlib-dev libasound2-dev libv4l-dev libopenjp2-7 libopenjp2-7-dev
|
||||||
|
|
||||||
cd ${BUILDDIR} || return
|
cd ${BUILDDIR} || return
|
||||||
|
|
||||||
|
@ -318,6 +462,8 @@ QSSTV() {
|
||||||
sudo make clean
|
sudo make clean
|
||||||
cd ${BUILDDIR} || return
|
cd ${BUILDDIR} || return
|
||||||
rm *.gz
|
rm *.gz
|
||||||
|
mkdir -p /usr/local/share/pixmaps/
|
||||||
|
sudo cp ${BUILDDIR}/${SSTVTAR}/icons/qsstv.png /usr/local/share/pixmaps/
|
||||||
|
|
||||||
cat >qsstv.desktop <<EOF
|
cat >qsstv.desktop <<EOF
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
|
@ -325,7 +471,7 @@ Name=QSSTV
|
||||||
Comment=Slow Scan TV
|
Comment=Slow Scan TV
|
||||||
GenericName=QSSTV
|
GenericName=QSSTV
|
||||||
Exec=/usr/local/bin/qsstv
|
Exec=/usr/local/bin/qsstv
|
||||||
Icon=${HOME}/GridTracker/gridtracker.png
|
Icon=qsstv.png
|
||||||
Type=Application
|
Type=Application
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Categories=HamRadio;
|
Categories=HamRadio;
|
||||||
|
@ -400,7 +546,7 @@ YAAC() {
|
||||||
cd ${DIR} || return
|
cd ${DIR} || return
|
||||||
#wget --tries 2 --connect-timeout=60 https://sourceforge.net/projects/yetanotheraprsc/files/YAAC.zip/
|
#wget --tries 2 --connect-timeout=60 https://sourceforge.net/projects/yetanotheraprsc/files/YAAC.zip/
|
||||||
wget --tries 2 --connect-timeout=60 https://www.ka2ddo.org/ka2ddo/YAAC.zip
|
wget --tries 2 --connect-timeout=60 https://www.ka2ddo.org/ka2ddo/YAAC.zip
|
||||||
sudo apt-get install -y openjdk-8-jre librxtx-java
|
sudo apt-get install -y librxtx-java openjdk-10-dbg
|
||||||
mkdir -p ${HOME}/YAAC
|
mkdir -p ${HOME}/YAAC
|
||||||
cd ${HOME}/YAAC || return
|
cd ${HOME}/YAAC || return
|
||||||
touch YAAC
|
touch YAAC
|
||||||
|
@ -469,10 +615,10 @@ EOF
|
||||||
|
|
||||||
EES() {
|
EES() {
|
||||||
|
|
||||||
#install PHP7.3 if not installed
|
#install PHP7.4 if not installed
|
||||||
#this will also install apache2
|
#this will also install apache2
|
||||||
if ! hash php7.3 2>/dev/null; then
|
if ! hash php7.4 2>/dev/null; then
|
||||||
sudo apt install -y php7.3
|
sudo apt install -y php7.4
|
||||||
fi
|
fi
|
||||||
#install ghostwriter if needed
|
#install ghostwriter if needed
|
||||||
#this is used to mod the new index.html
|
#this is used to mod the new index.html
|
||||||
|
@ -495,7 +641,7 @@ EES() {
|
||||||
sudo sed -i 's/REMINDER\ FOR\ OPERATOR\ TO\ DO\ SOMETHING/ENABLE\ AUTO\ POST\ REPLY\ IN\ CRON/' /var/www/html/config.php
|
sudo sed -i 's/REMINDER\ FOR\ OPERATOR\ TO\ DO\ SOMETHING/ENABLE\ AUTO\ POST\ REPLY\ IN\ CRON/' /var/www/html/config.php
|
||||||
cd ${DIR} || return
|
cd ${DIR} || return
|
||||||
#Change Pat Winlink port so it won't interfer with the EES
|
#Change Pat Winlink port so it won't interfer with the EES
|
||||||
sed -i 's/0.0.0.0:8080/0.0.0.0:5000/' ${HOME}/.wl2k/config.json
|
sed -i 's/:8080/:5000/' ${XDG_CONFIG_HOME}/pat/config.json
|
||||||
sed -i 's/PORT=8080/PORT=5000/' ${HOME}/patmenu2/config
|
sed -i 's/PORT=8080/PORT=5000/' ${HOME}/patmenu2/config
|
||||||
|
|
||||||
sudo killall pat
|
sudo killall pat
|
||||||
|
@ -608,7 +754,7 @@ GPREDICT() {
|
||||||
# TQSL
|
# TQSL
|
||||||
##################################
|
##################################
|
||||||
TQSL() {
|
TQSL() {
|
||||||
sudo apt install -y cmake g++ libexpat1-dev libssl-dev libdb++-dev libcurl4-openssl-dev libwxgtk3.0-dev
|
sudo apt install -y cmake g++ libexpat1-dev libssl-dev libdb++-dev libcurl4-openssl-dev libwxgtk3.0-gtk3-dev
|
||||||
cd ${BUILDDIR} || return
|
cd ${BUILDDIR} || return
|
||||||
CUR=$(curl -s http://www.arrl.org/tqsl-download | grep "for Linux" | sed 's/.*TQSL //' | awk '{print $1}')
|
CUR=$(curl -s http://www.arrl.org/tqsl-download | grep "for Linux" | sed 's/.*TQSL //' | awk '{print $1}')
|
||||||
wget http://www.arrl.org/tqsl/tqsl-${CUR}.tar.gz
|
wget http://www.arrl.org/tqsl/tqsl-${CUR}.tar.gz
|
||||||
|
|
|
@ -58,14 +58,21 @@ HSTOOLS() {
|
||||||
GPS() {
|
GPS() {
|
||||||
cd ${BUILDDIR} || return
|
cd ${BUILDDIR} || return
|
||||||
|
|
||||||
#old gpsd install left for reference
|
echo "##########################"
|
||||||
#wget --tries 2 --connect-timeout=60 https://raw.githubusercontent.com/km4ack/pi-scripts/master/gpsinstall
|
echo "# Installing GPS #"
|
||||||
#chmod +x ${DIR}/gpsinstall
|
echo "##########################"
|
||||||
#sudo ${DIR}/gpsinstall
|
sudo apt install -y python3-gps gpsd-tools gpsd-clients gpsd chrony python3-gi-cairo
|
||||||
#rm ${DIR}/gpsinstall
|
sudo mv /etc/default/gpsd /etc/default/gpsd.org
|
||||||
|
sudo wget https://raw.githubusercontent.com/km4ack/pi-scripts/master/gpsd -P /etc/default/
|
||||||
|
sudo echo "refclock SHM 0 offset 0.5 delay 0.2 refid NMEA" | tee -a /etc/chrony/chrony.conf
|
||||||
|
#line below added per this issue - https://github.com/km4ack/pi-build/issues/146 24SEPT2020
|
||||||
|
ln -s /lib/systemd/system/gpsd.service /etc/systemd/system/multi-user.target.wants/
|
||||||
|
|
||||||
|
OLDCODE(){
|
||||||
|
#code below built gpsd from source. This is no longer needed with the release of
|
||||||
|
#bullseye in late 2021. We can now isntall gpsd with apt.
|
||||||
#begin gpsd change 11OCT2021 - see https://github.com/km4ack/pi-build/issues/316
|
#begin gpsd change 11OCT2021 - see https://github.com/km4ack/pi-build/issues/316
|
||||||
sudo apt-get -y install scons libncurses5-dev python-dev pps-tools chrony
|
sudo apt-get -y install scons libncurses5-dev python-dev pps-tools chrony python-gi-cairo
|
||||||
sudo ldconfig
|
sudo ldconfig
|
||||||
cd ${BUILDDIR}
|
cd ${BUILDDIR}
|
||||||
wget http://download.savannah.gnu.org/releases/gpsd/gpsd-3.23.1.tar.gz
|
wget http://download.savannah.gnu.org/releases/gpsd/gpsd-3.23.1.tar.gz
|
||||||
|
@ -82,6 +89,7 @@ GPS() {
|
||||||
echo "refclock SHM 0 offset 0.5 delay 0.2 refid NMEA" | sudo tee -a /etc/chrony/chrony.conf
|
echo "refclock SHM 0 offset 0.5 delay 0.2 refid NMEA" | sudo tee -a /etc/chrony/chrony.conf
|
||||||
fi
|
fi
|
||||||
#end gpsd change 11OCT2021
|
#end gpsd change 11OCT2021
|
||||||
|
}
|
||||||
|
|
||||||
#Set GPS by serial ID
|
#Set GPS by serial ID
|
||||||
#GPS Variable set by main script or update script and placed in config file
|
#GPS Variable set by main script or update script and placed in config file
|
||||||
|
@ -149,7 +157,7 @@ EOF
|
||||||
HAMLIB() {
|
HAMLIB() {
|
||||||
PACKAGE=hamlib
|
PACKAGE=hamlib
|
||||||
CLEANSOURCE
|
CLEANSOURCE
|
||||||
sudo apt install -y libusb-1.0 libusb-dev
|
sudo apt install libusb-1.0-0 libusb-1.0-0-dev
|
||||||
cd ${BUILDDIR} || return
|
cd ${BUILDDIR} || return
|
||||||
NEWRIG=$(curl -s https://sourceforge.net/projects/hamlib/files/latest/download |
|
NEWRIG=$(curl -s https://sourceforge.net/projects/hamlib/files/latest/download |
|
||||||
grep -o https://downloads.sourceforge.net/project/hamlib/hamlib/[0-9].[0-9] |
|
grep -o https://downloads.sourceforge.net/project/hamlib/hamlib/[0-9].[0-9] |
|
||||||
|
@ -185,7 +193,7 @@ DIREWOLF() {
|
||||||
make install-conf
|
make install-conf
|
||||||
sudo make clean
|
sudo make clean
|
||||||
sed -i "s/N0CALL/${CALL}/" "${HOME}/direwolf.conf"
|
sed -i "s/N0CALL/${CALL}/" "${HOME}/direwolf.conf"
|
||||||
sed -i 's/# ADEVICE plughw:1,0/ADEVICE plughw:2,0/' ${HOME}/direwolf.conf
|
sed -i 's/# ADEVICE plughw:1,0/ADEVICE plughw:3,0/' ${HOME}/direwolf.conf
|
||||||
sed -i '/#PTT\ \/dev\/ttyUSB0\ RTS/a #Uncomment line below for PTT with sabrent sound card\n#PTT RIG 2 localhost:4532' ${HOME}/direwolf.conf
|
sed -i '/#PTT\ \/dev\/ttyUSB0\ RTS/a #Uncomment line below for PTT with sabrent sound card\n#PTT RIG 2 localhost:4532' ${HOME}/direwolf.conf
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -193,13 +193,13 @@ PISTATS() {
|
||||||
wget http://www.w1hkj.com/PI/${CUR}
|
wget http://www.w1hkj.com/PI/${CUR}
|
||||||
tar -xzvf ${CUR}
|
tar -xzvf ${CUR}
|
||||||
rm ${CUR}
|
rm ${CUR}
|
||||||
PISTATDIR=$(ls ${HOME} | grep pistats)
|
PISTATDIR=$(ls ${BUILDDIR} | grep pistats)
|
||||||
cd ${PISTATDIR} || return
|
cd ${PISTATDIR} || return
|
||||||
sudo apt-get install -y libfltk1.3-dev
|
sudo apt-get install -y libfltk1.3-dev
|
||||||
make
|
make
|
||||||
make clean
|
|
||||||
sudo mv pistats /usr/local/bin
|
sudo mv pistats /usr/local/bin
|
||||||
sudo mv ${BUILDDIR}/${PISTATDIR}/data/pistats.desktop /usr/share/applications/
|
sudo mv ${BUILDDIR}/${PISTATDIR}/data/pistats.desktop /usr/share/applications/
|
||||||
|
make clean
|
||||||
cd ${HOME} || return
|
cd ${HOME} || return
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -417,11 +417,11 @@ VNC() {
|
||||||
}
|
}
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
# ZYGRIB Viewer
|
# XYGRIB Viewer
|
||||||
##################################
|
##################################
|
||||||
ZYGRIB() {
|
XYGRIB() {
|
||||||
sudo apt install -y zygrib
|
sudo apt install -y xygrib
|
||||||
sudo apt install -y zygrib-maps
|
|
||||||
}
|
}
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
@ -512,7 +512,7 @@ sudo mv /run/user/$UID/packetsearch.desktop /usr/share/applications/
|
||||||
#Documentation - https://www.cantab.net/users/john.wiseman/Documents/QtSoundModem.html
|
#Documentation - https://www.cantab.net/users/john.wiseman/Documents/QtSoundModem.html
|
||||||
|
|
||||||
QTSOUND(){
|
QTSOUND(){
|
||||||
sudo apt install libqt5serialbus5
|
sudo apt install -y libqt5serialport5
|
||||||
cd ${HOME}/Downloads || return
|
cd ${HOME}/Downloads || return
|
||||||
wget --tries 2 --connect-timeout=60 https://www.cantab.net/users/john.wiseman/Downloads/Beta/piQtSoundModem
|
wget --tries 2 --connect-timeout=60 https://www.cantab.net/users/john.wiseman/Downloads/Beta/piQtSoundModem
|
||||||
chmod +x piQtSoundModem
|
chmod +x piQtSoundModem
|
||||||
|
|
74
update
74
update
|
@ -45,6 +45,49 @@ FINISH() {
|
||||||
|
|
||||||
trap FINISH EXIT
|
trap FINISH EXIT
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# Old OS Check
|
||||||
|
#####################################
|
||||||
|
V_ID=$(grep VERSION_ID /etc/os-release | sed 's/VERSION_ID="//;s/"//')
|
||||||
|
|
||||||
|
if [ "$V_ID" -le 10 ]; then
|
||||||
|
NOTICEPATH=/run/user/$UID
|
||||||
|
|
||||||
|
cat <<EOF >${NOTICEPATH}/intro.txt
|
||||||
|
Build a Pi 3.2.0 and later does not support
|
||||||
|
RaspiOS Buster or earlier versions of RaspiOS.
|
||||||
|
You should consider upgrading to RaspiOS 11
|
||||||
|
(Bullseye). By clicking ok you will be moved
|
||||||
|
to the last version of Build a Pi (3.1.4) that
|
||||||
|
supports Pi OS Buster. Please note there are
|
||||||
|
no plans to update Build a Pi for Buster going
|
||||||
|
forward. In other words, you are on your own
|
||||||
|
if it is broke and you are still running Pi OS
|
||||||
|
10 (Buster).
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
INTRO=$(yad --width=600 --height=300 --text-align=center --center --title="Out of Date OS Detected!" --show-uri \
|
||||||
|
--image ${LOGO} --window-icon=${LOGO} --image-on-top --separator="|" --item-separator="|" \
|
||||||
|
--text-info \
|
||||||
|
--button="OK":1 <${NOTICEPATH}/intro.txt \
|
||||||
|
--button="Exit":2 \
|
||||||
|
>/dev/null 2>&1)
|
||||||
|
BUT=$?
|
||||||
|
echo $BUT
|
||||||
|
if [ $BUT = 2 ] || [ $BUT = 252 ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
rm ${NOTICEPATH}/intro.txt
|
||||||
|
cd $HOME/pi-build
|
||||||
|
git checkout buster
|
||||||
|
bash build-a-pi & exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# end Old OS Check
|
||||||
|
#####################################
|
||||||
|
|
||||||
#remove temp dir if exist
|
#remove temp dir if exist
|
||||||
#fix issue 108 https://github.com/km4ack/pi-build/issues/108
|
#fix issue 108 https://github.com/km4ack/pi-build/issues/108
|
||||||
#Thanks to N5RKS for finding the bug
|
#Thanks to N5RKS for finding the bug
|
||||||
|
@ -411,7 +454,6 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \
|
||||||
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" \
|
||||||
false "PYQSO" "$PYQSO" "Logging Software" \
|
false "PYQSO" "$PYQSO" "Logging Software" \
|
||||||
false "CQRLOG" "$CQRLOG" "Logging Software" \
|
|
||||||
false "HAMRS" "$HAMRS" "Logging Software" \
|
false "HAMRS" "$HAMRS" "Logging Software" \
|
||||||
false "QSSTV" "$QSSTV" "Slow scan TV" \
|
false "QSSTV" "$QSSTV" "Slow scan TV" \
|
||||||
false "GRIDTRACKER" "$GRIDTRACK" "Track grids in WSJTX" \
|
false "GRIDTRACKER" "$GRIDTRACK" "Track grids in WSJTX" \
|
||||||
|
@ -484,7 +526,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \
|
||||||
false "BPQ" "$BPQ" "LinBPQ Software" \
|
false "BPQ" "$BPQ" "LinBPQ Software" \
|
||||||
false "BATT" "$BATT" "Battery Test Script" \
|
false "BATT" "$BATT" "Battery Test Script" \
|
||||||
false "VNC" "$VNC" "VNC Viewer Application" \
|
false "VNC" "$VNC" "VNC Viewer Application" \
|
||||||
false "ZYGRIB" "$ZYGRIB" "Grib File Viewer" \
|
false "XYGRIB" "$XYGRIB" "Grib file viewer" \
|
||||||
--button="Exit":1 \
|
--button="Exit":1 \
|
||||||
--button="Install/Update Selected":2 >${UTILITY}
|
--button="Install/Update Selected":2 >${UTILITY}
|
||||||
BUT=$?
|
BUT=$?
|
||||||
|
@ -571,34 +613,14 @@ bash ${HOME}/pi-build/menu-update
|
||||||
#Remove temp files
|
#Remove temp files
|
||||||
rm ${BASE} ${ADDITIONAL} ${UTILITY} ${FLSUITE} >/dev/null 2>&1
|
rm ${BASE} ${ADDITIONAL} ${UTILITY} ${FLSUITE} >/dev/null 2>&1
|
||||||
|
|
||||||
|
#remove libham (rigctl) installed from apt
|
||||||
|
#since it conflicts with hamlib installed from source
|
||||||
|
sudo apt purge -y libhamlib4
|
||||||
|
|
||||||
#restore crontab
|
#restore crontab
|
||||||
crontab ${TEMPCRON}
|
crontab ${TEMPCRON}
|
||||||
rm ${TEMPCRON}
|
rm ${TEMPCRON}
|
||||||
|
|
||||||
#####################################
|
|
||||||
# Pat 12 Temp Workaround
|
|
||||||
#####################################
|
|
||||||
#This will move the user to the "version12" branch of the Pat Menu code
|
|
||||||
#until this can be implemented into the main branch of code. This will
|
|
||||||
#allow Pat Menu to support both the new version of Pat as well as older
|
|
||||||
#versions. This section of code needs to be removed once the "version12"
|
|
||||||
#branch is merged with the master branch
|
|
||||||
|
|
||||||
PAT_VERSION=$(pat version | awk '{print $2}' | sed 's/v0.//;s/.0//')
|
|
||||||
|
|
||||||
if [ "$PAT_VERSION" -le 11 ]; then
|
|
||||||
echo "pat version 11 detected"
|
|
||||||
else
|
|
||||||
echo "pat version 12 or greater detected"
|
|
||||||
echo "moving pat menu to the version12 branch"
|
|
||||||
cd $HOME/patmenu2
|
|
||||||
git pull
|
|
||||||
git checkout version12
|
|
||||||
fi
|
|
||||||
|
|
||||||
#####################################
|
|
||||||
# END Pat 12 Temp Workaround
|
|
||||||
#####################################
|
|
||||||
#reboot when done
|
#reboot when done
|
||||||
yad --width=400 --height=200 --title="Reboot" --image ${LOGO} \
|
yad --width=400 --height=200 --title="Reboot" --image ${LOGO} \
|
||||||
--text-align=center --skip-taskbar --image-on-top \
|
--text-align=center --skip-taskbar --image-on-top \
|
||||||
|
|
Ładowanie…
Reference in New Issue