kunlang_video/scripts/package_release.sh

84 lines
2.5 KiB
Bash
Raw Normal View History

2026-05-09 10:51:10 +08:00
#!/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:-}"
2026-05-09 11:12:24 +08:00
"$ROOT_DIR/build/srs/objs/srs"
2026-05-09 10:51:10 +08:00
"$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"