mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 13:38:30 +00:00
Добавлена проверка установленной версии, если она есть, проверяет, нужно ли обновление
This commit is contained in:
37
install.sh
37
install.sh
@@ -43,6 +43,18 @@ check_os() {
|
|||||||
fi
|
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() {
|
install_python() {
|
||||||
log "Python не найден, установка встроенного Python..."
|
log "Python не найден, установка встроенного Python..."
|
||||||
|
|
||||||
@@ -59,24 +71,43 @@ install_python() {
|
|||||||
install_app() {
|
install_app() {
|
||||||
log "Получение последнего релиза..."
|
log "Получение последнего релиза..."
|
||||||
|
|
||||||
TAG=$(curl -fsSL "$GITHUB_API" | sed -n 's/.*"tag_name": "\(.*\)".*/\1/p')
|
TAG=$(get_latest_version)
|
||||||
|
|
||||||
if [[ -z "$TAG" ]]; then
|
if [[ -z "$TAG" ]]; then
|
||||||
error "Не удалось определить версию релиза"
|
error "Не удалось определить версию релиза"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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"
|
mkdir -p "$TMPDIR"
|
||||||
curl -fsSL -o "$TMPDIR/sources.tar.gz" \
|
curl -fsSL -o "$TMPDIR/sources.tar.gz" \
|
||||||
"https://github.com/dexoron/dcr/archive/refs/tags/$TAG.tar.gz"
|
"https://github.com/dexoron/dcr/archive/refs/tags/$TAG.tar.gz"
|
||||||
|
|
||||||
|
rm -rf "$INSTALL_PATH"
|
||||||
mkdir -p "$INSTALL_PATH"
|
mkdir -p "$INSTALL_PATH"
|
||||||
|
|
||||||
tar -xf "$TMPDIR/sources.tar.gz" -C "$INSTALL_PATH" --strip-components=1
|
tar -xf "$TMPDIR/sources.tar.gz" -C "$INSTALL_PATH" --strip-components=1
|
||||||
rm -f "$TMPDIR/sources.tar.gz"
|
rm -f "$TMPDIR/sources.tar.gz"
|
||||||
|
|
||||||
success "Приложение установлено"
|
echo "$TAG" > "$INSTALL_PATH/VERSION"
|
||||||
|
|
||||||
|
success "Приложение установлено (версия $TAG)"
|
||||||
}
|
}
|
||||||
|
|
||||||
install_wrapper() {
|
install_wrapper() {
|
||||||
|
|||||||
Reference in New Issue
Block a user