#!/bin/sh
# Chạy trên bản đang cài, ngay trước khi DSM thay gói mới.
#
# Không có file này thì DSM từ chối nâng cấp với mã lỗi 261 — nghĩa là mọi khách
# bấm Update trong Package Center đều gặp lỗi. Phát hiện khi thử nâng cấp thật
# trên máy ảo DSM.
#
# Việc duy nhất ở đây: cất dữ liệu kích hoạt (khoá, cấu hình, ID) ra ngoài, vì
# mất nó thì máy phải kích hoạt lại bằng mã giấy phép — thứ khách không giữ.

VAR="/var/packages/rocketzero/var"
BAK="/tmp/rocketzero-var.tgz"
UPGRADING="/tmp/rocketzero-upgrading"

# Báo cho postuninst biết đây là nâng cấp chứ không phải khách gỡ gói.
#
# DSM nâng cấp bằng cách gỡ bản cũ rồi cài bản mới, nên postuninst vẫn chạy giữa
# chừng. Không có dấu này thì mỗi lần bấm Update, postuninst sẽ bỏ
# skip_ip_checking để postinst bật lại ngay sau đó — chẳng được gì, mà trong
# khoảng giữa thì phiên đăng nhập của khách đang vào qua tunnel bị đứt.
: >"$UPGRADING"

[ -d "$VAR" ] && tar -C "$VAR" -czf "$BAK" . 2>/dev/null
exit 0
