pull/147/head
KM4ACK 2020-08-21 17:47:55 -05:00
commit a37caf7e6d
9 zmienionych plików z 74 dodań i 77 usunięć

Wyświetl plik

@ -1,6 +1,6 @@
#!/bin/bash
MYPATH=$HOME/pi-build
MYPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
LOGO=$MYPATH/logo.png
cat <<EOF > $MYPATH/boot.txt

Wyświetl plik

@ -2,7 +2,7 @@
#20200515 km4ack
MYPATH=$HOME/pi-build
MYPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
LOGO=$MYPATH/logo.png

1
.gitignore vendored
Wyświetl plik

@ -1 +1,2 @@
.vscode/
config

Wyświetl plik

@ -13,9 +13,9 @@
DESK=$(printenv | grep DISPLAY)
MYPATH=$HOME/pi-build
MYPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
LOGO=$MYPATH/logo.png
RB=$( ls $HOME/.config | grep KM4ACK)
RB=$HOME/.config/KM4ACK
BASE=$MYPATH/base.txt
ADDITIONAL=$MYPATH/additional.txt
UTILITY=$MYPATH/utility.txt
@ -25,7 +25,7 @@ FUNCTIONS=$MYPATH/functions
TEMPCRON=$MYPATH/cron.tmp
DIR=$MYPATH/temp
WHO=$(whoami)
VERSION=$(cat $MYPATH/changelog | grep version= | sed 's/version=//')
VERSION=$(grep "version=" $MYPATH/changelog | sed 's/version=//')
FINISH(){
if [ -f "$BASE" ]; then
@ -75,7 +75,7 @@ sudo apt-get update
#####################################
# Check if run before
#####################################
if [ -n "$RB" ]; then
if [ -f "$RB" ]; then
bash $MYPATH/update &
exit
fi
@ -139,17 +139,31 @@ CALL
CALL=$(echo $INFO | awk -F "|" '{print $1}')
CALL=${CALL^^}
echo "CALL=$CALL" > $CONFIG
#Verify call not empty
if [ -z "$CALL" ]; then
yad --form --width=420 --text-align=center --center --title="Build-a-Pi" --text-align=center \
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
--text="<b>Call Can't be Blank</b>" \
--button=gtk-ok
CALL
fi
ATTEMPTS=0
while [ -z "$CALL" ];
do
if [ $ATTEMPTS -eq 3 ]
then
yad --form --width=420 --text-align=center --center --title="Build-a-Pi" --text-align=center \
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
--text="<b>Empty callsign after 3 attempts. Quiting!</b>" \
--button=gtk-ok
exit
fi
yad --form --width=420 --text-align=center --center --title="Build-a-Pi" --text-align=center \
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
--text="<b>Call Can't be Blank</b>" \
--button=gtk-ok
((ATTEMPTS=ATTEMPTS+1))
CALL
CALL=$(echo $INFO | awk -F "|" '{print $1}')
CALL=${CALL^^}
done
echo "CALL=$CALL" > $CONFIG
#####################################
# Base Apps
@ -183,10 +197,8 @@ echo "$i" >> $BASE
done
fi
#############################################################
#check if hotspot is chosen for install & get info if needed#
#############################################################
HS=$(cat $BASE | grep HOTSPOT)
#check if hotspot is chosen for install & get info if needed
HS=$(grep "HOTSPOT" $BASE)
if [ -n "$HS" ]; then
HSINFO(){
#unblock wifi
@ -195,7 +207,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 | egrep "^BSS|SSID:" | grep SSID: | sed 's/SSID://')
LIST=$(sudo iw dev "wlan0" scan ap-force | grep "SSID:" | awk '{print $2}')
LIST=$(echo "$LIST" | tr '\n' '|')
@ -356,7 +368,7 @@ done
fi
#check if hamclock is being installed
HCCHECK=$(cat $ADDITIONAL | grep HAMCLOCK)
HCCHECK=$(grep "HAMCLOCK" $ADDITIONAL)
if [ -n "$HCCHECK" ]; then
HC=$(yad --form --width=420 --text-align=center --center --title="Build-a-Pi" \
@ -369,7 +381,7 @@ sed -i 's/HAMCLOCK//' $ADDITIONAL
echo $HC >> $ADDITIONAL
fi
PATCHECK=$(cat $ADDITIONAL | grep PAT)
PATCHECK=$(grep "PAT" $ADDITIONAL)
if [ -n "$PATCHECK" ]; then
INFO=$(yad --form --width=420 --text-align=center --center --title="Build-a-Pi" \
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
@ -423,7 +435,7 @@ sudo apt-get -y upgrade
sudo apt -y full-upgrade
#set wallpaper
pcmanfm --set-wallpaper $HOME/pi-build/bap-wallpaper.jpg
pcmanfm --set-wallpaper $MYPATH/bap-wallpaper.jpg
mkdir -p $DIR 2> /dev/null
@ -471,8 +483,8 @@ cat > build-a-pi.desktop <<EOF
Name=Build-a-Pi
GenericName=KM4ACK Build-a-Pi
Comment=Build-a-Pi App Manager
Exec=$HOME/pi-build/update
Icon=$HOME/pi-build/logo.png
Exec=$MYPATH/update
Icon=$MYPATH/logo.png
Terminal=true
Type=Application
Categories=Settings;DesktopSettings;GTK;X-LXDE-Settings;
@ -483,9 +495,9 @@ sudo mv build-a-pi.desktop /usr/share/applications/
#####################################
# Install Base Apps
#####################################
touch $HOME/.config/KM4ACK
while read i ; do
touch $RB
source $FUNCTIONS/base.function
while read i ; do
$i
done < $BASE
@ -495,19 +507,17 @@ done < $BASE
#####################################
source $FUNCTIONS/flsuite.function
#perform memory increase if needed
CHECKFL=$(cat $MYPATH/flsuite.txt)
if [ -n "$CHECKFL" ]; then
CHECKFL="$MYPATH/flsuite.txt"
if [ -s "$CHECKFL" ]; then
FLSTART
fi
touch $HOME/.config/KM4ACK
touch $RB
while read i ; do
source $FUNCTIONS/flsuite.function
$i
done < $FLSUITE
source $FUNCTIONS/flsuite.function
#Perform memory reset if needed
if [ -n "$CHECKFL" ]; then
if [ -s "$CHECKFL" ]; then
FLSTOP
fi
@ -515,8 +525,8 @@ fi
#####################################
# Install ADDITIONAL Apps
#####################################
while read i ; do
source $FUNCTIONS/additional.function
while read i ; do
$i
done < $ADDITIONAL
@ -524,8 +534,8 @@ done < $ADDITIONAL
#####################################
# Install KM4ACK Utilites
#####################################
while read i ; do
source $FUNCTIONS/utility.function
while read i ; do
$i
done < $UTILITY

Wyświetl plik

@ -18,21 +18,13 @@ CHECK(){
#----------------------------------------------------#
# Hotspot
#----------------------------------------------------#
HOTSPOT=$(ls /usr/bin/ | grep autohotspotN)
if [ -z "$HOTSPOT" ]; then
HOTSPOT="/usr/bin/autohotspotN"
if [ ! -f "$HOTSPOT" ]; then
HOTSPOT="Not Installed"
else
HOTSPOT="Installed"
fi
#----------------------------------------------------#
# Hotspot tools
#----------------------------------------------------#
if [ ! -d $HOME/hotspot-tools2 ]; then
HSTOOLS="Not Installed"
else
HSTOOLS="Installed"
fi
#----------------------------------------------------#
# AX25
#----------------------------------------------------#

Wyświetl plik

@ -1,7 +1,6 @@
#additional software to install with build-a-pi
#20200513 km4ack
MYPATH=$HOME/pi-build
TEMPCRON=$MYPATH/cron.tmp
DIR=$MYPATH/temp
WHO=$(whoami)
@ -28,7 +27,7 @@ FIG=$HOME/.wl2k/config.json
#set callsign
sed -i "s/\"mycall\": \".*\",/\"mycall\": \"$CALL\",/" $FIG
#set password
WL2KPASS=$(cat $HOME/pi-build/config | grep WL2KPASS | sed 's/"//g' | sed 's/WL2KPASS=//')
WL2KPASS=$(grep "WL2KPASS" $MYPATH/config | sed 's/"//g' | sed 's/WL2KPASS=//')
sed -i "s/\"secure_login_password\": \".*\",/\"secure_login_password\": \""$WL2KPASS"\",/" $FIG
#set locator
sed -i "s/\"locator\": \".*\",/\"locator\": \"$GRID\",/" $FIG
@ -270,9 +269,9 @@ cat > gridtracker.desktop <<EOF
Name=GridTracker
Comment=GridTracker
GenericName=GridTracker, a WSJT-X Companion
Exec=/home/pi/GridTracker/GridTracker --disable-accelerated-2d-canvas --num-raster-threads=2
Icon=/home/pi/GridTracker/gridtracker.png
Path=/home/pi/GridTracker
Exec=$HOME/GridTracker/GridTracker --disable-accelerated-2d-canvas --num-raster-threads=2
Icon=$HOME/GridTracker/gridtracker.png
Path=$HOME/GridTracker
Type=Application
Encoding=UTF-8
Terminal=false
@ -384,15 +383,15 @@ sudo killall pat
sudo systemctl start pat@$WHO
#Move info.markdown from EES folder to Documents
sudo mv /var/www/html/info.markdown /home/pi/Documents/
sudo chown pi:pi /home/pi/Documents/info.markdown
sudo mv /var/www/html/info.markdown $HOME/Documents/
sudo chown $WHO:$WHO $HOME/Documents/info.markdown
#move info.html to pi documents folder
sudo cp /var/www/html/index.html /home/pi/Documents/info.html
sudo chown pi:pi /home/pi/Documents/info.html
sudo cp /var/www/html/index.html $HOME/Documents/info.html
sudo chown $WHO:$WHO $HOME/Documents/info.html
#move script to be run by cron to bin dir
sudo mv /var/www/html/webcopy /home/pi/bin/
sudo chown pi:pi /home/pi/bin/webcopy
sudo chmod +x /home/pi/bin/webcopy
sudo mv /var/www/html/webcopy $HOME/bin/
sudo chown $WHO:$WHO $HOME/bin/webcopy
sudo chmod +x $HOME/bin/webcopy
#set up cron job for EES
echo "#-----Start EES Server Options------" >> $TEMPCRON
@ -403,7 +402,7 @@ echo "#Auto post replies for EES server" >> $TEMPCRON
echo "#Default is off. Activate by removing # on line below" >> $TEMPCRON
echo "#*/1 * * * * /var/www/html/autopostreply" >> $TEMPCRON
echo "#Line below moves info.html to index.html when modified" >> $TEMPCRON
echo "*/1 * * * * /home/pi/bin/webcopy" >> $TEMPCRON
echo "*/1 * * * * $HOME/bin/webcopy" >> $TEMPCRON
echo "#-----End EES Server Options------" >> $TEMPCRON

Wyświetl plik

@ -9,10 +9,6 @@
#km4ack 20190923
#km4ack 20200513 mod for BAP script
MYPATH=$HOME/pi-build
shackwifi=$1
shackpass=$2
wifipasswd=$3

Wyświetl plik

@ -1,7 +1,6 @@
#this installs the basic software for build-a-pi
#km4ack 20200513
MYPATH=$HOME/pi-build
TEMPCRON=$MYPATH/cron.tmp
DIR=$MYPATH/temp
mkdir -p $DIR
@ -12,8 +11,8 @@ source $MYPATH/config
# HOTSPOT
################################
HOTSPOT(){
HS=$(ls /usr/bin/ | grep autohotspotN)
if [ -z "$HS" ]; then
HS="/usr/bin/autohotspotN"
if [ ! -f "$HS" ]; then
#pass variables with script because run as root
sudo bash $MYPATH/functions/autohotspot "$SHACKSSID" "$SHACKPASS" "$HSPASS"
echo "*/5 * * * * sudo /usr/bin/autohotspotN >/dev/null 2>&1" >> $TEMPCRON

24
update
Wyświetl plik

@ -12,7 +12,7 @@
# #
##################################################################
MYPATH=$HOME/pi-build
MYPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
BASE=$MYPATH/base.txt
FUNCTIONS=$MYPATH/functions
ADDITIONAL=$MYPATH/additional.txt
@ -21,7 +21,7 @@ FLSUITE=$MYPATH/flsuite.txt
CONFIG=$MYPATH/config
LOGO=$MYPATH/logo.png
TEMPCRON=$MYPATH/cron.tmp
VERSION=$(cat $MYPATH/changelog | grep version= | sed 's/version=//')
VERSION=$(grep "version=" $MYPATH/changelog | sed 's/version=//')
FINISH(){
if [ -f "$BASE" ]; then
@ -60,7 +60,7 @@ mkdir -p $HOME/.config/autostart
#Check for BAP updates
#Check for build a pi updates
echo "Checking for Build a Pi updates"
CURRENT=$(cat $MYPATH/changelog | head -1 | sed s'/version=//')
CURRENT=$(head -1 $MYPATH/changelog | sed s'/version=//')
LATEST=$(curl -s https://raw.githubusercontent.com/km4ack/pi-build/master/changelog | head -1 | sed 's/version=//')
@ -85,7 +85,7 @@ echo $BUT
elif [ $BUT = 2 ]; then
echo "Updating Build a Pi to $LATEST"
mv $MYPATH/config $HOME/Documents/config.bap
rm -rf $HOME/pi-build
rm -rf $MYPATH
cd ~
git clone https://github.com/km4ack/pi-build.git
mv $HOME/Documents/config.bap $MYPATH/config
@ -123,8 +123,8 @@ CHECK(){
#----------------------------------------------------#
# Hotspot
#----------------------------------------------------#
HOTSPOT=$(ls /usr/bin/ | grep autohotspotN)
if [ -z "$HOTSPOT" ]; then
HOTSPOT="/usr/bin/autohotspotN"
if [ ! -f "$HOTSPOT" ]; then
HOTSPOT="Not Installed"
else
HOTSPOT="Installed"
@ -447,8 +447,8 @@ fi
#----------------------------------------------------#
# XASTIR
#----------------------------------------------------#
XA=$(ls /usr/bin/ | grep xastir)
if [ -z "$XA" ]; then
XA="/usr/bin/xastir"
if [ ! -f "$XA" ]; then
XASTIR="Not Installed"
else
XASTIR="Installed"
@ -457,8 +457,8 @@ fi
#----------------------------------------------------#
# YAAC
#----------------------------------------------------#
YAAC=$(ls $HOME | grep YAAC)
if [ -z "$YAAC" ]; then
YAAC="$HOME/YAAC"
if [ ! -d "$YAAC" ]; then
YAAC="Not Installed"
else
YAAC="Installed"
@ -485,8 +485,8 @@ fi
#----------------------------------------------------#
# GRIDTRACKER
#----------------------------------------------------#
GT=$(ls $HOME | grep GridTracker)
if [ -z "$GT" ]; then
GT="$HOME/GridTracker"
if [ ! -d "$GT" ]; then
GRIDTRACK="Not Installed"
else
GRIDTRACK="Installed"