Merge branch 'dev' of github.com:km4ack/pi-build into dev

pull/367/head
KM4ACK 2021-12-22 11:04:04 -06:00
commit c65f58d717
14 zmienionych plików z 353 dodań i 125 usunięć

Wyświetl plik

@ -2,7 +2,7 @@
#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
if [ -f $UPDATEFILE ]; then
@ -609,12 +609,12 @@ else
fi
#----------------------------------------------------#
# ZYGRIB Viewer
# XYGRIB Viewer
#----------------------------------------------------#
if [ -f /usr/bin/zyGrib ]; then
echo "ZYGRIB=Installed" >> $UPDATEFILE
if [ -f /usr/bin/XyGrib ]; then
echo "XYGRIB=Installed" >> $UPDATEFILE
else
echo "ZYGRIB=Not_Installed" >> $UPDATEFILE
echo "XYGRIB=Not_Installed" >> $UPDATEFILE
fi
#----------------------------------------------------#

Wyświetl plik

@ -57,6 +57,49 @@ EOF
exit 0
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
clear
echo
@ -334,7 +377,6 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \
false "M0IAX" "Tools for JS8Call Messages" \
false "WSJTX" "Weak Signal Digital Mode Software" \
false "PYQSO" "Logging Software" \
false "CQRLOG" "Logging Software" \
false "HAMRS" "Logging Software" \
false "EES" "KM4ACK Emergency Email Server" \
false "QSSTV" "Slow Scan TV" \
@ -356,7 +398,7 @@ fi
if [ ${BUT} = 3 ]; then
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)
for i in "${ADDAPPS[@]}"; do
@ -417,7 +459,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \
false "BPQ" "LinBPQ Software" \
false "BATT" "Battery Test Script" \
false "VNC" "VNC Client Application" \
false "ZYGRIB" "Grib File Viewer" \
false "XYGRIB" "Grib File Viewer" \
--button="Exit":1 \
--button="Check All and Continue":3 \
--button="Install Selected":2 >${UTILITY}
@ -427,7 +469,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 ZYGRIB)
UTILAPPS=(DIPOLE PACKETSEARCH CALLSIGN TEMPCONVERT GPARTED SHOWLOG PISTATS TELNET PITERM QTSOUND SECURITY YGATE BPQ BATT VNC XYGRIB)
for i in "${UTILAPPS[@]}"; do
echo "$i" >>${UTILITY}
done
@ -472,7 +514,7 @@ cat >tempsound <<EOF
options snd-bcm2835 index=0
#USB soundcard
options snd-usb-audio index=2
options snd-usb-audio index=3
EOF
sudo chown root:root tempsound
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
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
crontab ${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."
#reboot when done

Wyświetl plik

@ -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
fix variable in menu-update script

Wyświetl plik

@ -60,7 +60,7 @@ ${font}
${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}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}
${font Arial:bold:size=10}${color White}CPU${alignr}${cpu}%
${cpubar cpu}

Wyświetl plik

@ -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}Uptime $alignr${uptime}
#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}
${font Arial:bold:size=6}${color White}CPU${alignr}${cpu}%
${cpubar cpu}

Wyświetl plik

@ -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}Uptime $alignr${uptime}
#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}
${font Arial:bold:size=10}${color White}CPU${alignr}${cpu}%
${cpubar cpu}

Wyświetl plik

@ -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}Uptime $alignr${uptime}
#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}
${font Arial:bold:size=8}${color White}CPU${alignr}${cpu}%
${cpubar cpu}

Wyświetl plik

@ -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}Uptime $alignr${uptime}
#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}
${font Arial:bold:size=6}${color White}CPU${alignr}${cpu}%
${cpubar cpu}

Wyświetl plik

@ -39,7 +39,7 @@ echo
sed -i '/vcgencmd/d' $TEMPFILE
#add cel line
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
#delete F line
@ -47,14 +47,14 @@ echo
sed -i '/vcgencmd/d' $TEMPFILE
#add cel line
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
#delete F line
sed -i '/vcgencmd/d' $TEMPFILE
#add cel line
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
#delete F line
@ -62,7 +62,7 @@ echo
sed -i '/vcgencmd/d' $TEMPFILE
#add cel line
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
cp $TEMPFILE $HOME/.conkyrc

Wyświetl plik

@ -211,7 +211,14 @@ uname -a >>${DIR}/systeminfo.txt
cat ${HOME}/direwolf.conf >${DIR}/direwolf.conf
#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
sed -i 's/"secure_login_password":.*$/PASSWORD-REMOVED-FOR-YOUR-SECURITY/' ${DIR}/patconfig.txt

Wyświetl plik

@ -81,9 +81,35 @@ PAT-MENU() {
rm -rf "${HOME}/patmenu2"
fi
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/1,0/2,0/g' ${HOME}/patmenu2/config
sed -i 's/1,0/3,0/g' ${HOME}/patmenu2/config
#restore config files
if [ -d ${DIR}/patconfig/ ]; then
mv ${DIR}/patconfig/* ${HOME}/patmenu2/
@ -93,41 +119,147 @@ PAT-MENU() {
# JS8Call
##################################
JS8CALL() {
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}
#find how much memory we are working with
FREEMEM=$(free -m | grep Mem: | awk '{ print $2 }')
echo ${FREEMEM}
##################################
# 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() {
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
#find how much memory we are working with
FREEMEM=$(free -m | grep Mem: | awk '{ print $2 }')
echo ${FREEMEM}
##################################
# 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
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
sudo sed -i "s/# en_US.UTF-8/en_US.UTF-8/g" /etc/locale.gen
sudo locale-gen
#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
cd ${DIR}
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 apt-get --fix-broken -y install
sudo dpkg -i wsjtx_2.2.2_armhf.deb
fi
}
WSJTX2
#WSJTX2() {
# if [ "$WSJTXSUCCESS" ! = 0 ]; then
# cd ${DIR}
# 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 apt-get --fix-broken -y install
# sudo dpkg -i wsjtx_2.2.2_armhf.deb
# fi
#}
#WSJTX2
}
@ -140,7 +272,7 @@ CONKY() {
fi
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
sudo apt-get install -y ruby2.5
sudo apt-get install -y ruby2.7
sudo gem install gpsd_client
sudo gem install maidenhead
cp ${MYPATH}/conky/.conkyrc ${HOME}/.conkyrc
@ -220,13 +352,18 @@ EOF
##################################
PYQSO() {
sudo apt-get install -y pyqso
}
##################################
# 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 \
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 \
@ -260,6 +397,7 @@ Categories=HamRadio;Utility
EOF
sudo mv cqrlog.desktop /usr/share/applications/
}
}
@ -267,6 +405,11 @@ EOF
# CHIRP
##################################
CHIRP() {
sudo apt install -y chirp
OLDCODE(){
#left for reference
cd ${DIR} || return
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/[<].*$//')
@ -280,6 +423,7 @@ CHIRP() {
sudo python setup.py install
pip install future
}
}
##################################
# GARIM
@ -303,7 +447,7 @@ GARIM() {
# 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
@ -318,6 +462,8 @@ QSSTV() {
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/
cat >qsstv.desktop <<EOF
[Desktop Entry]
@ -325,7 +471,7 @@ Name=QSSTV
Comment=Slow Scan TV
GenericName=QSSTV
Exec=/usr/local/bin/qsstv
Icon=${HOME}/GridTracker/gridtracker.png
Icon=qsstv.png
Type=Application
Terminal=false
Categories=HamRadio;
@ -400,7 +546,7 @@ YAAC() {
cd ${DIR} || return
#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
sudo apt-get install -y openjdk-8-jre librxtx-java
sudo apt-get install -y librxtx-java openjdk-10-dbg
mkdir -p ${HOME}/YAAC
cd ${HOME}/YAAC || return
touch YAAC
@ -469,10 +615,10 @@ EOF
EES() {
#install PHP7.3 if not installed
#install PHP7.4 if not installed
#this will also install apache2
if ! hash php7.3 2>/dev/null; then
sudo apt install -y php7.3
if ! hash php7.4 2>/dev/null; then
sudo apt install -y php7.4
fi
#install ghostwriter if needed
#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
cd ${DIR} || return
#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
sudo killall pat
@ -608,7 +754,7 @@ GPREDICT() {
# 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
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

Wyświetl plik

@ -58,14 +58,21 @@ HSTOOLS() {
GPS() {
cd ${BUILDDIR} || return
#old gpsd install left for reference
#wget --tries 2 --connect-timeout=60 https://raw.githubusercontent.com/km4ack/pi-scripts/master/gpsinstall
#chmod +x ${DIR}/gpsinstall
#sudo ${DIR}/gpsinstall
#rm ${DIR}/gpsinstall
echo "##########################"
echo "# Installing GPS #"
echo "##########################"
sudo apt install -y python3-gps gpsd-tools gpsd-clients gpsd chrony python3-gi-cairo
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
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
cd ${BUILDDIR}
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
fi
#end gpsd change 11OCT2021
}
#Set GPS by serial ID
#GPS Variable set by main script or update script and placed in config file
@ -149,7 +157,7 @@ EOF
HAMLIB() {
PACKAGE=hamlib
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
NEWRIG=$(curl -s https://sourceforge.net/projects/hamlib/files/latest/download |
grep -o https://downloads.sourceforge.net/project/hamlib/hamlib/[0-9].[0-9] |
@ -185,7 +193,7 @@ DIREWOLF() {
make install-conf
sudo make clean
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
}

Wyświetl plik

@ -193,13 +193,13 @@ PISTATS() {
wget http://www.w1hkj.com/PI/${CUR}
tar -xzvf ${CUR}
rm ${CUR}
PISTATDIR=$(ls ${HOME} | grep pistats)
PISTATDIR=$(ls ${BUILDDIR} | grep pistats)
cd ${PISTATDIR} || return
sudo apt-get install -y libfltk1.3-dev
make
make clean
sudo mv pistats /usr/local/bin
sudo mv ${BUILDDIR}/${PISTATDIR}/data/pistats.desktop /usr/share/applications/
make clean
cd ${HOME} || return
}
@ -417,11 +417,11 @@ VNC() {
}
##################################
# ZYGRIB Viewer
# XYGRIB Viewer
##################################
ZYGRIB() {
sudo apt install -y zygrib
sudo apt install -y zygrib-maps
XYGRIB() {
sudo apt install -y xygrib
}
##################################
@ -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
QTSOUND(){
sudo apt install libqt5serialbus5
sudo apt install -y libqt5serialport5
cd ${HOME}/Downloads || return
wget --tries 2 --connect-timeout=60 https://www.cantab.net/users/john.wiseman/Downloads/Beta/piQtSoundModem
chmod +x piQtSoundModem

74
update
Wyświetl plik

@ -45,6 +45,49 @@ FINISH() {
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
#fix issue 108 https://github.com/km4ack/pi-build/issues/108
#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 "PI-APRS" "$PIAPRS" "APRS Messaging Client" \
false "PYQSO" "$PYQSO" "Logging Software" \
false "CQRLOG" "$CQRLOG" "Logging Software" \
false "HAMRS" "$HAMRS" "Logging Software" \
false "QSSTV" "$QSSTV" "Slow scan TV" \
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 "BATT" "$BATT" "Battery Test Script" \
false "VNC" "$VNC" "VNC Viewer Application" \
false "ZYGRIB" "$ZYGRIB" "Grib File Viewer" \
false "XYGRIB" "$XYGRIB" "Grib file viewer" \
--button="Exit":1 \
--button="Install/Update Selected":2 >${UTILITY}
BUT=$?
@ -571,34 +613,14 @@ bash ${HOME}/pi-build/menu-update
#Remove temp files
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
crontab ${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
yad --width=400 --height=200 --title="Reboot" --image ${LOGO} \
--text-align=center --skip-taskbar --image-on-top \