#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" APP_BIN="$ROOT_DIR/bin/vehicle_video_service" DIST_DIR="${DIST_DIR:-$ROOT_DIR/dist}" PACKAGE_NAME="${PACKAGE_NAME:-vehicle-video-service-aarch64}" STAGE_DIR="$DIST_DIR/$PACKAGE_NAME" if [[ "${SKIP_VIDEO_BUILD:-0}" != "1" ]]; then "$ROOT_DIR/scripts/build_video.sh" fi find_srs_bin() { local candidates=( "${SRS_BIN:-}" "$ROOT_DIR/external/srs-server-5.0-r3/trunk/objs/srs" "/home/aiec/srs-server-5.0-r3/trunk/objs/srs" "/home/aiec/srs/bin/srs" ) for candidate in "${candidates[@]}"; do if [[ -n "$candidate" && -x "$candidate" ]]; then echo "$candidate" return 0 fi done return 1 } find_srs_html() { local candidates=( "${SRS_HTML_DIR:-}" "$ROOT_DIR/external/srs-server-5.0-r3/trunk/research/players" "/home/aiec/srs/html" "$ROOT_DIR/deploy/srs/html" ) for candidate in "${candidates[@]}"; do if [[ -n "$candidate" && -d "$candidate" ]]; then echo "$candidate" return 0 fi done return 1 } SRS_BIN_PATH="$(find_srs_bin)" || { echo "SRS binary not found. Set SRS_BIN or run scripts/build_srs.sh first." >&2 exit 1 } SRS_HTML_PATH="$(find_srs_html)" || { echo "SRS html directory not found. Set SRS_HTML_DIR." >&2 exit 1 } if [[ ! -x "$APP_BIN" ]]; then echo "Application binary not found: $APP_BIN" >&2 exit 1 fi rm -rf "$STAGE_DIR" mkdir -p "$STAGE_DIR/bin" "$STAGE_DIR/config" "$STAGE_DIR/srs/bin" "$STAGE_DIR/srs/conf" \ "$STAGE_DIR/srs/html" "$STAGE_DIR/srs/log" "$STAGE_DIR/srs/run" "$STAGE_DIR/systemd" install -m 0755 "$APP_BIN" "$STAGE_DIR/bin/vehicle_video_service" install -m 0644 "$ROOT_DIR/config.json" "$STAGE_DIR/config/config.json" install -m 0755 "$SRS_BIN_PATH" "$STAGE_DIR/srs/bin/srs" cp -a "$SRS_HTML_PATH"/. "$STAGE_DIR/srs/html/" install -m 0644 "$ROOT_DIR/deploy/srs/conf/live.conf" "$STAGE_DIR/srs/conf/live.conf" install -m 0644 "$ROOT_DIR/deploy/srs/conf/record.conf" "$STAGE_DIR/srs/conf/record.conf" install -m 0644 "$ROOT_DIR/deploy/systemd/"*.service.in "$STAGE_DIR/systemd/" install -m 0755 "$ROOT_DIR/deploy/install.sh" "$STAGE_DIR/install.sh" install -m 0755 "$ROOT_DIR/deploy/uninstall.sh" "$STAGE_DIR/uninstall.sh" install -m 0644 "$ROOT_DIR/README.md" "$STAGE_DIR/README.md" tar -C "$DIST_DIR" -czf "$DIST_DIR/$PACKAGE_NAME.tar.gz" "$PACKAGE_NAME" echo "Packaged $DIST_DIR/$PACKAGE_NAME.tar.gz"