27 lines
920 B
Bash
Executable File
27 lines
920 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Install camera-qrng as a macOS LaunchAgent.
|
|
# The agent runs launch-wrapper.sh which auto-pulls and rebuilds on every
|
|
# (re)start, so binary upgrades are automatic.
|
|
# Usage: ./scripts/install-launchagent.sh
|
|
|
|
set -e
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
PLIST_SRC="${ROOT}/scripts/camera-qrng.plist.in"
|
|
PLIST_DEST="${HOME}/Library/LaunchAgents/camera-trng.plist"
|
|
|
|
echo "Building release binary..."
|
|
(cd "$ROOT" && cargo build --release)
|
|
|
|
mkdir -p "${ROOT}/logs"
|
|
sed -e "s|WORKING_DIR|${ROOT}|g" \
|
|
-e "s|HOME_DIR|${HOME}|g" \
|
|
"$PLIST_SRC" > "$PLIST_DEST"
|
|
echo "Installed plist to ${PLIST_DEST}"
|
|
|
|
launchctl unload "$PLIST_DEST" 2>/dev/null || true
|
|
launchctl load "$PLIST_DEST"
|
|
echo "Loaded. camera-qrng will start at login and restart if it exits."
|
|
echo "On every restart it will git-pull and rebuild automatically."
|
|
echo "Logs: ${ROOT}/logs/"
|
|
echo "To stop: launchctl unload ${PLIST_DEST}"
|