#!/bin/bash

set -eou pipefail

TMPDIR=$(mktemp --directory)
trap 'rm -rf ${TMPDIR}' EXIT

DIST='trixie-backports'
ARCH='arm64'
BASEURL='https://deb.debian.org/debian'
VERSION='6\.17\.13'

if [ -z "${VERSION}" ]; then
    PATTERN="Filename:.*linux-image-[0-9].*${ARCH}_.*${ARCH}.deb"
else
    PATTERN="Filename:.*linux-image-${VERSION}.*${ARCH}_.*${ARCH}.deb"
fi

# This is quick and dirty, we just stop at the first match. In practice we
# surely have multiple flavors, and perhaps even different kernel versions. For
# example:
#
# Filename: pool/main/l/linux-signed-arm64/linux-image-6.18.3+deb14-arm64_6.18.3-1_arm64.deb
# Filename: pool/main/l/linux-signed-arm64/linux-image-6.18.3+deb14-cloud-arm64_6.18.3-1_arm64.deb

URI_PATH="$(curl --silent "${BASEURL}/dists/${DIST}/main/binary-${ARCH}/Packages.xz" |
    xzgrep --max-count=1 "${PATTERN}" | awk '{print $2}')" || true

URL="${BASEURL}/${URI_PATH}"

echo "# Kconfig of ${ARCH} kernel, dist ${DIST}"
echo "# Downloaded from: ${URL}"

wget --quiet "${URL}" --output-document "${TMPDIR}/kernel.deb"
dpkg --extract "${TMPDIR}/kernel.deb" "${TMPDIR}"

cat "${TMPDIR}"/boot/config-*
