diff --git a/README.md b/README.md index 7a6553a..1079ef3 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,9 @@ Software TNC. In this setup, Direwolf is used for a 2M packet connection with Pa #### AX25: AX.25 tools for Direwolf & Pat. Recommended if installing Pat. +#### gARIM/vARIM: +ARIM means "Amateur Radio Instant Messaging" https://www.whitemesa.net/garim/garim.html and https://www.whitemesa.net/varim/varim.html using ARDROP or VARA modem + #### HAMLIB: Rig contol software. https://sourceforge.net/projects/hamlib/ diff --git a/app-check b/app-check index bb6bcc5..4ed3491 100644 --- a/app-check +++ b/app-check @@ -11,553 +11,560 @@ fi #create new file touch $UPDATEFILE -CHECK() { - #----------------------------------------------------# - # Hotspot - #----------------------------------------------------# - HOTSPOT="/usr/bin/autohotspotN" - if [ ! -f "$HOTSPOT" ]; then - echo "HOTSPOT=Not_Installed" >> $UPDATEFILE - else - echo "HOTSPOT=Installed" >> $UPDATEFILE - fi +#----------------------------------------------------# +# Hotspot +#----------------------------------------------------# +HOTSPOT="/usr/bin/autohotspotN" +if [ ! -f "$HOTSPOT" ]; then + echo "HOTSPOT=Not_Installed" >> $UPDATEFILE +else + echo "HOTSPOT=Installed" >> $UPDATEFILE +fi - #remove duplicate HST check +#remove duplicate HST check - #----------------------------------------------------# - # AX25 - #----------------------------------------------------# - if [ ! -d /etc/ax25 ]; then - echo "AX25=Not_Installed" >> $UPDATEFILE - else - echo "AX25=Installed" >> $UPDATEFILE - fi - #----------------------------------------------------# - # GPS - #----------------------------------------------------# - if ! hash gpsd 2>/dev/null; then - echo "GPS=Not_Installed" >> $UPDATEFILE - else - echo "GPS=Installed" >> $UPDATEFILE - fi - #----------------------------------------------------# - # PULSE - #----------------------------------------------------# - if ! hash pavucontrol 2>/dev/null; then - echo "PULSE=Not_Installed" >> $UPDATEFILE - else - echo "PULSE=Installed" >> $UPDATEFILE - fi - #----------------------------------------------------# - # ARDOP - #----------------------------------------------------# - if [ -f ${HOME}/ardop/piardopc ]; then - echo "ARDOP=Installed" >> $UPDATEFILE - else - echo "ARDOP=Not_Installed" >> $UPDATEFILE - fi - #----------------------------------------------------# - # ARDOP GUI - #----------------------------------------------------# - if [ -f ${HOME}/ardop/piARDOP_GUI ]; then - echo "ARDOPGUI=Installed" >> $UPDATEFILE - else - echo "ARDOPGUI=Not_Installed" >> $UPDATEFILE - 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 - #----------------------------------------------------# - if ! hash js8call 2>/dev/null; then - echo "JS8=Not_Installed" >> $UPDATEFILE - else - echo "JS8=Installed" >> $UPDATEFILE - fi - #----------------------------------------------------# - # WSJTX - #----------------------------------------------------# - if ! hash wsjtx 2>/dev/null; then - echo "FT8=Not_Installed" >> $UPDATEFILE - else - echo "FT8=Installed" >> $UPDATEFILE - fi - #----------------------------------------------------# - # CONKY - #----------------------------------------------------# - if [ -f ${HOME}/.conkyrc ]; then - echo "CONKY=Installed" >> $UPDATEFILE - else - echo "CONKY=Not_Installed" >> $UPDATEFILE - fi - #----------------------------------------------------# - # M0IAX - #----------------------------------------------------# - if [ -f /usr/local/bin/JS8CallUtils_v2 ]; then - echo "M0IAX=Installed" >> $UPDATEFILE - else - echo "M0IAX=Not_Installed" >> $UPDATEFILE - fi +#----------------------------------------------------# +# AX25 +#----------------------------------------------------# +if [ ! -d /etc/ax25 ]; then + echo "AX25=Not_Installed" >> $UPDATEFILE +else + echo "AX25=Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# GPS +#----------------------------------------------------# +if ! hash gpsd 2>/dev/null; then + echo "GPS=Not_Installed" >> $UPDATEFILE +else + echo "GPS=Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# PULSE +#----------------------------------------------------# +if ! hash pavucontrol 2>/dev/null; then + echo "PULSE=Not_Installed" >> $UPDATEFILE +else + echo "PULSE=Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# ARDOP +#----------------------------------------------------# +if [ -f ${HOME}/ardop/piardopc ]; then + echo "ARDOP=Installed" >> $UPDATEFILE +else + echo "ARDOP=Not_Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# ARDOP GUI +#----------------------------------------------------# +if [ -f ${HOME}/ardop/piARDOP_GUI ]; then + echo "ARDOPGUI=Installed" >> $UPDATEFILE +else + echo "ARDOPGUI=Not_Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# VARA +#----------------------------------------------------# +echo "Checking VARA" +if [ -f ${HOME}/.wine/drive_c/VARA/VARA.exe ]; then + echo "VARA=Installed" >> $UPDATEFILE +else + echo "VARA=Not_Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# JS8Call +#----------------------------------------------------# +if ! hash js8call 2>/dev/null; then + echo "JS8=Not_Installed" >> $UPDATEFILE +else + echo "JS8=Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# WSJTX +#----------------------------------------------------# +if ! hash wsjtx 2>/dev/null; then + echo "FT8=Not_Installed" >> $UPDATEFILE +else + echo "FT8=Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# CONKY +#----------------------------------------------------# +if [ -f ${HOME}/.conkyrc ]; then + echo "CONKY=Installed" >> $UPDATEFILE +else + echo "CONKY=Not_Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# M0IAX +#----------------------------------------------------# +if [ -f /usr/local/bin/JS8CallUtils_v2 ]; then + echo "M0IAX=Installed" >> $UPDATEFILE +else + echo "M0IAX=Not_Installed" >> $UPDATEFILE +fi - #----------------------------------------------------# - # RIG CONTROL - HAMLIB - #----------------------------------------------------# - if ! hash rigctl 2>/dev/null; then - echo "RIG=Not_Installed" >> $UPDATEFILE +#----------------------------------------------------# +# RIG CONTROL - HAMLIB +#----------------------------------------------------# +if ! hash rigctl 2>/dev/null; then + echo "RIG=Not_Installed" >> $UPDATEFILE +else + echo "Checking Rig Control" + RIG=$(rigctl --version | grep Hamlib | sed s/"rigctl(d),\ Hamlib\ "//) + NEWRIG=$(curl -s https://sourceforge.net/projects/hamlib/files/latest/download | + grep -o https://downloads.sourceforge.net/project/hamlib/hamlib/[0-9].[0-9] | + head -n 1 | awk -F "/" '{print $7}') + + if (($(echo "${NEWRIG} ${RIG}" | awk '{print ($1 > $2)}'))); then + echo "RIG=NEEDS-UPDATE" >> $UPDATEFILE else - echo "Checking Rig Control" - RIG=$(rigctl --version | grep Hamlib | sed s/"rigctl(d),\ Hamlib\ "//) - NEWRIG=$(curl -s https://sourceforge.net/projects/hamlib/files/latest/download | - grep -o https://downloads.sourceforge.net/project/hamlib/hamlib/[0-9].[0-9] | - head -n 1 | awk -F "/" '{print $7}') - - if (($(echo "${NEWRIG} ${RIG}" | awk '{print ($1 > $2)}'))); then - echo "RIG=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "RIG=is_latest_version" >> $UPDATEFILE - fi + echo "RIG=is_latest_version" >> $UPDATEFILE fi +fi - #----------------------------------------------------# - # FLDIGI - #----------------------------------------------------# - echo "Checking FLDIGI" - if ! hash fldigi 2>/dev/null; then - echo "FLDIGI=Not_Installed" >> $UPDATEFILE +#----------------------------------------------------# +# FLDIGI +#----------------------------------------------------# +echo "Checking FLDIGI" +if ! hash fldigi 2>/dev/null; then + echo "FLDIGI=Not_Installed" >> $UPDATEFILE +else + FLDIGI=$(fldigi --version | awk 'FNR == 1 {print $2}') + NEWFLDIGI=$(curl -s https://sourceforge.net/projects/fldigi/files/fldigi/ | + grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar" '{print $1}') + + if (($(echo "${NEWFLDIGI} ${FLDIGI}" | awk '{print ($1 > $2)}'))); then + echo "FLDIGI=NEEDS-UPDATE" >> $UPDATEFILE else - FLDIGI=$(fldigi --version | awk 'FNR == 1 {print $2}') - NEWFLDIGI=$(curl -s https://sourceforge.net/projects/fldigi/files/fldigi/ | - grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar" '{print $1}') - - if (($(echo "${NEWFLDIGI} ${FLDIGI}" | awk '{print ($1 > $2)}'))); then - echo "FLDIGI=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "FLDIGI=is_latest_version" >> $UPDATEFILE - fi + echo "FLDIGI=is_latest_version" >> $UPDATEFILE fi +fi - #----------------------------------------------------# - # FLWRAP - #----------------------------------------------------# - echo "Checking FLWRAP" - if ! hash flwrap 2>/dev/null; then - echo "FLWRAP=Not_Installed" >> $UPDATEFILE +#----------------------------------------------------# +# FLWRAP +#----------------------------------------------------# +echo "Checking FLWRAP" +if ! hash flwrap 2>/dev/null; then + echo "FLWRAP=Not_Installed" >> $UPDATEFILE +else + FLWRAP=$(flwrap --version | awk 'FNR == 1 {print $2}') + NEWFLWRAP=$(curl -s http://www.w1hkj.com/files/flwrap/ | grep .tar.gz | sed 's/
  • \ flwrap.*$//' | sed 's/flwrap-//' | sed 's/.tar.gz//') + + if (($(echo "${NEWFLWRAP} ${FLWRAP}" | awk '{print ($1 > $2)}'))); then + echo "FLWRAP=NEEDS-UPDATE" >> $UPDATEFILE else - FLWRAP=$(flwrap --version | awk 'FNR == 1 {print $2}') - NEWFLWRAP=$(curl -s http://www.w1hkj.com/files/flwrap/ | grep .tar.gz | sed 's/
  • \ flwrap.*$//' | sed 's/flwrap-//' | sed 's/.tar.gz//') - - if (($(echo "${NEWFLWRAP} ${FLWRAP}" | awk '{print ($1 > $2)}'))); then - echo "FLWRAP=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "FLWRAP=is_latest_version" >> $UPDATEFILE - fi + echo "FLWRAP=is_latest_version" >> $UPDATEFILE fi +fi - #----------------------------------------------------# - # FLRIG - #----------------------------------------------------# - echo "Checking FLRIG" - if ! hash flrig 2>/dev/null; then - echo "FLRIG=Not_Installed" >> $UPDATEFILE +#----------------------------------------------------# +# FLRIG +#----------------------------------------------------# +echo "Checking FLRIG" +if ! hash flrig 2>/dev/null; then + echo "FLRIG=Not_Installed" >> $UPDATEFILE +else + FLRIG=$(flrig --version | awk 'FNR == 1 {print $2}') + NEWFLRIG=$(curl -s https://sourceforge.net/projects/fldigi/files/flrig/ | + grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar.gz" '{print $1}') + + if (($(echo "${NEWFLRIG} ${FLRIG}" | awk '{print ($1 > $2)}'))); then + echo "FLRIG=NEEDS-UPDATE" >> $UPDATEFILE else - FLRIG=$(flrig --version | awk 'FNR == 1 {print $2}') - NEWFLRIG=$(curl -s https://sourceforge.net/projects/fldigi/files/flrig/ | - grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar.gz" '{print $1}') - - if (($(echo "${NEWFLRIG} ${FLRIG}" | awk '{print ($1 > $2)}'))); then - echo "FLRIG=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "FLRIG=is_latest_version" >> $UPDATEFILE - fi + echo "FLRIG=is_latest_version" >> $UPDATEFILE fi - #----------------------------------------------------# - # FLAMP - #----------------------------------------------------# - echo "Checking FLAMP" - if ! hash flamp 2>/dev/null; then - echo "FLAMP=Not_Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# FLAMP +#----------------------------------------------------# +echo "Checking FLAMP" +if ! hash flamp 2>/dev/null; then + echo "FLAMP=Not_Installed" >> $UPDATEFILE +else + FLAMP=$(flamp --version | awk 'FNR == 1 {print $2}') + NEWFLAMP=$(curl -s https://sourceforge.net/projects/fldigi/files/flamp/ | + grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar.gz" '{print $1}') + + if (($(echo "${NEWFLAMP} ${FLAMP}" | awk '{print ($1 > $2)}'))); then + echo "FLAMP=NEEDS-UPDATE" >> $UPDATEFILE else - FLAMP=$(flamp --version | awk 'FNR == 1 {print $2}') - NEWFLAMP=$(curl -s https://sourceforge.net/projects/fldigi/files/flamp/ | - grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar.gz" '{print $1}') - - if (($(echo "${NEWFLAMP} ${FLAMP}" | awk '{print ($1 > $2)}'))); then - echo "FLAMP=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "FLAMP=is_latest_version" >> $UPDATEFILE - fi + echo "FLAMP=is_latest_version" >> $UPDATEFILE fi - #----------------------------------------------------# - # FLMSG - #----------------------------------------------------# - echo "Checking FLMSG" - if ! hash flmsg 2>/dev/null; then - echo "FLMSG=Not_Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# FLMSG +#----------------------------------------------------# +echo "Checking FLMSG" +if ! hash flmsg 2>/dev/null; then + echo "FLMSG=Not_Installed" >> $UPDATEFILE +else + FLMSG=$(flmsg --version | awk 'FNR == 1 {print $2}') + NEWFLMSG=$(curl -s https://sourceforge.net/projects/fldigi/files/flmsg/ | + grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar.gz" '{print $1}') + + if (($(echo "${NEWFLMSG} ${FLMSG}" | awk '{print ($1 > $2)}'))); then + echo "FLMSG=NEEDS-UPDATE" >> $UPDATEFILE else - FLMSG=$(flmsg --version | awk 'FNR == 1 {print $2}') - NEWFLMSG=$(curl -s https://sourceforge.net/projects/fldigi/files/flmsg/ | - grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar.gz" '{print $1}') - - if (($(echo "${NEWFLMSG} ${FLMSG}" | awk '{print ($1 > $2)}'))); then - echo "FLMSG=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "FLMSG=is_latest_version" >> $UPDATEFILE - fi + echo "FLMSG=is_latest_version" >> $UPDATEFILE fi - #----------------------------------------------------# - # FLNET - #----------------------------------------------------# - echo "Checking FLNET" - if ! hash flnet 2>/dev/null; then - echo "FLNET=Not_Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# FLNET +#----------------------------------------------------# +echo "Checking FLNET" +if ! hash flnet 2>/dev/null; then + echo "FLNET=Not_Installed" >> $UPDATEFILE +else + FLNET=$(flnet --version | awk 'FNR == 1 {print $2}') + NEWFLNET=$(curl -s https://sourceforge.net/projects/fldigi/files/flnet/ | + grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar" '{print $1}') + + if (($(echo "${NEWFLNET} ${FLNET}" | awk '{print ($1 > $2)}'))); then + echo "FLNET=NEEDS-UPDATE" >> $UPDATEFILE else - FLNET=$(flnet --version | awk 'FNR == 1 {print $2}') - NEWFLNET=$(curl -s https://sourceforge.net/projects/fldigi/files/flnet/ | - grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar" '{print $1}') - - if (($(echo "${NEWFLNET} ${FLNET}" | awk '{print ($1 > $2)}'))); then - echo "FLNET=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "FLNET=is_latest_version" >> $UPDATEFILE - fi + echo "FLNET=is_latest_version" >> $UPDATEFILE fi - #----------------------------------------------------# - # Pat Winlink - #----------------------------------------------------# - echo "Checking Pat Winlink" - if ! hash pat 2>/dev/null; then - echo "PAT=Not_Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# Pat Winlink +#----------------------------------------------------# +echo "Checking Pat Winlink" +if ! hash pat 2>/dev/null; then + echo "PAT=Not_Installed" >> $UPDATEFILE +else + PAT=$(pat version | awk '{print $2}' | sed 's/v//' | sed 's/0\.//') + 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\.//') + VERTEST=$(echo "${NEWPAT}>${PAT}" | bc) + + if [ "$VERTEST" = 1 ]; then + echo "PAT=NEEDS-UPDATE" >> $UPDATEFILE else - PAT=$(pat version | awk '{print $2}' | sed 's/v//' | sed 's/0\.//') - 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\.//') - VERTEST=$(echo "${NEWPAT}>${PAT}" | bc) - - if [ "$VERTEST" = 1 ]; then - echo "PAT=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "PAT=is_latest_version" >> $UPDATEFILE - fi + echo "PAT=is_latest_version" >> $UPDATEFILE fi - #----------------------------------------------------# - # CHRIP - #----------------------------------------------------# - echo "Checking Chirp" - if ! hash chirpw 2>/dev/null; then - echo "CHIRP=Not_Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# CHRIP +#----------------------------------------------------# +echo "Checking Chirp" +#as of 02FEB23 running "chirp --version" no longer gives the version number +#but instead starts chirp. Mods were made below to simply check if chirp +#is installed or not +if ! hash chirp 2>/dev/null; then + echo "CHIRP=Not_Installed" >> $UPDATEFILE +else + echo "Installed" >> $UPDATEFILE + +fi + + + #bash function this could be moved to the top of the file and used globally + #to short hand lookups on GIT release pages + #lastrelease() { git ls-remote --tags "$1" | cut -d/ -f3- | tail -n1; } + +#----------------------------------------------------# +# DIREWOLF +#----------------------------------------------------# +echo "Checking Direwolf" +if ! hash direwolf 2>/dev/null; then + echo "DIRE=Not_Installed" >> $UPDATEFILE +else + DIRE=$(direwolf -S -t 0 | head -1 | sed 's/Dire\ Wolf\ version\ //') + wget -P /tmp/ https://raw.githubusercontent.com/wb2osz/direwolf/master/CHANGES.md >/dev/null 2>&1 + NEWDIRE=$(cat /tmp/CHANGES.md | head -5 | tail -1 | awk '{ print $3 }') + + if (($(echo "${NEWDIRE} ${DIRE}" | awk '{print ($1 > $2)}'))); then + echo "DIRE=NEEDS-UPDATE" >> $UPDATEFILE else - echo "CHIRP=Installed" >> $UPDATEFILE + echo "DIRE=is_latest_version" >> $UPDATEFILE fi - OLDCODE(){ - #old code left for reference - if ! hash chirpw 2>/dev/null; then - echo "CHIRP=Not_Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# Pat Menu +#----------------------------------------------------# +echo "Checking Pat Menu" +if [ ! -d ${HOME}/patmenu2 ]; then + echo "PATMENU=Not_Installed" >> $UPDATEFILE +else + cd ${HOME}/patmenu2/ || ! echo "Failure" + wget -O ${HOME}/patmenu2/latest https://raw.githubusercontent.com/km4ack/patmenu2/master/changelog >/dev/null 2>&1 + LATEST=$(cat ${HOME}/patmenu2/latest | grep '^release' | sed 's/release=//') + CURRENT=$(cat ${HOME}/patmenu2/changelog | grep '^release' | sed 's/release=//') + rm ${HOME}/patmenu2/latest >/dev/null 2>&1 + if (($(echo "${LATEST} ${CURRENT}" | awk '{print ($1 > $2)}'))); then + echo "PATMENU=NEEDS-UPDATE" >> $UPDATEFILE else - CP=$(chirpw --version) - CHIRP=$(echo ${CP} | awk '{ print $2 }' | sed 's/daily-//') - NEWCHIRP=$(curl -s https://trac.chirp.danplanet.com/chirp_daily/LATEST/ | - grep .tar.gz | awk -F 'chirp-daily-' '{print $2}' | head -c 8) - - if (($(echo "${NEWCHIRP} ${CHIRP}" | awk '{print ($1 > $2)}'))); then - echo "CHIRP=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "CHIRP=is_latest_version" >> $UPDATEFILE - fi + echo "PATMENU=is_latest_version" >> $UPDATEFILE fi - } - #----------------------------------------------------# - # DIREWOLF - #----------------------------------------------------# - echo "Checking Direwolf" - if ! hash direwolf 2>/dev/null; then - echo "DIRE=Not_Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# Hot Spot Tools +#----------------------------------------------------# +if [ ! -d ${HOME}/hotspot-tools2 ]; then + echo "HSTOOLS=Not_Installed" >> $UPDATEFILE +else + CURRENT=$(cat ${HOME}/hotspot-tools2/changelog | grep version= | sed 's/version=//') + LATEST=$(curl -s https://raw.githubusercontent.com/km4ack/hotspot-tools2/master/changelog | grep version= | sed 's/version=//') + if (($(echo "${LATEST} ${CURRENT}" | awk '{print ($1 > $2)}'))); then + echo "HSTOOLS=NEEDS-UPDATE" >> $UPDATEFILE else - DIRE=$(direwolf -S -t 0 | head -1 | sed 's/Dire\ Wolf\ version\ //') - wget -P /tmp/ https://raw.githubusercontent.com/wb2osz/direwolf/master/CHANGES.md >/dev/null 2>&1 - NEWDIRE=$(cat /tmp/CHANGES.md | head -5 | tail -1 | awk '{ print $3 }') - - if (($(echo "${NEWDIRE} ${DIRE}" | awk '{print ($1 > $2)}'))); then - echo "DIRE=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "DIRE=is_latest_version" >> $UPDATEFILE - fi + echo "HSTOOLS=is_latest_version" >> $UPDATEFILE fi - #----------------------------------------------------# - # Pat Menu - #----------------------------------------------------# - echo "Checking Pat Menu" - if [ ! -d ${HOME}/patmenu2 ]; then - echo "PATMENU=Not_Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# GARIM +#----------------------------------------------------# +echo "Checking GARIM" +if ! hash garim 2>/dev/null; then + echo "GARIM=Not_Installed" >> $UPDATEFILE +else + GARIM=$(garim --version | head -n1 | awk -F ' ' '{print $2}') + NEWGARIM=$(curl -s https://www.whitemesa.net/garim/garim.html | grep -m 1 \ + "armv7l.tar.gz" | awk -F '-' '{print $2}') + if (($(echo "${NEWGARIM} ${GARIM}" | awk '{print ($1 > $2)}'))); then + echo "GARIM=NEEDS-UPDATE" >> $UPDATEFILE else - cd ${HOME}/patmenu2/ || ! echo "Failure" - wget -O ${HOME}/patmenu2/latest https://raw.githubusercontent.com/km4ack/patmenu2/master/changelog >/dev/null 2>&1 - LATEST=$(cat ${HOME}/patmenu2/latest | grep '^release' | sed 's/release=//') - CURRENT=$(cat ${HOME}/patmenu2/changelog | grep '^release' | sed 's/release=//') - rm ${HOME}/patmenu2/latest >/dev/null 2>&1 - if (($(echo "${LATEST} ${CURRENT}" | awk '{print ($1 > $2)}'))); then - echo "PATMENU=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "PATMENU=is_latest_version" >> $UPDATEFILE - fi + echo "GARIM=is_latest_version" >> $UPDATEFILE fi +fi - #----------------------------------------------------# - # Hot Spot Tools - #----------------------------------------------------# - if [ ! -d ${HOME}/hotspot-tools2 ]; then - echo "HSTOOLS=Not_Installed" >> $UPDATEFILE +#----------------------------------------------------# +# VARIM +#----------------------------------------------------# +echo "Checking VARIM" +if ! hash varim 2>/dev/null; then +echo "VARIM=Not_Installed" >> $UPDATEFILE +else +VARIM=$(varim --version | head -n1 | awk -F ' ' '{print $2}') +NEWVARIM=$(curl -s https://www.whitemesa.net/varim/varim.html | grep -m 1 \ + "armv7l.tar.gz" | awk -F '-' '{print $2}') +if (($(echo "${NEWVARIM} ${VARIM}" | awk '{print ($1 > $2)}'))); then + echo "VARIM=NEEDS-UPDATE" >> $UPDATEFILE +else + echo "VARIM=is_latest_version" >> $UPDATEFILE +fi +fi + +#----------------------------------------------------# +# XASTIR +#----------------------------------------------------# +echo "Checking Xastir" +if ! hash xastir 2>/dev/null; then +echo "XASTIR=Not_Installed" >> $UPDATEFILE +else +LATESTXAS=$(curl -s https://github.com/Xastir/Xastir | grep Release- | head -1 | sed 's/.*Release-//;s/">//') +CURRENTXAS=$(xastir -V | sed 's/Xastir V//;s/(.*//;/^\s*$/d') + + if (($(echo "${LATESTXAS} ${CURRENTXAS}" | awk '{print ($1 > $2)}'))); then + echo "XASTIR=NEEDS-UPDATE" >> $UPDATEFILE else - CURRENT=$(cat ${HOME}/hotspot-tools2/changelog | grep version= | sed 's/version=//') - LATEST=$(curl -s https://raw.githubusercontent.com/km4ack/hotspot-tools2/master/changelog | grep version= | sed 's/version=//') - if (($(echo "${LATEST} ${CURRENT}" | awk '{print ($1 > $2)}'))); then - echo "HSTOOLS=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "HSTOOLS=is_latest_version" >> $UPDATEFILE - fi + echo "XASTIR=is_latest_version" >> $UPDATEFILE fi +fi - #----------------------------------------------------# - # GARIM - #----------------------------------------------------# - echo "Checking GARIM" - if ! hash garim 2>/dev/null; then - echo "GARIM=Not_Installed" >> $UPDATEFILE +#----------------------------------------------------# +# YAAC +#----------------------------------------------------# +YAAC="${HOME}/YAAC" +echo "Checking YAAC for updates" +if [ ! -d "$YAAC" ]; then + echo "YAAC=Not_Installed" >> $UPDATEFILE +else + + CURYAAC=$(java -jar ${HOME}/YAAC/YAAC.jar -version | grep beta | sed 's/.*beta//;s/(.*//') + wget -q https://sourceforge.net/projects/yetanotheraprsc/files/YAACBuildLabel.txt -O /run/user/${UID}/latestyaac.txt + LATESTYAAC=$(cat /run/user/${UID}/latestyaac.txt | sed 's/1.0-beta//;s/(.*//') + if (($(echo "${LATESTYAAC} ${CURYAAC}" | awk '{print ($1 > $2)}'))); then + echo "YAAC=NEEDS-UPDATE" >> $UPDATEFILE else - GARIM=$(garim --version | head -n1 | awk -F ' ' '{print $2}') - NEWGARIM=$(curl -s https://www.whitemesa.net/garim/garim.html | grep -m 1 \ - "armv7l.tar.gz" | awk -F '-' '{print $2}') - if (($(echo "${NEWGARIM} ${GARIM}" | awk '{print ($1 > $2)}'))); then - echo "GARIM=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "GARIM=is_latest_version" >> $UPDATEFILE - fi + echo "YAAC=is_latest_version" >> $UPDATEFILE fi +fi - #----------------------------------------------------# - # XASTIR - #----------------------------------------------------# - echo "Checking Xastir" - if ! hash xastir 2>/dev/null; then - echo "XASTIR=Not_Installed" >> $UPDATEFILE +#----------------------------------------------------# +# PYQSO +#----------------------------------------------------# +if ! hash pyqso 2>/dev/null; then + echo "PYQSO=Not_Installed" >> $UPDATEFILE +else + echo "PYQSO=Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# QSSTV +#----------------------------------------------------# +if ! hash qsstv 2>/dev/null; then + echo "QSSTV=Not_Installed" >> $UPDATEFILE +else + echo "QSSTV=Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# GRIDTRACKER +#----------------------------------------------------# +GT="${HOME}/GridTracker" +if [ ! -d "$GT" ]; then + echo "GRIDTRACK=Not_Installed" >> $UPDATEFILE +else + echo "GRIDTRACK=Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# PROPAGATION +#----------------------------------------------------# +if ! hash voacapl 2>/dev/null; then + echo "PROP=Not_Installed" >> $UPDATEFILE +else + echo "PROP=Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# CQRLOG +#----------------------------------------------------# +if ! hash cqrlog 2>/dev/null; then + echo "CQRLOG=Not_Installed" >> $UPDATEFILE +else + echo "CQRLOG=Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# EES +#----------------------------------------------------# +if [ -f /var/www/html/email.php ]; then + echo "EES=Installed" >> $UPDATEFILE +else + echo "EES=Not_Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# Pi-APRS +#----------------------------------------------------# +if [ -d ${HOME}/Pi-APRS ]; then + echo "PIAPRS=Installed" >> $UPDATEFILE +else + echo "PIAPRS=Not_Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# Temp Convert +#----------------------------------------------------# +if [ -f ${HOME}/bin/converttemp ]; then + echo "TEMPCONVERT=Installed" >> $UPDATEFILE +else + echo "TEMPCONVERT=Not_Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# GPARTED +#----------------------------------------------------# +if ! hash gparted 2>/dev/null; then + echo "GPARTED=Not_Installed" >> $UPDATEFILE +else + echo "GPARTED=Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# DIPOLE CALCULATOR +#----------------------------------------------------# +if [ -f ${HOME}/bin/dipole ]; then + echo "DIPOLE=Installed" >> $UPDATEFILE +else + echo "DIPOLE=Not_Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# SHOWLOG | Log file viewer +#----------------------------------------------------# +if [ -f ${HOME}/bin/showlog ]; then + echo "SHOWLOG=Installed" >> $UPDATEFILE +else + echo "SHOWLOG=Not_Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# Call Sign Lookup GETCALL +#----------------------------------------------------# +if [ -f ${HOME}/bin/getcall ]; then + echo "CALLSIGN=Installed" >> $UPDATEFILE +else + echo "CALLSIGN=Not_Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# HamClock +#----------------------------------------------------# +HAMCLOCK=$(ls /usr/local/bin | grep hamclock) +if [ -n "$HAMCLOCK" ]; then + echo "HAMCLOCK=Installed" >> $UPDATEFILE +else + echo "HAMCLOCK=Not_Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# Real Time Clock +#----------------------------------------------------# +echo "RTC=Unknown" >> $UPDATEFILE + +#----------------------------------------------------# +# Gpredict +#----------------------------------------------------# +if ! hash gpredict 2>/dev/null; then + echo "GPREDICT=Not_Installed" >> $UPDATEFILE +else + echo "GPREDICT=Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# TQSL +#----------------------------------------------------# +if ! hash tqsl 2>/dev/null; then + echo "TQSL=Not_Installed" >> $UPDATEFILE +else + echo "TQSL=Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# PISTATS +#----------------------------------------------------# +if ! hash pistats 2>/dev/null; then + echo "PISTATS=Not_Installed" >> $UPDATEFILE +else + echo "PISTATS=Installed" >> $UPDATEFILE +fi + +#----------------------------------------------------# +# XLOG CHECK +#----------------------------------------------------# +if ! hash xlog 2>/dev/null; then + echo "XLOG=Not_Installed" >> $UPDATEFILE +else + + XLOGCUR=$(xlog -version | sed 's/xlog\ version\ //') + + XLOGLATEST=$(curl -s https://download.savannah.nongnu.org/releases/xlog/ | + grep "2.[0-9].[0-9][0-9].tar" | sort | tail -1 | sed 's/.*xlog/xlog/' | sed 's/.sig.*$//' | + sed 's/xlog-//' | sed 's/.tar.gz//') + + if (($(echo "${XLOGLATEST} ${XLOGCUR}" | awk '{print ($1 > $2)}'))); then + echo "XLOG=NEEDS-UPDATE" >> $UPDATEFILE else - LATESTXAS=$(curl -s https://github.com/Xastir/Xastir | grep Release- | head -1 | sed 's/.*Release-//;s/">//') - CURRENTXAS=$(xastir -V | sed 's/Xastir V//;s/(.*//;/^\s*$/d') - - if (($(echo "${LATESTXAS} ${CURRENTXAS}" | awk '{print ($1 > $2)}'))); then - echo "XASTIR=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "XASTIR=is_latest_version" >> $UPDATEFILE - fi + echo "XLOG=is_latest_version" >> $UPDATEFILE fi +fi - #----------------------------------------------------# - # YAAC - #----------------------------------------------------# - YAAC="${HOME}/YAAC" - echo "Checking YAAC for updates" - if [ ! -d "$YAAC" ]; then - echo "YAAC=Not_Installed" >> $UPDATEFILE - else - - CURYAAC=$(java -jar ${HOME}/YAAC/YAAC.jar -version | grep beta | sed 's/.*beta//;s/(.*//') - wget -q https://sourceforge.net/projects/yetanotheraprsc/files/YAACBuildLabel.txt -O /run/user/${UID}/latestyaac.txt - LATESTYAAC=$(cat /run/user/${UID}/latestyaac.txt | sed 's/1.0-beta//;s/(.*//') - if (($(echo "${LATESTYAAC} ${CURYAAC}" | awk '{print ($1 > $2)}'))); then - echo "YAAC=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "YAAC=is_latest_version" >> $UPDATEFILE - fi - fi - - #----------------------------------------------------# - # PYQSO - #----------------------------------------------------# - if ! hash pyqso 2>/dev/null; then - echo "PYQSO=Not_Installed" >> $UPDATEFILE - else - echo "PYQSO=Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # QSSTV - #----------------------------------------------------# - if ! hash qsstv 2>/dev/null; then - echo "QSSTV=Not_Installed" >> $UPDATEFILE - else - echo "QSSTV=Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # GRIDTRACKER - #----------------------------------------------------# - GT="${HOME}/GridTracker" - if [ ! -d "$GT" ]; then - echo "GRIDTRACK=Not_Installed" >> $UPDATEFILE - else - echo "GRIDTRACK=Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # PROPAGATION - #----------------------------------------------------# - if ! hash voacapl 2>/dev/null; then - echo "PROP=Not_Installed" >> $UPDATEFILE - else - echo "PROP=Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # CQRLOG - #----------------------------------------------------# - if ! hash cqrlog 2>/dev/null; then - echo "CQRLOG=Not_Installed" >> $UPDATEFILE - else - echo "CQRLOG=Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # EES - #----------------------------------------------------# - if [ -f /var/www/html/email.php ]; then - echo "EES=Installed" >> $UPDATEFILE - else - echo "EES=Not_Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # Pi-APRS - #----------------------------------------------------# - if [ -d ${HOME}/Pi-APRS ]; then - echo "PIAPRS=Installed" >> $UPDATEFILE - else - echo "PIAPRS=Not_Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # Temp Convert - #----------------------------------------------------# - if [ -f ${HOME}/bin/converttemp ]; then - echo "TEMPCONVERT=Installed" >> $UPDATEFILE - else - echo "TEMPCONVERT=Not_Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # GPARTED - #----------------------------------------------------# - if ! hash gparted 2>/dev/null; then - echo "GPARTED=Not_Installed" >> $UPDATEFILE - else - echo "GPARTED=Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # DIPOLE CALCULATOR - #----------------------------------------------------# - if [ -f ${HOME}/bin/dipole ]; then - echo "DIPOLE=Installed" >> $UPDATEFILE - else - echo "DIPOLE=Not_Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # SHOWLOG | Log file viewer - #----------------------------------------------------# - if [ -f ${HOME}/bin/showlog ]; then - echo "SHOWLOG=Installed" >> $UPDATEFILE - else - echo "SHOWLOG=Not_Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # Call Sign Lookup GETCALL - #----------------------------------------------------# - if [ -f ${HOME}/bin/getcall ]; then - echo "CALLSIGN=Installed" >> $UPDATEFILE - else - echo "CALLSIGN=Not_Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # HamClock - #----------------------------------------------------# - HAMCLOCK=$(ls /usr/local/bin | grep hamclock) - if [ -n "$HAMCLOCK" ]; then - echo "HAMCLOCK=Installed" >> $UPDATEFILE - else - echo "HAMCLOCK=Not_Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # Real Time Clock - #----------------------------------------------------# - echo "RTC=Unknown" >> $UPDATEFILE - - #----------------------------------------------------# - # Gpredict - #----------------------------------------------------# - if ! hash gpredict 2>/dev/null; then - echo "GPREDICT=Not_Installed" >> $UPDATEFILE - else - echo "GPREDICT=Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # TQSL - #----------------------------------------------------# - if ! hash tqsl 2>/dev/null; then - echo "TQSL=Not_Installed" >> $UPDATEFILE - else - echo "TQSL=Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # PISTATS - #----------------------------------------------------# - if ! hash pistats 2>/dev/null; then - echo "PISTATS=Not_Installed" >> $UPDATEFILE - else - echo "PISTATS=Installed" >> $UPDATEFILE - fi - - #----------------------------------------------------# - # XLOG CHECK - #----------------------------------------------------# - if ! hash xlog 2>/dev/null; then - echo "XLOG=Not_Installed" >> $UPDATEFILE - else - - XLOGCUR=$(xlog -version | sed 's/xlog\ version\ //') - - XLOGLATEST=$(curl -s https://download.savannah.nongnu.org/releases/xlog/ | - grep "2.[0-9].[0-9][0-9].tar" | sort | tail -1 | sed 's/.*xlog/xlog/' | sed 's/.sig.*$//' | - sed 's/xlog-//' | sed 's/.tar.gz//') - - if (($(echo "${XLOGLATEST} ${XLOGCUR}" | awk '{print ($1 > $2)}'))); then - echo "XLOG=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "XLOG=is_latest_version" >> $UPDATEFILE - fi - fi - - #----------------------------------------------------# - # JTDX - #----------------------------------------------------# - if ! hash jtdx 2>/dev/null; then - echo "JTDX=Not_Installed" >> $UPDATEFILE - else - echo "JTDX=Installed" >> $UPDATEFILE - fi - -} +#----------------------------------------------------# +# JTDX +#----------------------------------------------------# +if ! hash jtdx 2>/dev/null; then + echo "JTDX=Not_Installed" >> $UPDATEFILE +else + echo "JTDX=Installed" >> $UPDATEFILE +fi #----------------------------------------------------# # TELNET @@ -679,18 +686,18 @@ fi # PacketSearch #----------------------------------------------------# echo "Checking Packet Search" - if [ ! -f $HOME/bin/packetsearch ]; then - echo "PACKETSEARCH=Not_Installed" >> $UPDATEFILE - else - PACKETSEARCH=$(grep VERSION $HOME/bin/packetsearch | sed 's/VERSION=//') - NEWPACKETSEARCH=$(curl -s https://raw.githubusercontent.com/km4ack/pi-scripts/master/packetsearch | grep VERSION | sed 's/VERSION=//') +if [ ! -f $HOME/bin/packetsearch ]; then + echo "PACKETSEARCH=Not_Installed" >> $UPDATEFILE +else + PACKETSEARCH=$(grep VERSION /home/pi/bin/packetsearch | sed 's/VERSION=//' | head -n1) + NEWPACKETSEARCH=$(curl -s https://raw.githubusercontent.com/km4ack/pi-scripts/master/packetsearch | grep VERSION | sed 's/VERSION=//' | head -n1) - if (($(echo "${NEWFLNET} ${FLNET}" | awk '{print ($1 > $2)}'))); then - echo "PACKETSEARCH=NEEDS-UPDATE" >> $UPDATEFILE - else - echo "PACKETSEARCH=is_latest_version" >> $UPDATEFILE - fi + if (($(echo "${NEWPACKETSEARCH} ${PACKETSEARCH}" | awk '{print ($1 > $2)}'))); then + echo "PACKETSEARCH=NEEDS-UPDATE" >> $UPDATEFILE + else + echo "PACKETSEARCH=is_latest_version" >> $UPDATEFILE fi +fi #----------------------------------------------------# # piQtSoundModem @@ -709,10 +716,11 @@ 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 + if [ -z "$REPEAT_CURRENT_VER" ]; then + echo "REPEAT=Not_Installed" >> $UPDATEFILE + elif (($(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 \ No newline at end of file diff --git a/build-a-pi b/build-a-pi index 77e332b..108185b 100755 --- a/build-a-pi +++ b/build-a-pi @@ -295,7 +295,7 @@ for the Hot Spot\rNOTE: The last field is the password for the hotspot. You connect to your Pi when it is in hotspot mode This password can only contain letters and numbers" \ --title="Build-a-Pi" \ --field="Home Wifi SSID":CB "$LIST" \ - --field="Home Wifi Password" \ + --field="Home Wifi Password":H \ --field="Hot Spot Password" \ --button="Exit":1 \ --button="Continue":2 \ @@ -432,7 +432,7 @@ if [ ${BUT} = 252 ] || [ ${BUT} = 1 ]; then fi if [ ${BUT} = 3 ]; then - ADDAPPS=(CONKY PI-APRS CHIRP GARIM PAT PAT-MENU JS8CALL M0IAX WSJTX PYQSO + ADDAPPS=(CONKY PI-APRS CHIRP GARIM VARIM PAT PAT-MENU JS8CALL M0IAX WSJTX PYQSO HAMRS EES QSSTV GRIDTRACKER HAMCLOCK PROPAGATION YAAC XASTIR GPREDICT TQSL GRIDCALC CQRLOG REPEAT) @@ -462,7 +462,7 @@ if [ -n "$PATCHECK" ]; then --image ${LOGO} --window-icon=${LOGO} --image-on-top --separator="|" --item-separator="|" \ --text="version $VERSION" \ --field="Six Character Grid Square" \ - --field="Winlink Password" \ + --field="Winlink Password":H \ --field="Password is case sensitive":LBL \ --button="Continue":2) GRID=$(echo ${INFO} | awk -F "|" '{print $1}') @@ -483,6 +483,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \ false "PACKETSEARCH" "Winlink Packet Tool" \ false "CALLSIGN" "Call sign lookup" \ false "TEMPCONVERT" "Temperature Converter" \ + false "HDOCS" "Reference Materials PDFs" \ false "GPARTED" "Disk Utility Tool" \ false "SHOWLOG" "Log file viewer" \ false "PISTATS" "Pi3/4 Stats Monitor" \ @@ -504,7 +505,7 @@ if [ ${BUT} = 252 ] || [ ${BUT} = 1 ]; then fi if [ ${BUT} = 3 ]; then - UTILAPPS=(DIPOLE PACKETSEARCH CALLSIGN TEMPCONVERT GPARTED SHOWLOG PISTATS TELNET PITERM QTSOUND SECURITY YGATE BPQ BATT VNC XYGRIB) + UTILAPPS=(DIPOLE PACKETSEARCH CALLSIGN TEMPCONVERT HDOCS GPARTED SHOWLOG PISTATS TELNET PITERM QTSOUND SECURITY YGATE BPQ BATT VNC XYGRIB) for i in "${UTILAPPS[@]}"; do echo "$i" >>${UTILITY} done diff --git a/changelog b/changelog index 5017f02..aff4e93 100644 --- a/changelog +++ b/changelog @@ -1,5 +1,20 @@ -version=3.3.0 +version=3.3.2 +3.3.2 Fix WSJTX not installing - Thanks Michael Shriver! + Fix Chirp not installing + Chirp update check changed. See notes in app-check script. + Fix VARA check where Pi user was hard coded + Fix https://github.com/km4ack/pi-build/issues/477 +3.3.1 Fix Chirp not installing on 64bit OS - https://github.com/km4ack/pi-build/pull/452 + Fix Chirp version check + Fix QSSTV Install - https://github.com/km4ack/pi-build/issues/422 + Fix Repeat Start App Check - https://github.com/km4ack/pi-build/issues/450 + Add VARIM - https://github.com/km4ack/pi-build/pull/458 + Add reference docs - https://github.com/km4ack/pi-build/pull/446 + Cleanup app-check script + Fix VARA showing "not installed" when it was installed + Hide Passwords while typing. - Thanks Nullvibes! + Fix FLRIG not in flsuite sub category - Thanks lcgreenwald! 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 diff --git a/functions/additional.function b/functions/additional.function index 9061ea9..a94a224 100644 --- a/functions/additional.function +++ b/functions/additional.function @@ -51,7 +51,7 @@ PAT() { sudo systemctl start pat@${WHO} sudo systemctl enable pat@${WHO} cd ${DIR} - PAT_VERSION=$(pat version | awk '{print $2}' | sed 's/v0.//;s/.0//') + PAT_VERSION=$(pat version | awk '{print $2}' | awk -F "." '{print $2}') #The Pat Winlink config file will change location in version 0.12. The below if statement #checks to see which version is installed. #check to see if pat version is 12 or greater. Change config file location @@ -247,10 +247,11 @@ WSJTX() { 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/">.*$//' | head -1) + #credit to Michael Shriver for this fix + FT8PKG=$(curl -s https://wsjt.sourceforge.io/wsjtx.html | grep .tgz | sed 's|.*">\(.*\.tgz\)||') - LINK="https://github.com/goldstar611/chirp-appimage/releases/download/$CHIRPDATE/Chirp-daily-$CHIRPDATE-armhf.AppImage" + + #determine if 32/64 bit and set download link accordingly. issue #382 + if [ `getconf LONG_BIT` = '32' ]; then + + LINK="https://github.com/goldstar611/chirp-appimage/releases/download/$CHIRPDATE/Chirp-next-$CHIRPDATE-armhf.AppImage" + + else + + LINK="https://github.com/goldstar611/chirp-appimage/releases/download/$CHIRPDATE/Chirp-next-$CHIRPDATE-aarch64.AppImage" + + fi + wget $LINK - CHIRP=$(ls | grep Chirp-daily) + CHIRP=$(ls | grep Chirp-next) sudo mv $CHIRP /usr/local/bin/chirp sudo chmod +x /usr/local/bin/chirp @@ -473,6 +487,27 @@ GARIM() { rm *.gz } + +################################ +# VARIM +################################## +VARIM() { + sudo apt-get install -y libfltk1.1-dev + sudo apt-get install -y libfltk1.3-dev + VPKG=$(curl -s https://www.whitemesa.net/varim/src/ | grep tar.gz | tail -1 | sed 's/^.*varim/varim/' | sed 's/tar.gz.*$/tar.gz/') + cd ${BUILDDIR} || return + wget --tries 2 --connect-timeout=60 https://www.whitemesa.net/varim/src/$VPKG + tar -xzvf $VPKG + DIRR=$(echo $VPKG | sed 's/.tar.gz//') + cd ${DIRR} || return + ./configure + make + sudo make install + sudo make clean + cd ${BUILDDIR} || return + rm *.gz +} + ################################## # QSSTV ################################## @@ -481,19 +516,17 @@ QSSTV() { cd ${BUILDDIR} || return - TAR=$(curl -s http://users.telenet.be/on4qz/qsstv/downloads/ | grep tar.gz | sed 's/.*href="//' | sed 's/">.*$//' | tail -1) - wget --tries 2 --connect-timeout=60 http://users.telenet.be/on4qz/qsstv/downloads/$TAR - tar -xvzf $TAR - SSTVTAR=$(ls -d */ | grep qss) - cd $SSTVTAR || return + git clone https://github.com/ON4QZ/QSSTV + cd QSSTV/src || return + qmake make sudo make install sudo make clean cd ${BUILDDIR} || return - rm *.gz - mkdir -p /usr/local/share/pixmaps/ - sudo cp ${BUILDDIR}/${SSTVTAR}/icons/qsstv.png /usr/local/share/pixmaps/ + + sudo mkdir -p /usr/local/share/pixmaps/ + sudo cp ${BUILDDIR}/QSSTV/src/icons/qsstv.png /usr/local/share/pixmaps/ cat >qsstv.desktop <NOTE: The last field is the password for the hotspot. You connect to your Pi when it is in hotspot mode This password can only contain letters and numbers" \ --title="Build-a-Pi" \ --field="Home Wifi SSID":CB "${LIST}" \ - --field="Home Wifi Password" \ + --field="Home Wifi Password":H \ --field="Hot Spot Password" \ --button="Exit":1 \ --button="Continue":2 \ @@ -463,6 +463,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \ false "PAT-MENU" "$PATMENU" "Control for Pat Winlink" \ false "CHIRP" "$CHIRP" "Program Radios" \ false "GARIM" "$GARIM" "File Transfer Program " \ + false "VARIM" "$VARIM" "Radio Chat VARA" \ false "M0IAX" "$M0IAX" "Tools for JS8Call messages" \ false "CONKY" "$CONKY" "System Information Display" \ false "WSJTX" "$FT8" "Weak signal digital mode software" \ @@ -510,7 +511,7 @@ if [ -n "$PATCHECK" ]; then --image ${LOGO} --window-icon=${LOGO} --image-on-top --separator="|" --item-separator="|" \ --text="version $VERSION" \ --field="Six Character Grid Square" "$GRID" \ - --field="Winlink Password" \ + --field="Winlink Password":H \ --field="Password is case sensitive":LBL \ --button="Continue":2) GRID=$(echo $INFO | awk -F "|" '{print $1}') @@ -533,6 +534,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \ false "PACKETSEARCH" "$PACKETSEARCH" "Winlink Packet Tool" \ false "CALLSIGN" "${CALLSIGN}" "Call Sign Lookup Utility" \ false "TEMPCONVERT" "$TEMPCONVERT" "Temperature Converter" \ + false "HDOCS" "$HDOCS" "Reference Materials PDFs" \ false "GPARTED" "$GPARTED" "Disk Utility Application" \ false "RTC" "$RTC" "Real Time Clock" \ false "SHOWLOG" "$SHOWLOG" "Log File Viewer" \