#!/bin/bash
set -euo pipefail
source "$(dirname "$0")/lib.sh"

LINDIR="${HAM_HOME}/linbpq"
mkdir -p "$LINDIR"

if [[ "${SKIP_LINBPQ_DOWNLOAD:-}" == "yes" ]] && [[ -x "${LINDIR}/linbpq" ]]; then
    warn "SKIP_LINBPQ_DOWNLOAD=yes and binary present — skipping download"
else
    log "Downloading LinBPQ (64-bit ARM / Pi)..."
    # Official G8BPQ downloads — pilinbpq64 for 64-bit Pi
    # Fallback URL pattern; adjust if John moves files
    cd /tmp
    if ! curl -fsSL -o pilinbpq64 \
        "https://www.cantab.net/users/john.wiseman/Downloads/Beta/pilinbpq64" 2>/dev/null; then
        warn "Beta URL failed — try manual download of pilinbpq64 from G8BPQ site"
        warn "Place the binary at ${LINDIR}/linbpq and re-run with SKIP_LINBPQ_DOWNLOAD=yes"
    else
        chmod +x pilinbpq64
        cp pilinbpq64 "${LINDIR}/linbpq"
        sudo chown "${HAM_USER}:${HAM_USER}" "${LINDIR}/linbpq"
        log "LinBPQ binary installed"
    fi
fi

log "Installing bpq32.cfg..."
template_install \
    "${ROOT}/configs/bpq32.cfg" \
    "${LINDIR}/bpq32.cfg"
sudo chown -R "${HAM_USER}:${HAM_USER}" "$LINDIR"

warn "LinBPQ telnet user password is still 'changeme' — change it in bpq32.cfg or the web UI"
log "LinBPQ step complete"
