86 lines
2.0 KiB
Bash
Executable File
86 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_DIR="$(cd -- "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
SOURCE_DIR="$PROJECT_DIR/dist/car_ui"
|
|
INSTALL_DIR="/opt/car_ui"
|
|
SERVICE="car-ui.service"
|
|
|
|
DESKTOP_USER="cheykrym"
|
|
DESKTOP_DIR="/home/$DESKTOP_USER/Desktop"
|
|
|
|
LAUNCHER_SOURCE="$PROJECT_DIR/system_configs/Return_to_Car_UI.desktop"
|
|
LAUNCHER_TARGET="$DESKTOP_DIR/Return_to_Car_UI.desktop"
|
|
|
|
HELPER_SOURCE="$PROJECT_DIR/scripts/return-to-car-mode.sh"
|
|
HELPER_TARGET="/usr/local/bin/return-to-car-mode"
|
|
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "ERROR: deploy.sh must be run as root."
|
|
echo
|
|
echo "Run:"
|
|
echo " sudo $0"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -x "$SOURCE_DIR/car_ui" ]]; then
|
|
echo "ERROR: Build not found:"
|
|
echo " $SOURCE_DIR/car_ui"
|
|
echo
|
|
echo "Run scripts/build.sh first."
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -f "$LAUNCHER_SOURCE" ]]; then
|
|
echo "ERROR: Desktop launcher not found:"
|
|
echo " $LAUNCHER_SOURCE"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -f "$HELPER_SOURCE" ]]; then
|
|
echo "ERROR: Return-to-Car helper not found:"
|
|
echo " $HELPER_SOURCE"
|
|
exit 1
|
|
fi
|
|
|
|
echo "==> Stopping $SERVICE"
|
|
|
|
systemctl stop "$SERVICE" 2>/dev/null || true
|
|
|
|
echo "==> Installing Car UI to $INSTALL_DIR"
|
|
|
|
rm -rf "$INSTALL_DIR"
|
|
mkdir -p "$INSTALL_DIR"
|
|
cp -a "$SOURCE_DIR/." "$INSTALL_DIR/"
|
|
|
|
echo "==> Installing Return to Car UI helper"
|
|
|
|
install -m 755 "$HELPER_SOURCE" "$HELPER_TARGET"
|
|
|
|
echo "==> Installing desktop launcher"
|
|
|
|
mkdir -p "$DESKTOP_DIR"
|
|
|
|
install \
|
|
-o "$DESKTOP_USER" \
|
|
-g "$DESKTOP_USER" \
|
|
-m 755 \
|
|
"$LAUNCHER_SOURCE" \
|
|
"$LAUNCHER_TARGET"
|
|
|
|
# Mark launcher as trusted for the desktop environment.
|
|
sudo -u "$DESKTOP_USER" \
|
|
DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u "$DESKTOP_USER")/bus" \
|
|
gio set "$LAUNCHER_TARGET" metadata::trusted true 2>/dev/null || true
|
|
|
|
echo "==> Starting $SERVICE"
|
|
|
|
systemctl start "$SERVICE"
|
|
|
|
echo
|
|
echo "==> Deployment complete"
|
|
echo " Application: $INSTALL_DIR/car_ui"
|
|
echo " Launcher: $LAUNCHER_TARGET"
|