Files
scylladb/dist/debian/control.template
Botond Dénes 7cbe5c78b4 install.sh: use the native nodetool directly
* 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]
2024-04-25 22:52:00 +03:00

63 lines
2.1 KiB
Plaintext

Source: %{product}-server
Maintainer: Takuya ASADA <syuu@scylladb.com>
Homepage: http://scylladb.com
Section: database
Priority: optional
X-Python3-Version: >= 3.4
Standards-Version: 3.9.5
Rules-Requires-Root: no
Package: %{product}-conf
Architecture: any
Description: Scylla database main configuration file
Scylla is a highly scalable, eventually consistent, distributed,
partitioned row DB.
Replaces: %{product}-server (<< 1.1)
Conflicts: %{product}-server (<< 1.1)
Package: %{product}-server
Architecture: any
Depends: ${misc:Depends}, %{product}-conf (= ${binary:Version}), %{product}-python3 (= ${binary:Version})
Replaces: %{product}-tools (<<5.5)
Breaks: %{product}-tools (<<5.5)
Description: Scylla database server binaries
Scylla is a highly scalable, eventually consistent, distributed,
partitioned row DB.
Package: %{product}-server-dbg
Section: debug
Priority: extra
Architecture: any
Depends: %{product}-server (= ${binary:Version}), ${misc:Depends}
Description: debugging symbols for %{product}-server
Scylla is a highly scalable, eventually consistent, distributed,
partitioned row DB.
This package contains the debugging symbols for %{product}-server.
Package: %{product}-kernel-conf
Architecture: any
Depends: procps
Description: Scylla kernel tuning configuration
Scylla is a highly scalable, eventually consistent, distributed,
partitioned row DB.
Package: %{product}-node-exporter
Architecture: any
Conflicts: prometheus-node-exporter
Description: Prometheus exporter for machine metrics
Prometheus exporter for machine metrics, written in Go with pluggable metric collectors.
Package: %{product}
Section: metapackages
Architecture: any
Depends: %{product}-server (= ${binary:Version})
, %{product}-jmx (= ${binary:Version})
, %{product}-tools (= ${binary:Version})
, %{product}-tools-core (= ${binary:Version})
, %{product}-kernel-conf (= ${binary:Version})
, %{product}-node-exporter (= ${binary:Version})
, %{product}-cqlsh (= ${binary:Version})
Description: Scylla database metapackage
Scylla is a highly scalable, eventually consistent, distributed,
partitioned row DB.