From 675352afc0d62fa580f55b371552b4ae00a12ff0 Mon Sep 17 00:00:00 2001 From: Dexoron Date: Thu, 12 Feb 2026 09:33:55 +0800 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0?= =?UTF-8?q?=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D0=BE=D0=B9=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8,=20?= =?UTF-8?q?=D0=B5=D1=81=D0=BB=D0=B8=20=D0=BE=D0=BD=D0=B0=20=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D1=8C,=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D1=8F?= =?UTF-8?q?=D0=B5=D1=82,=20=D0=BD=D1=83=D0=B6=D0=BD=D0=BE=20=D0=BB=D0=B8?= =?UTF-8?q?=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/install.sh b/install.sh index ff17139..ae9d003 100755 --- a/install.sh +++ b/install.sh @@ -43,6 +43,18 @@ check_os() { fi } +get_latest_version() { + curl -fsSL "$GITHUB_API" | sed -n 's/.*"tag_name": "\(.*\)".*/\1/p' +} + +get_installed_version() { + if [[ -f "$INSTALL_PATH/VERSION" ]]; then + cat "$INSTALL_PATH/VERSION" + else + echo "" + fi +} + install_python() { log "Python не найден, установка встроенного Python..." @@ -59,24 +71,43 @@ install_python() { install_app() { log "Получение последнего релиза..." - TAG=$(curl -fsSL "$GITHUB_API" | sed -n 's/.*"tag_name": "\(.*\)".*/\1/p') + TAG=$(get_latest_version) if [[ -z "$TAG" ]]; then error "Не удалось определить версию релиза" exit 1 fi - log "Найдена версия: $TAG" + INSTALLED_VERSION=$(get_installed_version) + + if [[ -n "$INSTALLED_VERSION" ]]; then + log "Установленная версия: $INSTALLED_VERSION" + log "Последняя версия: $TAG" + + if [[ "$INSTALLED_VERSION" == "$TAG" ]]; then + success "Установлена последняя версия ($TAG), обновление не требуется" + exit 0 + else + warn "Найдена устаревшая версия, выполняется обновление" + fi + + else + log "DCR не установлен, выполняется установка" + fi mkdir -p "$TMPDIR" curl -fsSL -o "$TMPDIR/sources.tar.gz" \ "https://github.com/dexoron/dcr/archive/refs/tags/$TAG.tar.gz" + rm -rf "$INSTALL_PATH" mkdir -p "$INSTALL_PATH" + tar -xf "$TMPDIR/sources.tar.gz" -C "$INSTALL_PATH" --strip-components=1 rm -f "$TMPDIR/sources.tar.gz" - success "Приложение установлено" + echo "$TAG" > "$INSTALL_PATH/VERSION" + + success "Приложение установлено (версия $TAG)" } install_wrapper() {