this change updates the cqlsh submodule: * tools/cqlsh/ ba83aea3...73bdbeb0 (4): > install.sh: replace tab with spaces > define the the debug packge is empty > tests: switch from using cqlsh bash to the test the python file > package python driver as wheels it also includes follow change to package cqlsh as a regular rpm instead of as a "noarch" rpm: so far cqlsh bundles the python-driver in, but only as source. meaning the package wasn't architecture, and also didn't have the libev eventloop compiled in. Since from python 3.12 and up, that would mean we would fallback into asyncio eventloop (which still exprimental) or into error (once we'll sync with the driver upstream) so to avoid those, we are change the packaging of cqlsh to be architecture specific, and get cqlsh compiled, and bundle all of it's requirements as per architecture installed bundle of wheels. using `shiv`, i.e. one file virtualenv that we'll be packing into our artifacts Ref: https://github.com/scylladb/scylla-cqlsh/issues/90 Ref: https://github.com/scylladb/scylla-cqlsh/pull/91 Ref: https://github.com/linkedin/shiv Closes scylladb/scylladb#19385 * tools/cqlsh ba83aea...242876c (1): > Merge 'package python driver as wheels' from Israel Fruchter Update tools/cqlsh/ submodule in which, the change of `define the the debug packge is empty` should address the build failure like ``` Processing files: scylla-cqlsh-debugsource-6.1.0~dev-0.20240624.c7748f60c0bc.aarch64 error: Empty %files file /jenkins/workspace/scylla-master/next/scylla/tools/cqlsh/build/redhat/BUILD/scylla-cqlsh/debugsourcefiles.list RPM build errors: Empty %files file /jenkins/workspace/scylla-master/next/scylla/tools/cqlsh/build/redhat/BUILD/scylla-cqlsh/debugsourcefiles.list ``` Closes scylladb/scylladb#19473
Docker image with a self-built executable
The following instructions will allow you to build a Docker image which contains a combination of some tools from the nightly build in http://downloads.scylladb.com/ (as described above) but with a Scylla executable which you build yourself.
Do the following in the top-level Scylla source directory:
-
Build your own Scylla in whatever build mode you prefer, e.g., dev.
-
Run
ninja dist-dev(with the same mode name as above) to prepare the distribution artifacts. -
Run
./dist/docker/debian/build_docker.sh --mode devThis creates a docker image as a file, in the OCI format, and prints its name, looking something like:
oci-archive:build/dev/dist/docker/scylla-4.6.dev-0.20210829.4009d8b06 -
This file can copied to a docker repository, or run directly with podman:
podman run oci-archive:build/dev/dist/docker/scylla-4.6.dev-0.20210829.4009d8b06Often with additional parameters, as in docs/alternator/getting-started.md:
podman run --name scylla -d -p 8000:8000 oci-archive:... --alternator-port=8000 --alternator-write-isolation=always