#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" DIST_DIR="$ROOT_DIR/dist" TIMESTAMP="$(date +%Y%m%d-%H%M%S)" PACKAGE_ROOT="$DIST_DIR/edge-agent-linux-$TIMESTAMP" RUNTIME_ROOT="$PACKAGE_ROOT/runtime/python" ARCHIVE_PATH="$DIST_DIR/edge-agent-linux-$TIMESTAMP.tar.gz" PYTHON_HOME="${1:-${EDGE_PYTHON_HOME:-}}" if [[ -z "$PYTHON_HOME" ]]; then echo "Python runtime directory is required. Pass it as the first argument or set EDGE_PYTHON_HOME." >&2 exit 1 fi mkdir -p "$PACKAGE_ROOT" mkdir -p "$RUNTIME_ROOT" mkdir -p "$DIST_DIR" cp -r "$ROOT_DIR/app" "$PACKAGE_ROOT/" cp "$ROOT_DIR/README.md" "$PACKAGE_ROOT/" cp "$ROOT_DIR/pyproject.toml" "$PACKAGE_ROOT/" cp "$ROOT_DIR/scripts/start-linux.sh" "$PACKAGE_ROOT/start.sh" cp -r "$PYTHON_HOME"/. "$RUNTIME_ROOT"/ tar -czf "$ARCHIVE_PATH" -C "$PACKAGE_ROOT" . echo "$ARCHIVE_PATH"