Initial RK1 media-center image project
This commit is contained in:
Executable
+54
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
readonly ARMBIAN_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd -P)"
|
||||
|
||||
bash -n \
|
||||
"${ARMBIAN_DIR}/build-image.sh" \
|
||||
"${ARMBIAN_DIR}/userpatches/config-rk1-media.conf" \
|
||||
"${ARMBIAN_DIR}/userpatches/customize-image.sh" \
|
||||
"${ARMBIAN_DIR}/userpatches/extensions/rkbin-tools.sh" \
|
||||
"${ARMBIAN_DIR}/userpatches/overlay/rootfs/usr/local/sbin/rk1-media-first-boot"
|
||||
|
||||
# shellcheck source=../userpatches/source-lock.env
|
||||
source "${ARMBIAN_DIR}/userpatches/source-lock.env"
|
||||
for revision in \
|
||||
"${RK1_MEDIA_ARMBIAN_BUILD_COMMIT}" \
|
||||
"${RK1_MEDIA_KERNEL_COMMIT}" \
|
||||
"${RK1_MEDIA_UBOOT_COMMIT}" \
|
||||
"${RK1_MEDIA_RKBIN_COMMIT}" \
|
||||
"${RK1_MEDIA_FIRMWARE_COMMIT}"; do
|
||||
[[ "${revision}" =~ ^[0-9a-f]{40}$ ]] || { echo "Invalid pinned revision: ${revision}" >&2; exit 1; }
|
||||
done
|
||||
|
||||
jq -e --arg revision "${RK1_MEDIA_FIRMWARE_COMMIT}" \
|
||||
'. == [{"source":"https://github.com/armbian/firmware","branch":"master","sha1":$revision}]' \
|
||||
"${ARMBIAN_DIR}/framework-overrides/config/sources/git_sources.json" >/dev/null
|
||||
|
||||
[[ ! -e "${ARMBIAN_DIR}/userpatches/overlay/build-input/authorized_keys" ]] || {
|
||||
echo "A staged administrator key must not be committed to userpatches/overlay/build-input" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
if command -v apt-config >/dev/null; then
|
||||
apt_dump="$(apt-config -c "${ARMBIAN_DIR}/userpatches/overlay/rootfs/etc/apt/apt.conf.d/52rk1-media-unattended-upgrades" dump)"
|
||||
[[ "$(grep -c '^Unattended-Upgrade::Origins-Pattern:: ' <<< "${apt_dump}")" == "1" ]] || {
|
||||
echo "Unattended upgrades must contain exactly one allowed origin" >&2
|
||||
exit 1
|
||||
}
|
||||
grep -q 'codename=${distro_codename}-security' <<< "${apt_dump}" || {
|
||||
echo "Debian security origin is missing from unattended-upgrades policy" >&2
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
if command -v shellcheck >/dev/null; then
|
||||
shellcheck --exclude=SC1091,SC2154 \
|
||||
"${ARMBIAN_DIR}/build-image.sh" \
|
||||
"${ARMBIAN_DIR}/userpatches/config-rk1-media.conf" \
|
||||
"${ARMBIAN_DIR}/userpatches/customize-image.sh" \
|
||||
"${ARMBIAN_DIR}/userpatches/extensions/rkbin-tools.sh" \
|
||||
"${ARMBIAN_DIR}/userpatches/overlay/rootfs/usr/local/sbin/rk1-media-first-boot"
|
||||
fi
|
||||
|
||||
echo "Armbian scaffolding checks passed."
|
||||
Reference in New Issue
Block a user