73Linux/bin/app-check.sh
2022-11-22 15:41:58 -06:00

66 lines
1.8 KiB
Bash
Executable file

#! /bin/bash
APPLIST=./cache/app-list.bap
APPPATH=app/stable/
allAPPS=$(ls $APPSFILES)
mkdir -p ${BAPDIR}/cache/logs/
LOG=${BAPDIR}/cache/logs/build-log.txt
export LOG
touch $LOG
echo "###################################"
echo "# Verifying .bapp Plug-Ins "
echo "###################################"
for files in ${BAPDIR}/app/**/**/*.bapp; do
source $files >/dev/null 2>&1
if [ $? != 0 ]; then
newfile=$(echo $files | sed 's/.bapp//')
mv $files $newfile
echo "Bad bap file found. Removing" | tee -a $LOG
echo "$files" | tee -a $LOG
echo "###################################" | tee -a $LOG
fi
done
echo "###################################"
echo "# Scanning .bapp Plug-Ins "
echo "###################################"
for Job in $allAPPS
do
#keep a eye on things
trap 'catch' ERR
catch() {
echo -e "\nCRITICAL: parsing error on .bapp $Job" | tee -a $LOG
}
CHECKFILE=$(head -c6 $Job | sed 's/BAPP=//')
CURBAPVER=$(grep version ${BAPDIR}/changelog | head -1 | sed 's/version=//' | cut -b 1)
if [ $CHECKFILE == $CURBAPVER ];then
#get the version function ran to have access here
source $Job
#pull function from file
echo "###################################"
echo "#Check Version $ID "
echo "###################################"
VERSION
#Status Update for CLI and GUI
if (($(echo "${NEWVER} ${CURRENT}" | awk '{print ($1 > $2)}'))); then
echo -e "UPDATE: $NEWVER is available and $CURRENT is installed"
#update .bapp with new data gathered from .bapp VERSION function
sed -i "s/Ver=.*/Ver=Update:$NEWVER/" $Job
else
sed -i "s/Ver=.*/Ver=$NEWVER/" $Job
fi
#this fella is down here to keep order for yad GUI
sed -i "s/localVer=.*/localVer=$CURRENT/" $Job
fi
#clear values
NEWVER=0.0
CURRENT=0.0
done