mirror of
https://github.com/dw-0/kiauh.git
synced 2025-12-12 18:14:28 +05:00
380 lines
11 KiB
Bash
Executable File
380 lines
11 KiB
Bash
Executable File
kiauh_status(){
|
|
if [ -d "${SRCDIR}/kiauh/.git" ]; then
|
|
cd ${HOME}/kiauh
|
|
git fetch -q
|
|
if git branch -a | grep "* master" -q; then
|
|
if [[ "$(git rev-parse --short=8 origin/master)" != "$(git rev-parse --short=8 HEAD)" ]]; then
|
|
KIAUH_UPDATE_AVAIL="true"
|
|
fi
|
|
fi
|
|
fi
|
|
}
|
|
|
|
klipper_status(){
|
|
kcount=0
|
|
klipper_data=(
|
|
$KLIPPER_DIR
|
|
$KLIPPY_ENV_DIR
|
|
$KLIPPER_SERVICE1
|
|
$KLIPPER_SERVICE2
|
|
)
|
|
#count+1 for each found data-item from array
|
|
for kd in "${klipper_data[@]}"
|
|
do
|
|
if [ -e $kd ]; then
|
|
kcount=$(expr $kcount + 1)
|
|
fi
|
|
done
|
|
if [ "$kcount" == "${#klipper_data[*]}" ]; then
|
|
KLIPPER_STATUS="${green}Installed!${default} "
|
|
elif [ "$kcount" == 0 ]; then
|
|
KLIPPER_STATUS="${red}Not installed!${default} "
|
|
else
|
|
KLIPPER_STATUS="${yellow}Incomplete!${default} "
|
|
fi
|
|
}
|
|
|
|
dwc2_status(){
|
|
dcount=0
|
|
dwc2_data=(
|
|
$DWC2FK_DIR
|
|
$DWC_ENV_DIR
|
|
$DWC2_DIR
|
|
)
|
|
#count+1 for each found data-item from array
|
|
for dd in "${dwc2_data[@]}"
|
|
do
|
|
if [ -e $dd ]; then
|
|
dcount=$(expr $dcount + 1)
|
|
fi
|
|
done
|
|
if [ "$dcount" == "${#dwc2_data[*]}" ]; then
|
|
DWC2_STATUS="${green}Installed!${default} "
|
|
elif [ "$dcount" == 0 ]; then
|
|
DWC2_STATUS="${red}Not installed!${default} "
|
|
else
|
|
DWC2_STATUS="${yellow}Incomplete!${default} "
|
|
fi
|
|
}
|
|
|
|
mainsail_status(){
|
|
mcount=0
|
|
mainsail_data=(
|
|
$MOONRAKER_SERVICE1
|
|
$MOONRAKER_SERVICE2
|
|
$MAINSAIL_DIR
|
|
$MOONRAKER_ENV_DIR
|
|
/etc/nginx/sites-available/mainsail
|
|
/etc/nginx/sites-enabled/mainsail
|
|
)
|
|
#count+1 for each found data-item from array
|
|
for md in "${mainsail_data[@]}"
|
|
do
|
|
if [ -e $md ]; then
|
|
mcount=$(expr $mcount + 1)
|
|
fi
|
|
done
|
|
if [ "$mcount" == "${#mainsail_data[*]}" ]; then
|
|
MAINSAIL_STATUS="${green}Installed!${default} "
|
|
elif [ "$mcount" == 0 ]; then
|
|
MAINSAIL_STATUS="${red}Not installed!${default} "
|
|
else
|
|
MAINSAIL_STATUS="${yellow}Incomplete!${default} "
|
|
fi
|
|
}
|
|
|
|
octoprint_status(){
|
|
ocount=0
|
|
octoprint_data=(
|
|
$OCTOPRINT_DIR
|
|
$OCTOPRINT_CFG_DIR
|
|
$OCTOPRINT_SERVICE1
|
|
$OCTOPRINT_SERVICE2
|
|
)
|
|
#count+1 for each found data-item from array
|
|
for op in "${octoprint_data[@]}"
|
|
do
|
|
if [ -e $op ]; then
|
|
ocount=$(expr $ocount + 1)
|
|
fi
|
|
done
|
|
if [ "$ocount" == "${#octoprint_data[*]}" ]; then
|
|
OCTOPRINT_STATUS="${green}Installed!${default} "
|
|
elif [ "$ocount" == 0 ]; then
|
|
OCTOPRINT_STATUS="${red}Not installed!${default} "
|
|
else
|
|
OCTOPRINT_STATUS="${yellow}Incomplete!${default} "
|
|
fi
|
|
}
|
|
|
|
#############################################################
|
|
#############################################################
|
|
|
|
#reading the log for the last branch that got checked out assuming that this is also the currently active branch.
|
|
read_branch(){
|
|
if [ -d $KLIPPER_DIR/.git ]; then
|
|
GET_BRANCH=$(cat ~/klipper/.git/logs/HEAD | grep "checkout" | tail -1 | sed "s/^.*to //")
|
|
#if the log file is empty, we can assume that klipper just got cloned and therefore is still on origin/master
|
|
if [[ -z "$GET_BRANCH" ]]; then
|
|
GET_BRANCH="origin/master"
|
|
fi
|
|
else
|
|
GET_BRANCH=""
|
|
fi
|
|
}
|
|
|
|
#prints the current klipper branch in the main menu
|
|
print_branch(){
|
|
read_branch
|
|
if [ "$GET_BRANCH" == "origin/master" ]; then
|
|
PRINT_BRANCH="$GET_BRANCH "
|
|
elif [ "$GET_BRANCH" == "origin" ]; then
|
|
PRINT_BRANCH="origin/master "
|
|
elif [ "$GET_BRANCH" == "master" ]; then
|
|
PRINT_BRANCH="origin/master "
|
|
elif [ "$GET_BRANCH" == "dmbutyugin/scurve-shaping" ]; then
|
|
PRINT_BRANCH="scurve-shaping "
|
|
elif [ "$GET_BRANCH" == "dmbutyugin/scurve-smoothing" ]; then
|
|
PRINT_BRANCH="scurve-smoothing "
|
|
elif [ "$GET_BRANCH" == "Arksine/dev-moonraker-testing" ]; then
|
|
PRINT_BRANCH="moonraker "
|
|
else
|
|
PRINT_BRANCH="${red}----${default} "
|
|
fi
|
|
}
|
|
|
|
read_local_klipper_commit(){
|
|
if [ -d $KLIPPER_DIR ] && [ -d $KLIPPER_DIR/.git ]; then
|
|
cd $KLIPPER_DIR
|
|
LOCAL_COMMIT=$(git rev-parse --short=8 HEAD)
|
|
else
|
|
LOCAL_COMMIT="${red}--------${default}"
|
|
fi
|
|
}
|
|
|
|
read_remote_klipper_commit(){
|
|
read_branch
|
|
if [ ! -z "$GET_BRANCH" ];then
|
|
if [ "$GET_BRANCH" = "origin/master" ] || [ "$GET_BRANCH" = "master" ]; then
|
|
git fetch origin -q
|
|
REMOTE_COMMIT=$(git rev-parse --short=8 origin)
|
|
else
|
|
git fetch $(echo "$GET_BRANCH" | cut -d"/" -f1) -q
|
|
REMOTE_COMMIT=$(git rev-parse --short=8 $GET_BRANCH)
|
|
fi
|
|
else
|
|
REMOTE_COMMIT="${red}--------${default}"
|
|
fi
|
|
}
|
|
|
|
compare_klipper_versions(){
|
|
unset KLIPPER_UPDATE_AVAIL
|
|
read_local_klipper_commit
|
|
read_remote_klipper_commit
|
|
#echo "Local: $LOCAL_COMMIT"
|
|
#echo "Remote: $REMOTE_COMMIT"
|
|
if [ "$LOCAL_COMMIT" != "$REMOTE_COMMIT" ]; then
|
|
LOCAL_COMMIT="${yellow}$LOCAL_COMMIT${default}"
|
|
REMOTE_COMMIT="${green}$REMOTE_COMMIT${default}"
|
|
KLIPPER_UPDATE_AVAIL="true"
|
|
update_arr+=(update_klipper)
|
|
else
|
|
LOCAL_COMMIT="${green}$LOCAL_COMMIT${default}"
|
|
REMOTE_COMMIT="${green}$REMOTE_COMMIT${default}"
|
|
KLIPPER_UPDATE_AVAIL="false"
|
|
fi
|
|
}
|
|
|
|
#############################################################
|
|
#############################################################
|
|
|
|
read_dwc2fk_versions(){
|
|
if [ -d $DWC2FK_DIR ] && [ -d $DWC2FK_DIR/.git ]; then
|
|
cd $DWC2FK_DIR
|
|
git fetch origin master -q
|
|
LOCAL_DWC2FK_COMMIT=$(git rev-parse --short=8 HEAD)
|
|
REMOTE_DWC2FK_COMMIT=$(git rev-parse --short=8 origin/master)
|
|
else
|
|
LOCAL_DWC2FK_COMMIT="${red}--------${default}"
|
|
REMOTE_DWC2FK_COMMIT="${red}--------${default}"
|
|
fi
|
|
}
|
|
|
|
compare_dwc2fk_versions(){
|
|
unset DWC2FK_UPDATE_AVAIL
|
|
read_dwc2fk_versions
|
|
#echo "Local: $LOCAL_DWC2FK_COMMIT"
|
|
#echo "Remote: $REMOTE_DWC2FK_COMMIT"
|
|
if [ "$LOCAL_DWC2FK_COMMIT" != "$REMOTE_DWC2FK_COMMIT" ]; then
|
|
LOCAL_DWC2FK_COMMIT="${yellow}$LOCAL_DWC2FK_COMMIT${default}"
|
|
REMOTE_DWC2FK_COMMIT="${green}$REMOTE_DWC2FK_COMMIT${default}"
|
|
DWC2FK_UPDATE_AVAIL="true"
|
|
update_arr+=(update_dwc2fk)
|
|
else
|
|
LOCAL_DWC2FK_COMMIT="${green}$LOCAL_DWC2FK_COMMIT${default}"
|
|
REMOTE_DWC2FK_COMMIT="${green}$REMOTE_DWC2FK_COMMIT${default}"
|
|
DWC2FK_UPDATE_AVAIL="false"
|
|
fi
|
|
}
|
|
|
|
read_local_dwc2_version(){
|
|
unset DWC2_IS_INSTALLED
|
|
if [ -e $DWC2_DIR/version ]; then
|
|
DWC2_LOCAL_VER=$(head -n 1 $DWC2_DIR/version)
|
|
DWC2_IS_INSTALLED="true"
|
|
else
|
|
DWC2_LOCAL_VER="${red}-----${default}"
|
|
DWC2_IS_INSTALLED="false"
|
|
fi
|
|
}
|
|
|
|
read_remote_dwc2_version(){
|
|
#remote checks don't work without curl installed!
|
|
if [[ ! $(dpkg-query -f'${Status}' --show curl 2>/dev/null) = *\ installed ]]; then
|
|
DWC2_REMOTE_VER="${red}-----${default}"
|
|
else
|
|
DWC2_REMOTE_VER=$(curl -s https://api.github.com/repositories/28820678/releases/latest | grep tag_name | cut -d'"' -f4)
|
|
fi
|
|
}
|
|
|
|
compare_dwc2_versions(){
|
|
unset DWC2_UPDATE_AVAIL
|
|
read_local_dwc2_version
|
|
read_remote_dwc2_version
|
|
#echo "Local: $DWC2_LOCAL_VER"
|
|
#echo "Remote: $DWC2_REMOTE_VER"
|
|
if [ "$DWC2_LOCAL_VER" != "$DWC2_REMOTE_VER" ] && [ "$DWC2_IS_INSTALLED" = "true" ]; then
|
|
DWC2_LOCAL_VER="${yellow}$DWC2_LOCAL_VER${default}"
|
|
DWC2_REMOTE_VER="${green}$DWC2_REMOTE_VER${default}"
|
|
DWC2_UPDATE_AVAIL="true"
|
|
update_arr+=(update_dwc2)
|
|
else
|
|
DWC2_LOCAL_VER="${green}$DWC2_LOCAL_VER${default}"
|
|
DWC2_REMOTE_VER="${green}$DWC2_REMOTE_VER${default}"
|
|
DWC2_UPDATE_AVAIL="false"
|
|
fi
|
|
}
|
|
|
|
#############################################################
|
|
#############################################################
|
|
|
|
read_moonraker_versions(){
|
|
if [ -d $MOONRAKER_DIR ] && [ -d $MOONRAKER_DIR/.git ]; then
|
|
cd $MOONRAKER_DIR
|
|
git fetch origin master -q
|
|
LOCAL_MOONRAKER_COMMIT=$(git rev-parse --short=8 HEAD)
|
|
REMOTE_MOONRAKER_COMMIT=$(git rev-parse --short=8 origin/master)
|
|
else
|
|
LOCAL_MOONRAKER_COMMIT="${red}--------${default}"
|
|
REMOTE_MOONRAKER_COMMIT="${red}--------${default}"
|
|
fi
|
|
}
|
|
|
|
compare_moonraker_versions(){
|
|
unset MOONRAKER_UPDATE_AVAIL
|
|
read_moonraker_versions
|
|
#echo "Local: $LOCAL_MOONRAKER_COMMIT"
|
|
#echo "Remote: $REMOTE_MOONRAKER_COMMIT"
|
|
if [ "$LOCAL_MOONRAKER_COMMIT" != "$REMOTE_MOONRAKER_COMMIT" ]; then
|
|
LOCAL_MOONRAKER_COMMIT="${yellow}$LOCAL_MOONRAKER_COMMIT${default}"
|
|
REMOTE_MOONRAKER_COMMIT="${green}$REMOTE_MOONRAKER_COMMIT${default}"
|
|
MOONRAKER_UPDATE_AVAIL="true"
|
|
update_arr+=(update_moonraker)
|
|
else
|
|
LOCAL_MOONRAKER_COMMIT="${green}$LOCAL_MOONRAKER_COMMIT${default}"
|
|
REMOTE_MOONRAKER_COMMIT="${green}$REMOTE_MOONRAKER_COMMIT${default}"
|
|
MOONRAKER_UPDATE_AVAIL="false"
|
|
fi
|
|
}
|
|
|
|
read_local_mainsail_version(){
|
|
unset MAINSAIL_IS_INSTALLED
|
|
if [ -e $MAINSAIL_DIR/version ]; then
|
|
MAINSAIL_LOCAL_VER=$(head -n 1 $MAINSAIL_DIR/version)
|
|
MAINSAIL_IS_INSTALLED="true"
|
|
else
|
|
MAINSAIL_LOCAL_VER="${red}-----${default}"
|
|
MAINSAIL_IS_INSTALLED="false"
|
|
fi
|
|
}
|
|
|
|
read_remote_mainsail_version(){
|
|
#remote checks don't work without curl installed!
|
|
if [[ ! $(dpkg-query -f'${Status}' --show curl 2>/dev/null) = *\ installed ]]; then
|
|
MAINSAIL_REMOTE_VER="${red}-----${default}"
|
|
else
|
|
get_mainsail_ver
|
|
MAINSAIL_REMOTE_VER=$MAINSAIL_VERSION
|
|
fi
|
|
}
|
|
|
|
compare_mainsail_versions(){
|
|
unset MAINSAIL_UPDATE_AVAIL
|
|
read_local_mainsail_version
|
|
read_remote_mainsail_version
|
|
#echo "Local: $MAINSAIL_LOCAL_VER"
|
|
#echo "Remote: $MAINSAIL_REMOTE_VER"
|
|
if [ "$MAINSAIL_LOCAL_VER" != "$MAINSAIL_REMOTE_VER" ] && [ "$MAINSAIL_IS_INSTALLED" = "true" ]; then
|
|
MAINSAIL_LOCAL_VER="${yellow}$MAINSAIL_LOCAL_VER${default}"
|
|
MAINSAIL_REMOTE_VER="${green}$MAINSAIL_REMOTE_VER${default}"
|
|
MAINSAIL_UPDATE_AVAIL="true"
|
|
update_arr+=(update_mainsail)
|
|
else
|
|
MAINSAIL_LOCAL_VER="${green}$MAINSAIL_LOCAL_VER${default}"
|
|
MAINSAIL_REMOTE_VER="${green}$MAINSAIL_REMOTE_VER${default}"
|
|
MAINSAIL_UPDATE_AVAIL="false"
|
|
fi
|
|
}
|
|
|
|
read_local_fluidd_version(){
|
|
unset FLUIDD_IS_INSTALLED
|
|
if [ -e $FLUIDD_DIR/version ]; then
|
|
FLUIDD_LOCAL_VER=$(head -n 1 $FLUIDD_DIR/version)
|
|
FLUIDD_IS_INSTALLED="true"
|
|
else
|
|
FLUIDD_LOCAL_VER="${red}-----${default}"
|
|
FLUIDD_IS_INSTALLED="false"
|
|
fi
|
|
}
|
|
|
|
read_remote_fluidd_version(){
|
|
#remote checks don't work without curl installed!
|
|
if [[ ! $(dpkg-query -f'${Status}' --show curl 2>/dev/null) = *\ installed ]]; then
|
|
FLUIDD_REMOTE_VER="${red}-----${default}"
|
|
else
|
|
get_fluidd_ver
|
|
FLUIDD_REMOTE_VER=$FLUIDD_VERSION
|
|
fi
|
|
}
|
|
|
|
compare_fluidd_versions(){
|
|
unset FLUIDD_UPDATE_AVAIL
|
|
read_local_fluidd_version
|
|
read_remote_fluidd_version
|
|
#echo "Local: $FLUIDD_LOCAL_VER"
|
|
#echo "Remote: $FLUIDD_REMOTE_VER"
|
|
if [ "$FLUIDD_LOCAL_VER" != "$FLUIDD_REMOTE_VER" ] && [ "$FLUIDD_IS_INSTALLED" = "true" ]; then
|
|
FLUIDD_LOCAL_VER="${yellow}$FLUIDD_LOCAL_VER${default}"
|
|
FLUIDD_REMOTE_VER="${green}$FLUIDD_REMOTE_VER${default}"
|
|
FLUIDD_UPDATE_AVAIL="true"
|
|
update_arr+=(update_fluidd)
|
|
else
|
|
FLUIDD_LOCAL_VER="${green}$FLUIDD_LOCAL_VER${default}"
|
|
FLUIDD_REMOTE_VER="${green}$FLUIDD_REMOTE_VER${default}"
|
|
FLUIDD_UPDATE_AVAIL="false"
|
|
fi
|
|
}
|
|
|
|
#############################################################
|
|
#############################################################
|
|
|
|
ui_print_versions(){
|
|
unset update_arr
|
|
compare_klipper_versions
|
|
compare_dwc2fk_versions
|
|
compare_dwc2_versions
|
|
compare_moonraker_versions
|
|
compare_mainsail_versions
|
|
compare_fluidd_versions
|
|
}
|