diff --git a/build-a-pi b/build-a-pi index dba8734..2de368c 100755 --- a/build-a-pi +++ b/build-a-pi @@ -183,7 +183,7 @@ false "ARDOPGUI" "GUI for ARDOP" \ false "HAMLIB" "Needed for Rig Control" \ false "DIREWOLF" "Software TNC" \ false "AX25" "Data Link Layer Protocol" \ -false "PULSE" "Sound Server" \ +false "PULSE" "Pulse Audio Control Interface" \ --button="Exit":1 \ --button="Check All and Continue":3 \ --button="Next":2 > $BASE @@ -210,8 +210,7 @@ sudo rfkill unblock all > /dev/null 2>&1 sudo ifconfig wlan0 up #LIST=$(sudo iw dev "wlan0" scan ap-force | egrep "^BSS|SSID:" | grep SSID: | sed 's/SSID://' | awk '{ print $1 }') #LIST=$(echo $LIST | sed 's/ /|/g') -LIST=$(sudo iw dev "wlan0" scan ap-force | grep "SSID:" | awk '{print $2}') -LIST=$(echo "$LIST" | tr '\n' '|') +LIST=$(sudo iw dev "wlan0" scan ap-force | sed -ne 's/^.*SSID: \(..*\)/\1/p' | sort | uniq | paste -sd '|') HSINFO=$(yad --center --form --width=400 --height=400 --separator="|" --item-separator="|" \ @@ -422,6 +421,8 @@ false "YGATE" "Yaesu APRS Software" \ false "BPQ" "LinBPQ Software" \ false "BATT" "Battery Test Script" \ false "VNC" "VNC Client Application" \ +false "ZYGRIB" "Grib File Viewer" \ +false "GPSUPDATE" "Tool to Manage GPS Devices" \ --button="Exit":1 \ --button="Check All and Continue":3 \ --button="Install Selected":2 > $UTILITY @@ -431,7 +432,7 @@ exit fi if [ $BUT = 3 ]; then -UTILAPPS=(DIPOLE CALLSIGN TEMPCONVERT GPARTED SHOWLOG PISTATS TELNET PITERM SECURITY YGATE BPQ BATT VNC) +UTILAPPS=(DIPOLE CALLSIGN TEMPCONVERT GPARTED SHOWLOG PISTATS TELNET PITERM SECURITY YGATE BPQ BATT VNC ZYGRIB GPSUPDATE) for i in "${UTILAPPS[@]}" do echo "$i" >> $UTILITY @@ -447,7 +448,9 @@ sudo apt-get -y upgrade sudo apt -y full-upgrade #set wallpaper -pcmanfm --set-wallpaper $MYPATH/bap-wallpaper.jpg +#fix issue 193 +sudo cp bap-wallpaper.jpg /usr/share/rpd-wallpaper/ +pcmanfm --set-wallpaper /usr/share/rpd-wallpaper/bap-wallpaper.jpg mkdir -p $DIR 2> /dev/null diff --git a/changelog b/changelog index 035962b..435011c 100644 --- a/changelog +++ b/changelog @@ -1,4 +1,20 @@ -version=3.0.5 +version=3.0.6 + +3.0.6 Remove Pulse audio install https://github.com/km4ack/pi-build/issues/186 + Add Support for SSID with spaces Merge https://github.com/km4ack/pi-build/pull/184 + Fix BPQ desktop note to correctly indicate where config generator is located + Fix wifi names with spaces issue (Thanks Kuperman!) https://github.com/km4ack/pi-build/pull/182 + Build CQRLOG from source https://github.com/km4ack/pi-build/issues/102 (Thanks Rico!) + Moved BAP wallpaper to /usr/share/rpd-wallpaper https://github.com/km4ack/pi-build/issues/193 + Add zygrib https://github.com/km4ack/pi-build/issues/190 + Build xastir from source + update xastir version check in update script + fix wsjtx 2.3.0 install issue https://github.com/km4ack/pi-build/issues/209 + add new GPS update tool + update conky for better GPS support + change hamlib download to dynamic / upgrade to 4.0 + fix YAAC not updating + fix issue #181 https://github.com/km4ack/pi-build/issues/181 3.0.5 Fix RTC https://github.com/km4ack/pi-build/issues/139 Add Telnet https://github.com/km4ack/pi-build/issues/129 diff --git a/conky/.conkyrc b/conky/.conkyrc index b9149f5..a303d10 100644 --- a/conky/.conkyrc +++ b/conky/.conkyrc @@ -35,7 +35,7 @@ conky.text = [[ ${voffset 15} ${font Arial:size=30}${color Yellow}${alignc}N0CALL ${voffset -45} -${font Arial:bold:size=18}${color White}Gridsquare ${alignr}${color Yellow}${execi 25 $HOME/bin/conky/grid | cut -c1-8} +${font Arial:bold:size=18}${color White}Gridsquare ${alignr}${color Yellow}${execi 60 cat /run/user/1000/gridinfo.txt | cut -c1-8} #${font Arial:bold:size=18}${color White}Radio Freq ${alignr}${color Yellow}${execi 5 $HOME/bin/conky/get-freq | cut -c1-6} #${font Arial:bold:size=18}${color White}Radio Freq A ${if_match "VFOA" == "${execi 5 $HOME/bin/conky/get-vfo}"}*$endif\ #${alignr}${color Yellow}${execi 5 $HOME/bin/conky/get-freq VFOA | cut -c1-7} diff --git a/conky/conky-7inch b/conky/conky-7inch index 7f71880..a61d6a7 100644 --- a/conky/conky-7inch +++ b/conky/conky-7inch @@ -31,7 +31,7 @@ TEXT ${font Arial:size=12}${color Yellow}${alignc}N0CALL ${voffset -30} -${font Arial:bold:size=08}${color White}Gridsquare ${alignr}${color Yellow}${execi 25 $HOME/bin/conky/grid | cut -c1-8} +${font Arial:bold:size=08}${color White}Gridsquare ${alignr}${color Yellow}${execi 60 cat /run/user/1000/gridinfo.txt | cut -c1-8} #${font Arial:bold:size=12}${color White}Radio Freq ${alignr}${color Yellow}${execi 5 $HOME/bin/conky/get-freq | cut -c1-6} ${color Yellow}LOCAL${alignr}ZULU ${voffset -20} diff --git a/conky/conky-large b/conky/conky-large index 2ab645d..a51f840 100644 --- a/conky/conky-large +++ b/conky/conky-large @@ -35,7 +35,7 @@ conky.text = [[ ${voffset 15} ${font Arial:size=30}${color Yellow}${alignc}N0CALL ${voffset -45} -${font Arial:bold:size=18}${color White}Gridsquare ${alignr}${color Yellow}${execi 25 $HOME/bin/conky/grid | cut -c1-8} +${font Arial:bold:size=18}${color White}Gridsquare ${alignr}${color Yellow}${execi 60 cat /run/user/1000/gridinfo.txt | cut -c1-8} #${font Arial:bold:size=18}${color White}Radio Freq ${alignr}${color Yellow}${execi 5 $HOME/bin/conky/get-freq | cut -c1-6} #${font Arial:bold:size=18}${color White}Radio Freq A ${if_match "VFOA" == "${execi 5 $HOME/bin/conky/get-vfo}"}*$endif\ #${alignr}${color Yellow}${execi 5 $HOME/bin/conky/get-freq VFOA | cut -c1-7} diff --git a/conky/conky-medium b/conky/conky-medium index 7b2327e..ab24ac9 100644 --- a/conky/conky-medium +++ b/conky/conky-medium @@ -34,7 +34,7 @@ conky.text = [[ ${font Arial:size=18}${color Yellow}${alignc}N0CALL ${voffset -25} -${font Arial:bold:size=12}${color White}Gridsquare ${alignr}${color Yellow}${execi 25 $HOME/bin/conky/grid | cut -c1-8} +${font Arial:bold:size=12}${color White}Gridsquare ${alignr}${color Yellow}${execi 60 cat /run/user/1000/gridinfo.txt | cut -c1-8} #${font Arial:bold:size=12}${color White}Radio Freq ${alignr}${color Yellow}${execi 5 $HOME/bin/conky/get-freq | cut -c1-6} #${font Arial:bold:size=12}${color White}Radio Freq A ${if_match "VFOA" == "${execi 5 $HOME/bin/conky/get-vfo}"}*$endif\ #${alignr}${color Yellow}${execi 5 $HOME/bin/conky/get-freq VFOA | cut -c1-7} diff --git a/conky/conky-small b/conky/conky-small index b6ce8dc..716827f 100644 --- a/conky/conky-small +++ b/conky/conky-small @@ -34,7 +34,7 @@ conky.text = [[ ${font Arial:size=12}${color Yellow}${alignc}N0CALL ${voffset -20} -${font Arial:bold:size=08}${color White}Gridsquare ${alignr}${color Yellow}${execi 25 $HOME/bin/conky/grid | cut -c1-8} +${font Arial:bold:size=08}${color White}Gridsquare ${alignr}${color Yellow}${execi 60 cat /run/user/1000/gridinfo.txt | cut -c1-8} #${font Arial:bold:size=12}${color White}Radio Freq ${alignr}${color Yellow}${execi 5 $HOME/bin/conky/get-freq | cut -c1-6} #${font Arial:bold:size=12}${color White}Radio Freq A ${if_match "VFOA" == "${execi 5 $HOME/bin/conky/get-vfo}"}*$endif\ #${alignr}${color Yellow}${execi 5 $HOME/bin/conky/get-freq VFOA | cut -c1-7} diff --git a/conky/grid b/conky/grid index 3071683..5cb0de8 100644 --- a/conky/grid +++ b/conky/grid @@ -1,11 +1,16 @@ #!/bin/bash +#script get maidenhead from GPS for display in conky +#called by cronjob +#04FEB2021 KM4ACK + GRID=$($HOME/bin/conky/get-grid) GRIDCH=$(echo $GRID | grep -i JJ00) +FILE=/run/user/$UID/gridinfo.txt if [ -z "$GRIDCH" ] then -echo $GRID +echo $GRID > $FILE else -echo "NO GPS" -fi +echo "NO GPS" > $FILE +fi \ No newline at end of file diff --git a/functions/additional.function b/functions/additional.function index bdd6655..72f0a5b 100644 --- a/functions/additional.function +++ b/functions/additional.function @@ -97,6 +97,10 @@ WSJTXSUCCESS=$? sudo dpkg -i $WSPKG sudo apt-get --fix-broken -y install sudo dpkg -i $WSPKG +#added to fix WSJTX 2.3.0 +sudo sed -i "s/# en_US.UTF-8/en_US.UTF-8/g" /etc/locale.gen +sudo locale-gen +#end edit for WSJTX 2.3.0 #try sourcegorge if princeton.edu fails WSJTX2(){ if [ "$WSJTXSUCCESS" ! = 0 ]; then @@ -130,7 +134,9 @@ mkdir -p $HOME/bin/conky cp $MYPATH/conky/* $HOME/bin/conky/ chmod +x $HOME/bin/conky/get-grid $HOME/bin/conky/temp-conv $HOME/bin/conky/get-freq $HOME/bin/conky/grid sed -i "s/N0CALL/$CALL/" $HOME/.conkyrc -#echo "@reboot sleep 20 && export DISPLAY=:0 && /usr/bin/conky" >> $TEMPCRON +#Line below is for https://github.com/km4ack/pi-build/issues/198 +echo "#Update GPS maidenhead for conky" >> $TEMPCRON +echo "*/1 * * * * /home/pi/bin/conky/grid" >> $TEMPCRON #Create files needed for autostart at login #Fix issue https://github.com/km4ack/pi-build/issues/83 @@ -206,7 +212,40 @@ sudo apt-get install -y pyqso # CQRLOG ################################## CQRLOG(){ -sudo apt-get install -y cqrlog +#sudo apt-get install -y cqrlog +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 \ +fp-units-misc fp-units-rtl fp-utils fpc fpc-source libssl-dev default-mysql-client-core default-mysql-server \ +default-mysql-server-core galera-3 gawk libcgi-fast-perl libcgi-pm-perl libconfig-inifiles-perl libdbd-mysql-perl \ +libdbi-perl libencode-locale-perl libfcgi-perl libhamlib-utils libhamlib2 libhtml-parser-perl libhtml-tagset-perl \ +libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl \ +libmariadb-dev-compat libnetpbm10 libreadline5 libterm-readkey-perl libtimedate-perl liburi-perl \ +mariadb-client-10.3 mariadb-client-core-10.3 mariadb-server-10.3 mariadb-server-core-10.3 socat xplanet xplanet-images + +sudo ln -s /usr/lib/arm-linux-gnueabihf/libmariadbclient.so /usr/lib/libmysqlclient.so + +cd +git clone https://github.com/ok2cqr/cqrlog.git +cd cqrlog +make +sudo make install +cd .. +rm -rf cqrlog + +cat > cqrlog.desktop < xastir.desktop <> $FILE ################################ HAMLIB(){ cd $DIR -wget --tries 2 --connect-timeout=60 https://sourceforge.net/projects/hamlib/files/hamlib/3.3/hamlib-3.3.tar.gz -tar -xzf $DIR/hamlib-3.3.tar.gz -rm $DIR/hamlib-3.3.tar.gz -cd $DIR/hamlib-3.3 +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}') +HAMLIBLINK=https://sourceforge.net/projects/hamlib/files/hamlib/$NEWRIG/hamlib-$NEWRIG.tar.gz +cd $HOME/Downloads +echo "###################################" +echo "# Installing Hamlib " +echo "###################################" +wget --tries 2 --connect-timeout=60 $HAMLIBLINK + +tar -xzf hamlib-$NEWRIG.tar.gz +rm hamlib-$NEWRIG.tar.gz +cd hamlib-$NEWRIG ./configure make sudo make install @@ -152,10 +161,9 @@ sudo apt-get install -y ax25-apps } ################################ -# PULSE AUDIO +# PULSE AUDIO Control ################################ PULSE(){ -sudo apt-get install -y pulseaudio sudo apt-get install -y pavucontrol } diff --git a/functions/utility.function b/functions/utility.function index d3349a2..45e8dfb 100644 --- a/functions/utility.function +++ b/functions/utility.function @@ -362,7 +362,7 @@ touch $FILE cat << EOF > $FILE LinBPQ was installed during the build. You will find the config file generator -under utilities in the main pi menu. +under accessories in the main pi menu. NO CONFIGURATION was done for LinBPQ during the build. Each individual operator is responsible for configuring @@ -421,9 +421,35 @@ sudo dpkg -i $PACKAGE rm $PACKAGE } - - - +################################## +# ZYGRIB Viewer +################################## +ZYGRIB(){ +sudo apt install -y zygrib +sudo apt install -y zygrib-maps +} + +################################## +# GPS update tool +################################## +GPSUPDATE(){ +cd $HOME/bin +wget https://raw.githubusercontent.com/km4ack/pi-scripts/master/gpsupdate +chmod +x gpsupdate + +cat > gpsupdate.desktop </dev/null; then +if ! hash pavucontrol 2>/dev/null; then PULSE="Not Installed" else PULSE="Installed" @@ -453,12 +458,15 @@ fi #----------------------------------------------------# # XASTIR #----------------------------------------------------# -XA="/usr/bin/xastir" -if [ ! -f "$XA" ]; then -XASTIR="Not Installed" -else -XASTIR="Installed" -fi +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 + XASTIR=NEEDS-UPDATE + else + XASTIR="is_latest_version" + fi #----------------------------------------------------# # YAAC @@ -467,7 +475,16 @@ YAAC="$HOME/YAAC" if [ ! -d "$YAAC" ]; then YAAC="Not Installed" else -YAAC="Installed" +echo "Checking YAAC for updates" +CURYAAC=$(java -jar $HOME/YAAC/YAAC.jar -version | grep core | awk '{print $7}' | sed 's/(.*//;s/1.0-beta//') +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 + YAAC=NEEDS-UPDATE + else + YAAC="is_latest_version" + fi fi #----------------------------------------------------# @@ -719,6 +736,32 @@ else VNC="Installed" fi +#----------------------------------------------------# +# ZYGRIB Viewer +#----------------------------------------------------# +if [ -f /usr/share/zygrib ]; then +ZYGRIB=Installed +else +ZYGRIB="Not Installed" +fi + +#----------------------------------------------------# +# GPS UPDATE TOOL +#----------------------------------------------------# +echo "Checking GPS Update Tool" +if [ ! -f $HOME/bin/gpsupdate ]; then +GPSUPDATE="Not_Installed" +else +GPSUPDATE=$(grep VERSION= $HOME/bin/gpsupdate | sed 's/VERSION=//') +NEWGPSUPDATE=$(curl -s https://raw.githubusercontent.com/km4ack/pi-scripts/master/gpsupdate | grep VERSION= | sed 's/VERSION=//') + if (( $(echo "$NEWGPSUPDATE $GPSUPDATE" | awk '{print ($1 > $2)}') )) + then + GPSUPDATE=NEEDS-UPDATE + else + GPSUPDATE="is_latest_version" + fi +fi + CHECK #################################################################### #################################################################### @@ -795,8 +838,10 @@ HSINFO(){ sudo rfkill unblock all > /dev/null 2>&1 #bring wifi up sudo ifconfig wlan0 up -LIST=$(sudo iw dev "wlan0" scan ap-force | egrep "^BSS|SSID:" | grep SSID: | sed 's/SSID://' | awk '{ print $1 }') -LIST=$(echo $LIST | sed 's/ /|/g') +#LIST=$(sudo iw dev "wlan0" scan ap-force | egrep "^BSS|SSID:" | grep SSID: | sed 's/SSID://' | awk '{ print $1 }') +#LIST=$(echo $LIST | sed 's/ /|/g') +#Thanks to https://github.com/kuperman for fixing wifi space issue with line below. +LIST=$(sudo iw dev "wlan0" scan ap-force | sed -ne 's/^.*SSID: \(..*\)/\1/p' | sort | uniq | paste -sd '|') HSINFO=$(yad --center --form --width=400 --height=400 --separator="|" --item-separator="|" \ --image $LOGO --column=Check --column=App --column=Description \ @@ -990,6 +1035,8 @@ false "YGATE" "$YGATE" "Yaesu APRS Software" \ false "BPQ" "$BPQ" "LinBPQ Software" \ false "BATT" "$BATT" "Battery Test Script" \ false "VNC" "$VNC" "VNC Viewer Application" \ +false "ZYGRIB" "$ZYGRIB" "Grib File Viewer" \ +false "GPSUPDATE" "$GPSUPDATE" "Tool to Manage GPS Devices" \ --button="Exit":1 \ --button="Install/Update Selected":2 > $UTILITY BUT=$?