(blitz.web.ui.sh): fix typos; combine rf commands; fix shellcheck issues (#4666)

* (blitz.web.ui.sh): fix typos; combine rf commands; fix shellcheck issues
* change detect installed
This commit is contained in:
Christoph Stenglein
2024-09-01 18:56:20 +02:00
committed by GitHub
parent 3f3660dfed
commit 0abc495133

View File

@@ -1,10 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# main repo: https://github.com/raspiblitz/raspiblitz-web # main repo: https://github.com/raspiblitz/raspiblitz-web
# NORMALLY user/repo/version will be defined by calling script - see build_sdcard.sh # NORMALLY user/repo/version will be defined by calling script - see build_sdcard.sh
# the following is just a fallback to try during development if script given branch does not exist # the following is just a fallback to try during development if script given branch does not exist
FALLACK_BRANCH="master" FALLBACK_BRANCH="master"
# command info # command info
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$1" = "-help" ]; then if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$1" = "-help" ]; then
@@ -21,27 +20,18 @@ fi
# INFO # INFO
################### ###################
if [ "$1" = "info" ]; then if [ "$1" = "info" ]; then
# check if installed # check if installed
cd /home/blitzapi/blitz_web 2>/dev/null if ! cd /home/blitzapi/blitz_web 2>/dev/null; then
if [ "$?" != "0" ]; then
echo "installed=0" echo "installed=0"
exit 1 exit 1
fi fi
echo "installed=1" echo "installed=1"
# get github origin repo from repo directory with git command # get github origin repo from repo directory with git command
origin=$(sudo git config --get remote.origin.url) echo "repo='$(sudo git config --get remote.origin.url)'"
echo "repo='${origin}'"
# get github branch from repo directory with git command # get github branch from repo directory with git command
branch=$(sudo git rev-parse --abbrev-ref HEAD) echo "branch='$(sudo git rev-parse --abbrev-ref HEAD)'"
echo "branch='${branch}'"
# get github commit from repo directory with git command # get github commit from repo directory with git command
commit=$(sudo git rev-parse HEAD) echo "commit='$(sudo git rev-parse HEAD)'"
echo "commit='${commit}'"
exit 0 exit 0
fi fi
@@ -55,12 +45,11 @@ fi
# ON / INSTALL # ON / INSTALL
################### ###################
if [ "$1" = "1" ] || [ "$1" = "on" ]; then if [ "$1" = "1" ] || [ "$1" = "on" ]; then
if [ "$2" == "DEFAULT" ]; then if [ "$2" == "DEFAULT" ]; then
echo "# WEBUI: getting default user/repo from build_sdcard.sh" echo "# WEBUI: getting default user/repo from build_sdcard.sh"
# copy build_sdcard.sh out of raspiblitz diretcory to not create "changes" in git # copy build_sdcard.sh out of raspiblitz directory to not create "changes" in git
sudo cp /home/admin/raspiblitz/build_sdcard.sh /home/admin/build_sdcard.sh sudo cp /home/admin/raspiblitz/build_sdcard.sh /home/admin/build_sdcard.sh
sudo chmod +x /home/admin/build_sdcard.sh 2>/dev/null sudo chmod +x /home/admin/build_sdcard.sh
source <(sudo /home/admin/build_sdcard.sh -EXPORT) source <(sudo /home/admin/build_sdcard.sh -EXPORT)
GITHUB_USER="${defaultWEBUIuser}" GITHUB_USER="${defaultWEBUIuser}"
GITHUB_REPO="${defaultWEBUIrepo}" GITHUB_REPO="${defaultWEBUIrepo}"
@@ -82,22 +71,10 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
GITHUB_COMMITORTAG=$5 GITHUB_COMMITORTAG=$5
fi fi
# check & output info for var in GITHUB_USER GITHUB_REPO GITHUB_BRANCH; do
echo "# GITHUB_USER(${GITHUB_USER})" [ -z "${!var}" ] && { echo "# FAIL: No ${var} provided"; exit 1; }
if [ "${GITHUB_USER}" == "" ]; then done
echo "# FAIL: No GITHUB_USER provided"
exit 1
fi
echo "# GITHUB_REPO(${GITHUB_REPO})"
if [ "${GITHUB_REPO}" == "" ]; then
echo "# FAIL: No GITHUB_REPO provided"
exit 1
fi
echo "# GITHUB_BRANCH(${GITHUB_BRANCH})"
if [ "${GITHUB_BRANCH}" == "" ]; then
echo "# FAIL: No GITHUB_BRANCH provided"
exit 1
fi
echo "# GITHUB_COMMITORTAG(${GITHUB_COMMITORTAG})" echo "# GITHUB_COMMITORTAG(${GITHUB_COMMITORTAG})"
if [ "${GITHUB_COMMITORTAG}" == "" ]; then if [ "${GITHUB_COMMITORTAG}" == "" ]; then
echo "# INFO: No GITHUB_COMMITORTAG provided .. will use latest code on branch" echo "# INFO: No GITHUB_COMMITORTAG provided .. will use latest code on branch"
@@ -105,12 +82,12 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
# check if given branch exits on that github user/repo # check if given branch exits on that github user/repo
branchExists=$(curl --header "X-GitHub-Api-Version:2022-11-28" -s "https://api.github.com/repos/${GITHUB_USER}/${GITHUB_REPO}/branches/${GITHUB_BRANCH}" | grep -c "\"name\": \"${GITHUB_BRANCH}\"") branchExists=$(curl --header "X-GitHub-Api-Version:2022-11-28" -s "https://api.github.com/repos/${GITHUB_USER}/${GITHUB_REPO}/branches/${GITHUB_BRANCH}" | grep -c "\"name\": \"${GITHUB_BRANCH}\"")
if [ ${branchExists} -lt 1 ]; then if [ "${branchExists}" -lt 1 ]; then
echo echo
echo "# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" echo "# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "# WARNING! The given WebUI repo is not available:" echo "# WARNING! The given WebUI repo is not available:"
echo "# user(${GITHUB_USER}) repo(${GITHUB_REPO}) branch(${GITHUB_BRANCH})" echo "# user(${GITHUB_USER}) repo(${GITHUB_REPO}) branch(${GITHUB_BRANCH})"
GITHUB_BRANCH="${FALLACK_BRANCH}" GITHUB_BRANCH="${FALLBACK_BRANCH}"
echo "# SO WORKING WITH FALLBACK REPO:" echo "# SO WORKING WITH FALLBACK REPO:"
echo "# user(${GITHUB_USER}) repo(${GITHUB_REPO}) branch(${GITHUB_BRANCH})" echo "# user(${GITHUB_USER}) repo(${GITHUB_REPO}) branch(${GITHUB_BRANCH})"
echo "# USE JUST FOR DEVELOPMENT - DONT USE IN PRODUCTION" echo "# USE JUST FOR DEVELOPMENT - DONT USE IN PRODUCTION"
@@ -131,54 +108,34 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
echo "# INSTALL WebUI" echo "# INSTALL WebUI"
# clean all source # clean all source
rm -r /root/blitz_web 2>/dev/null rm -rf /root/blitz_web /root/"${GITHUB_REPO}" /home/blitzapi/blitz_web /home/blitzapi/"${GITHUB_REPO}"
rm -r /root/${GITHUB_REPO} 2>/dev/null
rm -r /home/blitzapi/blitz_web 2>/dev/null
rm -r /home/blitzapi/${GITHUB_REPO} 2>/dev/null
cd /home/blitzapi || exit 1 cd /home/blitzapi || exit 1
echo "# clone github: ${GITHUB_USER}/${GITHUB_REPO}" echo "# clone github: ${GITHUB_USER}/${GITHUB_REPO}"
if ! git clone https://github.com/${GITHUB_USER}/${GITHUB_REPO}.git; then git clone https://github.com/"${GITHUB_USER}"/"${GITHUB_REPO}".git || { echo "error='git clone failed'"; exit 1; }
echo "error='git clone failed'" mv /home/blitzapi/"${GITHUB_REPO}" /home/blitzapi/blitz_web
exit 1
fi
mv /home/blitzapi/${GITHUB_REPO} /home/blitzapi/blitz_web
cd blitz_web || exit 1 cd blitz_web || exit 1
echo "# checkout branch: ${GITHUB_BRANCH}" echo "# checkout branch: ${GITHUB_BRANCH}"
if ! git checkout ${GITHUB_BRANCH}; then git checkout "${GITHUB_BRANCH}" || { echo "error='git checkout failed'"; exit 1; }
echo "error='git checkout failed'"
exit 1
fi
if [ "${GITHUB_COMMITORTAG}" != "" ]; then if [ "${GITHUB_COMMITORTAG}" != "" ]; then
echo "# setting code to tag/commit: ${GITHUB_COMMITORTAG}" echo "# setting code to tag/commit: ${GITHUB_COMMITORTAG}"
if ! git reset --hard ${GITHUB_COMMITORTAG}; then if ! git reset --hard "${GITHUB_COMMITORTAG}"; then
echo "error='git reset failed'" echo "error='git reset failed'"
exit 1 exit 1
fi fi
else else
echo "# using lastest code in branch" echo "# using lastest code in branch"
fi fi
echo "# Compile WebUI" echo "# Compile WebUI"
/home/admin/config.scripts/bonus.nodejs.sh on /home/admin/config.scripts/bonus.nodejs.sh on
if ! npm install; then npm install || { echo "error='npm install failed'"; exit 1; }
echo "error='npm install failed'" npm run build || { echo "error='npm run build failed'"; exit 1; }
exit 1
fi
if ! npm run build; then
echo "error='npm run build failed'"
exit 1
fi
rm -r /var/www/public/* 2>/dev/null rm -rf /var/www/public/*
cp -r /home/blitzapi/blitz_web/build/* /var/www/public cp -r /home/blitzapi/blitz_web/build/* /var/www/public
chown www-data:www-data -R /var/www/public chown www-data:www-data -R /var/www/public
# install info
localIP=$(hostname -I | awk '{print $1}')
echo "# The WebUI is now available under:" echo "# The WebUI is now available under:"
echo "# http://${localIP}" echo "# http://$(hostname -I | awk '{print $1}')"
exit 0 exit 0
fi fi
@@ -194,12 +151,12 @@ if [ "$1" = "update" ]; then
echo "# updating local repo ..." echo "# updating local repo ..."
oldCommit=$(git rev-parse HEAD) oldCommit=$(git rev-parse HEAD)
git fetch git fetch
git reset --hard origin/${currentBranch} git reset --hard origin/"${currentBranch}"
newCommit=$(git rev-parse HEAD) newCommit=$(git rev-parse HEAD)
if [ "${oldCommit}" != "${newCommit}" ]; then if [ "${oldCommit}" != "${newCommit}" ]; then
npm install npm install
npm run build npm run build
sudo rm -r /var/www/public/* 2>/dev/null sudo rm -rf /var/www/public/*
sudo cp -r /home/blitzapi/blitz_web/build/* /var/www/public sudo cp -r /home/blitzapi/blitz_web/build/* /var/www/public
sudo chown www-data:www-data -R /var/www/public sudo chown www-data:www-data -R /var/www/public
else else
@@ -220,10 +177,7 @@ fi
# OFF / UNINSTALL # OFF / UNINSTALL
################### ###################
if [ "$1" = "0" ] || [ "$1" = "off" ]; then if [ "$1" = "0" ] || [ "$1" = "off" ]; then
echo "# UNINSTALL WebUI" echo "# UNINSTALL WebUI"
sudo rm -r /root/blitz_web 2>/dev/null sudo rm -rf /root/blitz_web /home/blitzapi/blitz_web /var/www/public/*
sudo rm -r /home/blitzapi/blitz_web 2>/dev/null
sudo rm -r /var/www/public/* 2>/dev/null
exit 0 exit 0
fi fi