fix: xbctl not found after install

- Symlink /usr/local/bin/xbctl → /usr/bin/xbctl for distros where /usr/local/bin is not in PATH
- Show CLI path in install success message
- Remove symlink on uninstall
This commit is contained in:
xboard
2026-04-17 05:57:26 +08:00
parent 680795cdfc
commit 42948ba37c
+4
View File
@@ -655,6 +655,7 @@ install_staged_files() {
install -m 755 "$0" "$INSTALLER_COPY_PATH" install -m 755 "$0" "$INSTALLER_COPY_PATH"
fi fi
install -m 755 "$TMP_DIR/xbctl" "$CLI_PATH" install -m 755 "$TMP_DIR/xbctl" "$CLI_PATH"
ln -sf "$CLI_PATH" /usr/bin/xbctl 2>/dev/null || true
install -m 644 "$TMP_DIR/${SERVICE_NAME}" "$SERVICE_PATH" install -m 644 "$TMP_DIR/${SERVICE_NAME}" "$SERVICE_PATH"
systemctl daemon-reload systemctl daemon-reload
systemctl enable "$SERVICE_NAME" > /dev/null 2>&1 systemctl enable "$SERVICE_NAME" > /dev/null 2>&1
@@ -722,6 +723,7 @@ perform_install() {
if [ "$HEALTH_ENABLED" -eq 1 ]; then if [ "$HEALTH_ENABLED" -eq 1 ]; then
log_info "Health: http://127.0.0.1:${HEALTH_PORT}/healthz" log_info "Health: http://127.0.0.1:${HEALTH_PORT}/healthz"
fi fi
log_info "CLI: ${CLI_PATH} (run '${CLI_PATH} list' if xbctl is not in PATH)"
} }
perform_upgrade() { perform_upgrade() {
@@ -739,6 +741,7 @@ perform_upgrade() {
backup_existing_state backup_existing_state
install -m 755 "$TMP_DIR/xboard-node" "$BINARY_PATH" install -m 755 "$TMP_DIR/xboard-node" "$BINARY_PATH"
install -m 755 "$TMP_DIR/xbctl" "$CLI_PATH" install -m 755 "$TMP_DIR/xbctl" "$CLI_PATH"
ln -sf "$CLI_PATH" /usr/bin/xbctl 2>/dev/null || true
install -m 644 "$TMP_DIR/${SERVICE_NAME}" "$SERVICE_PATH" install -m 644 "$TMP_DIR/${SERVICE_NAME}" "$SERVICE_PATH"
systemctl daemon-reload systemctl daemon-reload
systemctl restart "$SERVICE_NAME" systemctl restart "$SERVICE_NAME"
@@ -772,6 +775,7 @@ perform_uninstall() {
fi fi
rm -f "$BINARY_PATH" rm -f "$BINARY_PATH"
rm -f "$CLI_PATH" rm -f "$CLI_PATH"
rm -f /usr/bin/xbctl 2>/dev/null || true
if [ "$PURGE" -eq 1 ]; then if [ "$PURGE" -eq 1 ]; then
rm -rf "$INSTALL_ROOT" rm -rf "$INSTALL_ROOT"
log_info "Removed ${INSTALL_ROOT}" log_info "Removed ${INSTALL_ROOT}"