
# Check whether the specified package file exists on remote host
# Arg: $1 - package filename

if [ -z "$1" ]; then
    echo "Usage: $0 <package_name>"
    echo "REMOTE_PACKAGE_EXISTS=false"
    echo "==check-remote-package.sh=finish=="
    exit 1
fi
TRAE_TMP="${XDG_RUNTIME_DIR:-/tmp}"
PACKAGE_NAME="$1"
REMOTE_PACKAGE_PATH="$TRAE_TMP/$PACKAGE_NAME"

# Check if file exists
if [ -f "$REMOTE_PACKAGE_PATH" ]; then
    echo "REMOTE_PACKAGE_EXISTS=true"
    echo "REMOTE_PACKAGE_PATH=$REMOTE_PACKAGE_PATH"

    # Get file size (bytes)
    if command -v stat >/dev/null 2>&1; then
        # Linux/macOS stat
        if stat -c %s "$REMOTE_PACKAGE_PATH" >/dev/null 2>&1; then
            # GNU stat (Linux)
            REMOTE_PACKAGE_SIZE=$(stat -c %s "$REMOTE_PACKAGE_PATH")
        elif stat -f %z "$REMOTE_PACKAGE_PATH" >/dev/null 2>&1; then
            # BSD stat (macOS)
            REMOTE_PACKAGE_SIZE=$(stat -f %z "$REMOTE_PACKAGE_PATH")
        else
            REMOTE_PACKAGE_SIZE="unknown"
        fi
    else
        # Fallback using ls
        if ls -la "$REMOTE_PACKAGE_PATH" >/dev/null 2>&1; then
            REMOTE_PACKAGE_SIZE=$(ls -la "$REMOTE_PACKAGE_PATH" | awk '{print $5}')
        else
            REMOTE_PACKAGE_SIZE="unknown"
        fi
    fi

    echo "REMOTE_PACKAGE_SIZE=$REMOTE_PACKAGE_SIZE"
    echo "REMOTE_PACKAGE_MTIME="
else
    echo "REMOTE_PACKAGE_EXISTS=false"
    echo "REMOTE_PACKAGE_PATH="
    echo "REMOTE_PACKAGE_SIZE=0"
    echo "REMOTE_PACKAGE_MTIME="
fi

echo "==check-remote-package.sh=finish=="
