84 lines
2.5 KiB
Bash
Executable File
84 lines
2.5 KiB
Bash
Executable File
#!/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/build/srs/objs/srs"
|
|
"$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"
|