28 lines
1.1 KiB
Bash
28 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
# Wrapper script for brew that runs as linuxbrew user when called by root
|
|
# This is needed because Homebrew refuses to run as root
|
|
|
|
REAL_BREW="/home/linuxbrew/.linuxbrew/bin/brew"
|
|
|
|
# Check if Homebrew is actually installed
|
|
if [ ! -x "$REAL_BREW" ]; then
|
|
echo "ERROR: Homebrew is not installed (likely due to unsupported CPU - requires SSSE3)." >&2
|
|
echo "Some OpenClaw skills that depend on CLI tools (gemini, aider, etc.) will not work." >&2
|
|
echo "Consider using a newer CPU or installing dependencies manually." >&2
|
|
exit 127
|
|
fi
|
|
|
|
if [ "$(id -u)" = "0" ]; then
|
|
# Running as root - use sudo to run as linuxbrew user
|
|
# Preserve necessary environment variables and properly pass all arguments
|
|
exec sudo -u linuxbrew \
|
|
HOMEBREW_NO_AUTO_UPDATE="${HOMEBREW_NO_AUTO_UPDATE:-1}" \
|
|
HOMEBREW_NO_ANALYTICS="${HOMEBREW_NO_ANALYTICS:-1}" \
|
|
HOME="/home/linuxbrew" \
|
|
PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH" \
|
|
"$REAL_BREW" "$@"
|
|
else
|
|
# Not root - run directly
|
|
exec "$REAL_BREW" "$@"
|
|
fi
|