#!/usr/bin/env bash set -Eeuo pipefail SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P) PROJECT_DIR=$(cd -- "$SCRIPT_DIR/.." && pwd -P) DEB=${1:-"$PROJECT_DIR/media/out/rk1-media-stack_20260721.1741+rk1.1_arm64.deb"} [[ -f "$DEB" ]] || { echo "Missing media package: $DEB" >&2; exit 1; } TEST_TMP=$(mktemp -d /tmp/rk1-media-package-test.XXXXXXXX) trap 'rm -rf -- "$TEST_TMP"' EXIT dpkg-deb --info "$DEB" >/dev/null dpkg-deb --extract "$DEB" "$TEST_TMP/root" dpkg-deb --control "$DEB" "$TEST_TMP/control" [[ "$(dpkg-deb --field "$DEB" Package)" == rk1-media-stack ]] [[ "$(dpkg-deb --field "$DEB" Architecture)" == arm64 ]] if find "$TEST_TMP/root" \( -type d -o -type f \) -perm /0022 -print -quit | grep -q .; then echo 'Package contains a group/world-writable path' >&2 exit 1 fi ! find "$TEST_TMP/root" -type f -name '*.a' -print -quit | grep -q . ! find "$TEST_TMP/root" -type d -name pkgconfig -print -quit | grep -q . [[ -x "$TEST_TMP/root/opt/rkmedia/bin/ffmpeg-rk" ]] [[ -x "$TEST_TMP/root/opt/rkmedia/bin/kodi-rk" ]] [[ -f "$TEST_TMP/root/usr/lib/systemd/system/kodi-rk.service" ]] [[ ! -e "$TEST_TMP/root/usr/lib/systemd/system/kodi.service" ]] grep -q 'KERNEL=="rknpu\*"' "$TEST_TMP/root/usr/lib/udev/rules.d/70-rkmedia.rules" grep -q 'udevadm trigger.*subsystem-match=drm' "$TEST_TMP/control/postinst" ! grep -q '^ConditionPathExists=/dev/dri/card0' \ "$TEST_TMP/root/usr/lib/systemd/system/kodi-rk.service" echo "PASS: media package structure ($DEB)"