diff --git a/ct/omada.sh b/ct/omada.sh index d5be18252..47e69deab 100644 --- a/ct/omada.sh +++ b/ct/omada.sh @@ -38,20 +38,32 @@ function update_script() { JAVA_VERSION="21" setup_java - msg_info "Updating Omada Controller" OMADA_URL=$(curl -fsSL "https://support.omadanetworks.com/en/download/software/omada-controller/" | grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | head -n1) - OMADA_PKG=$(basename "$OMADA_URL") - if [ -z "$OMADA_PKG" ]; then - msg_error "Could not retrieve Omada package – server may be down." - exit + OMADA_PKG=$(basename "${OMADA_URL}") + VERSION=$(sed -n 's/.*_v\([0-9.]*\)_.*_\([0-9]\{14\}\)\.deb$/\1-\2/p' <<<"${OMADA_PKG}") + + CURRENT_VERSION=$(cat $HOME/.omada 2>/dev/null || echo "0") + + if dpkg --compare-versions "${VERSION}" gt "${CURRENT_VERSION}"; then + + msg_info "Updating Omada Controller" + + if [ -z "${OMADA_PKG}" ]; then + msg_error "Could not retrieve Omada package – server may be down." + exit + fi + curl -fsSL "${OMADA_URL}" -o "${OMADA_PKG}" + export DEBIAN_FRONTEND=noninteractive + $STD dpkg -i "${OMADA_PKG}" + rm -f "${OMADA_PKG}" + echo "${VERSION}" >$HOME/.omada + msg_ok "Updated Omada Controller to ${VERSION}" + msg_ok "Updated successfully!" + else + msg_ok "No update available: ${APP} (${CURRENT_VERSION})" fi - curl -fsSL "$OMADA_URL" -o "$OMADA_PKG" - export DEBIAN_FRONTEND=noninteractive - $STD dpkg -i "$OMADA_PKG" - rm -f "$OMADA_PKG" - msg_ok "Updated successfully!" exit } diff --git a/install/omada-install.sh b/install/omada-install.sh index ff91f4188..de9e47792 100644 --- a/install/omada-install.sh +++ b/install/omada-install.sh @@ -38,10 +38,12 @@ msg_info "Installing Omada Controller" OMADA_URL=$(curl -fsSL "https://support.omadanetworks.com/en/download/software/omada-controller/" | grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | head -n1) -OMADA_PKG=$(basename "$OMADA_URL") -curl -fsSL "$OMADA_URL" -o "$OMADA_PKG" -$STD dpkg -i "$OMADA_PKG" -rm -rf "$OMADA_PKG" +OMADA_PKG=$(basename "${OMADA_URL}") +curl -fsSL "${OMADA_URL}" -o "${OMADA_PKG}" +$STD dpkg -i "${OMADA_PKG}" +rm -rf "${OMADA_PKG}" +VERSION=$(sed -n 's/.*_v\([0-9.]*\)_.*_\([0-9]\{14\}\)\.deb$/\1-\2/p' <<<"${OMADA_PKG}") +echo "${VERSION}" >$HOME/.omada msg_ok "Installed Omada Controller" motd_ssh