* tools/java b810e8b00e...4ee15fd9ea (1): > install.sh: don't install nodetool into /usr/bin Add a bin/nodetool and install it to bin/ in install.sh. This script simply forwards to scylla nodetool and it is the replacement for the Java nodetool, which is dropped from the java-tools's install.sh, in the submodule update also included in this patch. With this change, we now hardwire the usage of the native nodetool, as *the* nodetool, with the intermediary nodetool wrapper script removed from the picture. Bash completion was copied from the java tools repository and it is now installed by the scylla package, together with nodetool. The Java nodetool is still available as as a fall-back, in case the native nodetool has problems, at the path of /opt/scylladb/share/cassandra/bin/nodetool. Testing I tested upgrades on a DEB and RPM distro: Ubuntu and Fedora. First I installed scylla-5.4, then I installed the packages for this PR. On Ubuntu, I had to use dpkg -i --auto-deconfigure, otherwise, dpkg would refuse to install the new packages because they break the old ones. No extra flags were required on Fedora. In both cases, /usr/bin/nodetool was changed from a thunk calling the Java nodetool (from 5.4) to the native launcher script from this PR. /opt/scylladb/share/cassandra/bin/nodetool remained in place and still works after the upgrade. I also verified that --nonroot installs also work. Nodetool works both when called with an absolute path, or when ~/scylladb/bin is added to $PATH. Fixes: #18226 Fixes: #17412 Closes scylladb/scylladb#18255 [avi: reset submodule to actual hash we ended up with]
15 lines
292 B
Bash
Executable File
15 lines
292 B
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Copyright (C) 2024-present ScyllaDB
|
|
#
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
#
|
|
|
|
SCRIPT_PATH=$(dirname $(realpath "$0"))
|
|
|
|
INSTALLED_SCYLLA_PATH="${SCRIPT_PATH}/scylla"
|
|
|
|
# Allow plugging scylla path for local testing
|
|
exec ${SCYLLA:-${INSTALLED_SCYLLA_PATH}} nodetool $@
|