#!/usr/bin/env bash set -euo pipefail script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" package_root="$(cd "$script_dir/.." && pwd)" cd "$package_root" export LD_LIBRARY_PATH="$package_root/lib:${LD_LIBRARY_PATH:-}" echo "=== RK3588 selected4 mainline package validation ===" echo "arch=$(uname -m)" if [[ "$(uname -m)" != "aarch64" ]]; then echo "warning: this delivery binary targets aarch64" >&2 fi echo "=== manifest ===" sha256sum -c MANIFEST_SHA256.txt echo "=== dynamic dependencies ===" ldd lib/libstereo_bolt.so | tee /tmp/selected4_delivery_ldd.txt if grep -q "not found" /tmp/selected4_delivery_ldd.txt; then echo "missing dynamic dependency" >&2 exit 31 fi echo "=== canonical selected4 config path ===" for frame in 19 20 28 43; do echo "--- CONFIG FRAME $frame ---" set +e config_output="$(validation/c_example_centerline \ config/config.rk3588.mainline.yaml \ "validation/inputs/left_${frame}.bmp" \ "validation/inputs/right_${frame}.bmp" 8 2>&1)" config_rc=$? set -e printf '%s\n' "$config_output" if [[ $config_rc -ne 0 ]] || ! grep -q '^success=1 bolts=8 ' <<< "$config_output"; then echo "config-path acceptance failed for frame $frame" >&2 exit 41 fi done echo "=== explicit model/calibration C ABI path ===" for frame in 19 20 28 43; do echo "--- FRAME $frame ---" validation/selected4_delivery_validate \ calib/stereo_calib_20260621_202857_ascii.xml \ weights/model_20260713T084621+0000_c732327c.rknn \ "validation/inputs/left_${frame}.bmp" \ "validation/inputs/right_${frame}.bmp" \ "$frame" 8 done echo "=== PACKAGE_REVERIFY_PASS ==="