54 lines
1.2 KiB
Bash
Executable File
54 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# jtop launcher with self-update via GitHub + rebuild (requires sudo for update)
|
|
|
|
JTOP_DIR="/usr/local/lib/jtop"
|
|
JTOP_JAR="$JTOP_DIR/jtop.jar"
|
|
GIT_REPO="https://github.com/JGH0/jtop.git"
|
|
|
|
update_jtop() {
|
|
# Check for sudo/root
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "jtop --update requires root privileges. Please run with sudo."
|
|
exit 1
|
|
fi
|
|
|
|
echo "Updating jtop from GitHub..."
|
|
|
|
TMP_DIR=$(mktemp -d)
|
|
echo "Cloning repository into $TMP_DIR..."
|
|
if ! git clone --depth 1 "$GIT_REPO" "$TMP_DIR"; then
|
|
echo "Failed to clone repository."
|
|
rm -rf "$TMP_DIR"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Building jtop..."
|
|
pushd "$TMP_DIR" >/dev/null
|
|
if ! ./build.sh; then
|
|
echo "Build failed."
|
|
popd >/dev/null
|
|
rm -rf "$TMP_DIR"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Installing new version..."
|
|
if ! ./install.sh; then
|
|
echo "Install failed."
|
|
popd >/dev/null
|
|
rm -rf "$TMP_DIR"
|
|
exit 1
|
|
fi
|
|
|
|
popd >/dev/null
|
|
rm -rf "$TMP_DIR"
|
|
echo "Update completed successfully!"
|
|
exit 0
|
|
}
|
|
|
|
# Handle --update argument
|
|
if [[ "$1" == "--update" ]]; then
|
|
update_jtop
|
|
fi
|
|
|
|
# Run jtop normally
|
|
java -jar "$JTOP_JAR" "$@" |