Баннер BBox как шаблон из репозитория (motd/10-armbian-header.tpl): версия/URL подставляются при установке, обновление при смене версии
This commit is contained in:
@@ -20,6 +20,9 @@ NC='\033[0m'
|
||||
BIN_DIR="/usr/local/bin"
|
||||
SERVICE_DIR="/etc/systemd/system"
|
||||
MARKER="/var/lib/bbox-firstboot-done"
|
||||
MOTD_HEADER="/etc/update-motd.d/10-armbian-header"
|
||||
MOTD_TPL_REPO="motd/10-armbian-header.tpl"
|
||||
MOTD_SHARE_DIR="/usr/local/share/bbox/motd"
|
||||
|
||||
log() { echo -e "${GREEN}[install-scripts]${NC} $*"; }
|
||||
warn() { echo -e "${YELLOW}[install-scripts][warn]${NC} $*"; }
|
||||
@@ -27,6 +30,10 @@ fail() { echo -e "${RED}[install-scripts][error]${NC} $*"; exit 1; }
|
||||
|
||||
SCRIPT_SRC_DIR="$(cd "$(dirname "$(readlink -f "$0")")" && pwd)"
|
||||
|
||||
# Версия/URL — единый источник (должны совпадать с init_system.sh)
|
||||
BBOX_VERSION="${BBOX_VERSION:-1.2}"
|
||||
BBOX_URL="${BBOX_URL:-bbox.wtf}"
|
||||
|
||||
install_script() {
|
||||
local src="$1" dst="$2"
|
||||
if [ ! -f "$src" ]; then
|
||||
@@ -37,6 +44,45 @@ install_script() {
|
||||
log "Установлен: $dst"
|
||||
}
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Баннер BBox: установка из шаблона репозитория (motd/10-armbian-header.tpl)
|
||||
# ---------------------------------------------------------------------------
|
||||
install_motd_template() {
|
||||
local tpl_src=""
|
||||
for candidate in \
|
||||
"$SCRIPT_SRC_DIR/$MOTD_TPL_REPO" \
|
||||
"$SCRIPT_SRC_DIR/../$MOTD_TPL_REPO" \
|
||||
"$SCRIPT_SRC_DIR/motd/10-armbian-header.tpl"
|
||||
do
|
||||
if [ -f "$candidate" ]; then
|
||||
tpl_src="$candidate"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z "$tpl_src" ]; then
|
||||
warn "Шаблон баннера не найден ($MOTD_TPL_REPO), баннер не изменён."
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Бэкап дефолтного баннера Armbian (один раз)
|
||||
if [ -f "$MOTD_HEADER" ] && [ ! -f "${MOTD_HEADER}.bak" ]; then
|
||||
cp -f "$MOTD_HEADER" "${MOTD_HEADER}.bak"
|
||||
log "Бэкап дефолтного баннера: ${MOTD_HEADER}.bak"
|
||||
fi
|
||||
|
||||
# Подстановка версии/URL и установка
|
||||
sed -e "s|__BBOX_VERSION__|${BBOX_VERSION}|g" \
|
||||
-e "s|__BBOX_URL__|${BBOX_URL}|g" "$tpl_src" > "$MOTD_HEADER"
|
||||
chmod 755 "$MOTD_HEADER"
|
||||
log "Баннер BBox v${BBOX_VERSION} установлен из шаблона ($tpl_src)"
|
||||
|
||||
# Копия шаблона для последующих запусков init-system из /usr/local/bin
|
||||
mkdir -p "$MOTD_SHARE_DIR"
|
||||
install -m 0644 "$tpl_src" "$MOTD_SHARE_DIR/$(basename "$tpl_src")"
|
||||
log "Шаблон баннера сохранён: $MOTD_SHARE_DIR/$(basename "$tpl_src")"
|
||||
}
|
||||
|
||||
install_firstboot_service() {
|
||||
local unit="$SERVICE_DIR/bbox-firstboot.service"
|
||||
cat > "$unit" <<EOF
|
||||
@@ -78,6 +124,9 @@ main() {
|
||||
log "tmux-конфиг установлен в /root/.tmux.conf"
|
||||
fi
|
||||
|
||||
# Баннер BBox — всегда переустанавливается из шаблона репозитория
|
||||
install_motd_template
|
||||
|
||||
install_firstboot_service
|
||||
|
||||
log "Готово. Запуск вручную:"
|
||||
|
||||
Reference in New Issue
Block a user