From ef229a5d23e96f1ae5ac05d27db50a1e163291c4 Mon Sep 17 00:00:00 2001 From: Israel Fruchter Date: Tue, 8 Nov 2022 17:47:22 +0200 Subject: [PATCH] Repackaging cqlsh cqlsh is moving into it's own repository: https://github.com/scylladb/scylla-cqlsh * add cqlsh as submodule * update scylla-java-tools to have cqlsh remove * introduced new cqlsh artifcat (rpm/deb/tar) Depends: https://github.com/scylladb/scylla-tools-java/pull/316 Ref: scylladb/scylladb#11569 Closes #11937 [avi: restore tools/java submodule location, adjust commit] --- .gitmodules | 3 +++ configure.py | 26 ++++++++++++++++++++------ dist/debian/control.template | 1 + dist/docker/debian/build_docker.sh | 1 + dist/redhat/scylla.spec | 2 +- tools/cqlsh | 1 + tools/java | 2 +- unified/build_unified.sh | 2 +- unified/install.sh | 2 ++ 9 files changed, 31 insertions(+), 9 deletions(-) create mode 160000 tools/cqlsh diff --git a/.gitmodules b/.gitmodules index e5dc17eded..339ec2d76c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -15,3 +15,6 @@ [submodule "scylla-python3"] path = tools/python3 url = ../scylla-python3 +[submodule "tools/cqlsh"] + path = tools/cqlsh + url = ../scylla-cqlsh diff --git a/configure.py b/configure.py index e059e0aefc..b3f1e9b369 100755 --- a/configure.py +++ b/configure.py @@ -2078,9 +2078,10 @@ with open(buildfile, 'w') as f: f.write(f'build dist-server-debuginfo-{mode}: phony $builddir/{mode}/dist/tar/{scylla_product}-debuginfo-{scylla_version}-{scylla_release}.{arch}.tar.gz\n') f.write(f'build dist-jmx-{mode}: phony $builddir/{mode}/dist/tar/{scylla_product}-jmx-{scylla_version}-{scylla_release}.noarch.tar.gz dist-jmx-rpm dist-jmx-deb\n') f.write(f'build dist-tools-{mode}: phony $builddir/{mode}/dist/tar/{scylla_product}-tools-{scylla_version}-{scylla_release}.noarch.tar.gz dist-tools-rpm dist-tools-deb\n') + f.write(f'build dist-cqlsh-{mode}: phony $builddir/{mode}/dist/tar/{scylla_product}-cqlsh-{scylla_version}-{scylla_release}.noarch.tar.gz dist-cqlsh-rpm dist-cqlsh-deb\n') f.write(f'build dist-python3-{mode}: phony dist-python3-tar dist-python3-rpm dist-python3-deb\n') f.write(f'build dist-unified-{mode}: phony $builddir/{mode}/dist/tar/{scylla_product}-unified-{scylla_version}-{scylla_release}.{arch}.tar.gz\n') - f.write(f'build $builddir/{mode}/dist/tar/{scylla_product}-unified-{scylla_version}-{scylla_release}.{arch}.tar.gz: unified $builddir/{mode}/dist/tar/{scylla_product}-{scylla_version}-{scylla_release}.{arch}.tar.gz $builddir/{mode}/dist/tar/{scylla_product}-python3-{scylla_version}-{scylla_release}.{arch}.tar.gz $builddir/{mode}/dist/tar/{scylla_product}-jmx-{scylla_version}-{scylla_release}.noarch.tar.gz $builddir/{mode}/dist/tar/{scylla_product}-tools-{scylla_version}-{scylla_release}.noarch.tar.gz | always\n') + f.write(f'build $builddir/{mode}/dist/tar/{scylla_product}-unified-{scylla_version}-{scylla_release}.{arch}.tar.gz: unified $builddir/{mode}/dist/tar/{scylla_product}-{scylla_version}-{scylla_release}.{arch}.tar.gz $builddir/{mode}/dist/tar/{scylla_product}-python3-{scylla_version}-{scylla_release}.{arch}.tar.gz $builddir/{mode}/dist/tar/{scylla_product}-jmx-{scylla_version}-{scylla_release}.noarch.tar.gz $builddir/{mode}/dist/tar/{scylla_product}-tools-{scylla_version}-{scylla_release}.noarch.tar.gz $builddir/{mode}/dist/tar/{scylla_product}-cqlsh-{scylla_version}-{scylla_release}.noarch.tar.gz | always\n') f.write(f' mode = {mode}\n') f.write(f'build $builddir/{mode}/dist/tar/{scylla_product}-unified-package-{scylla_version}-{scylla_release}.tar.gz: copy $builddir/{mode}/dist/tar/{scylla_product}-unified-{scylla_version}-{scylla_release}.{arch}.tar.gz\n') f.write(f'build $builddir/{mode}/dist/tar/{scylla_product}-unified-{arch}-package-{scylla_version}-{scylla_release}.tar.gz: copy $builddir/{mode}/dist/tar/{scylla_product}-unified-{scylla_version}-{scylla_release}.{arch}.tar.gz\n') @@ -2137,6 +2138,17 @@ with open(buildfile, 'w') as f: build dist-tools-tar: phony {' '.join(['$builddir/{mode}/dist/tar/{scylla_product}-tools-{scylla_version}-{scylla_release}.noarch.tar.gz'.format(mode=mode, scylla_product=scylla_product, scylla_version=scylla_version, scylla_release=scylla_release) for mode in default_modes])} build dist-tools: phony dist-tools-tar dist-tools-rpm dist-tools-deb + build tools/cqlsh/build/{scylla_product}-cqlsh-{scylla_version}-{scylla_release}.noarch.tar.gz: build-submodule-reloc | build/SCYLLA-PRODUCT-FILE build/SCYLLA-VERSION-FILE build/SCYLLA-RELEASE-FILE + reloc_dir = tools/cqlsh + build dist-cqlsh-rpm: build-submodule-rpm tools/cqlsh/build/{scylla_product}-cqlsh-{scylla_version}-{scylla_release}.noarch.tar.gz + dir = tools/cqlsh + artifact = $builddir/{scylla_product}-cqlsh-{scylla_version}-{scylla_release}.noarch.tar.gz + build dist-cqlsh-deb: build-submodule-deb tools/cqlsh/build/{scylla_product}-cqlsh-{scylla_version}-{scylla_release}.noarch.tar.gz + dir = tools/cqlsh + artifact = $builddir/{scylla_product}-cqlsh-{scylla_version}-{scylla_release}.noarch.tar.gz + build dist-cqlsh-tar: phony {' '.join(['$builddir/{mode}/dist/tar/{scylla_product}-cqlsh-{scylla_version}-{scylla_release}.noarch.tar.gz'.format(mode=mode, scylla_product=scylla_product, scylla_version=scylla_version, scylla_release=scylla_release) for mode in default_modes])} + build dist-cqlsh: phony dist-cqlsh-tar dist-cqlsh-rpm dist-cqlsh-deb + build tools/python3/build/{scylla_product}-python3-{scylla_version}-{scylla_release}.{arch}.tar.gz: build-submodule-reloc | build/SCYLLA-PRODUCT-FILE build/SCYLLA-VERSION-FILE build/SCYLLA-RELEASE-FILE reloc_dir = tools/python3 args = --packages "{python3_dependencies}" --pip-packages "{pip_dependencies}" --pip-symlinks "{pip_symlinks}" @@ -2148,11 +2160,11 @@ with open(buildfile, 'w') as f: artifact = $builddir/{scylla_product}-python3-{scylla_version}-{scylla_release}.{arch}.tar.gz build dist-python3-tar: phony {' '.join(['$builddir/{mode}/dist/tar/{scylla_product}-python3-{scylla_version}-{scylla_release}.{arch}.tar.gz'.format(mode=mode, scylla_product=scylla_product, arch=arch, scylla_version=scylla_version, scylla_release=scylla_release) for mode in default_modes])} build dist-python3: phony dist-python3-tar dist-python3-rpm dist-python3-deb - build dist-deb: phony dist-server-deb dist-python3-deb dist-jmx-deb dist-tools-deb - build dist-rpm: phony dist-server-rpm dist-python3-rpm dist-jmx-rpm dist-tools-rpm - build dist-tar: phony dist-unified-tar dist-server-tar dist-python3-tar dist-jmx-tar dist-tools-tar + build dist-deb: phony dist-server-deb dist-python3-deb dist-jmx-deb dist-tools-deb dist-cqlsh-deb + build dist-rpm: phony dist-server-rpm dist-python3-rpm dist-jmx-rpm dist-tools-rpm dist-cqlsh-rpm + build dist-tar: phony dist-unified-tar dist-server-tar dist-python3-tar dist-jmx-tar dist-tools-tar dist-cqlsh-tar - build dist: phony dist-unified dist-server dist-python3 dist-jmx dist-tools + build dist: phony dist-unified dist-server dist-python3 dist-jmx dist-tools dist-cqlsh ''')) f.write(textwrap.dedent(f'''\ @@ -2169,8 +2181,10 @@ with open(buildfile, 'w') as f: build $builddir/{mode}/dist/tar/{scylla_product}-tools-package.tar.gz: copy tools/java/build/{scylla_product}-tools-{scylla_version}-{scylla_release}.noarch.tar.gz build $builddir/{mode}/dist/tar/{scylla_product}-jmx-{scylla_version}-{scylla_release}.noarch.tar.gz: copy tools/jmx/build/{scylla_product}-jmx-{scylla_version}-{scylla_release}.noarch.tar.gz build $builddir/{mode}/dist/tar/{scylla_product}-jmx-package.tar.gz: copy tools/jmx/build/{scylla_product}-jmx-{scylla_version}-{scylla_release}.noarch.tar.gz + build $builddir/{mode}/dist/tar/{scylla_product}-cqlsh-{scylla_version}-{scylla_release}.noarch.tar.gz: copy tools/cqlsh/build/{scylla_product}-cqlsh-{scylla_version}-{scylla_release}.noarch.tar.gz + build $builddir/{mode}/dist/tar/{scylla_product}-cqlsh-package.tar.gz: copy tools/cqlsh/build/{scylla_product}-cqlsh-{scylla_version}-{scylla_release}.noarch.tar.gz - build {mode}-dist: phony dist-server-{mode} dist-server-debuginfo-{mode} dist-python3-{mode} dist-tools-{mode} dist-jmx-{mode} dist-unified-{mode} + build {mode}-dist: phony dist-server-{mode} dist-server-debuginfo-{mode} dist-python3-{mode} dist-tools-{mode} dist-jmx-{mode} dist-unified-{mode} dist-cqlsh-{mode} build dist-{mode}: phony {mode}-dist build dist-check-{mode}: dist-check mode = {mode} diff --git a/dist/debian/control.template b/dist/debian/control.template index 6317b38bb4..145e9f9d45 100644 --- a/dist/debian/control.template +++ b/dist/debian/control.template @@ -54,6 +54,7 @@ Depends: %{product}-server (= ${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. diff --git a/dist/docker/debian/build_docker.sh b/dist/docker/debian/build_docker.sh index c4ca442c49..28be4044c3 100755 --- a/dist/docker/debian/build_docker.sh +++ b/dist/docker/debian/build_docker.sh @@ -51,6 +51,7 @@ packages=( "tools/java/build/debian/$product-tools_$version-$release-1_all.deb" "tools/java/build/debian/$product-tools-core_$version-$release-1_all.deb" "tools/jmx/build/debian/$product-jmx_$version-$release-1_all.deb" + "tools/cqlsh/build/debian/$product-cqlsh_$version-$release-1_all.deb" "tools/python3/build/debian/$product-python3_$version-$release-1_$arch.deb" ) diff --git a/dist/redhat/scylla.spec b/dist/redhat/scylla.spec index 30f17cb554..c62cb766cb 100644 --- a/dist/redhat/scylla.spec +++ b/dist/redhat/scylla.spec @@ -7,7 +7,7 @@ Group: Applications/Databases License: AGPLv3 URL: http://www.scylladb.com/ Source0: %{reloc_pkg} -Requires: %{product}-server = %{version} %{product}-conf = %{version} %{product}-python3 = %{version} %{product}-kernel-conf = %{version} %{product}-jmx = %{version} %{product}-tools = %{version} %{product}-tools-core = %{version} %{product}-node-exporter = %{version} +Requires: %{product}-server = %{version} %{product}-conf = %{version} %{product}-python3 = %{version} %{product}-kernel-conf = %{version} %{product}-jmx = %{version} %{product}-tools = %{version} %{product}-tools-core = %{version} %{product}-node-exporter = %{version} %{product}-cqlsh = %{version} Obsoletes: scylla-server < 1.1 %global _debugsource_template %{nil} diff --git a/tools/cqlsh b/tools/cqlsh new file mode 160000 index 0000000000..b9a606f4b3 --- /dev/null +++ b/tools/cqlsh @@ -0,0 +1 @@ +Subproject commit b9a606f4b38b348f3bf1129c9bb69ce2b95f585a diff --git a/tools/java b/tools/java index ab0a613fdc..eddef02301 160000 --- a/tools/java +++ b/tools/java @@ -1 +1 @@ -Subproject commit ab0a613fdc21017807e923b7a4f7174275800076 +Subproject commit eddef02301726211e9968b75eeb625cb2a545009 diff --git a/unified/build_unified.sh b/unified/build_unified.sh index 445f4240d7..c493d63203 100755 --- a/unified/build_unified.sh +++ b/unified/build_unified.sh @@ -50,7 +50,7 @@ while [ $# -gt 0 ]; do done UNIFIED_PKG="$(realpath -s $UNIFIED_PKG)" -PKGS="build/$MODE/dist/tar/$PRODUCT-$VERSION-$RELEASE.$(arch).tar.gz build/$MODE/dist/tar/$PRODUCT-python3-$VERSION-$RELEASE.$(arch).tar.gz build/$MODE/dist/tar/$PRODUCT-jmx-$VERSION-$RELEASE.noarch.tar.gz build/$MODE/dist/tar/$PRODUCT-tools-$VERSION-$RELEASE.noarch.tar.gz" +PKGS="build/$MODE/dist/tar/$PRODUCT-$VERSION-$RELEASE.$(arch).tar.gz build/$MODE/dist/tar/$PRODUCT-python3-$VERSION-$RELEASE.$(arch).tar.gz build/$MODE/dist/tar/$PRODUCT-jmx-$VERSION-$RELEASE.noarch.tar.gz build/$MODE/dist/tar/$PRODUCT-tools-$VERSION-$RELEASE.noarch.tar.gz build/$MODE/dist/tar/$PRODUCT-cqlsh-$VERSION-$RELEASE.noarch.tar.gz" BASEDIR="build/$MODE/unified/$PRODUCT-$VERSION" rm -rf build/"$MODE"/unified/ diff --git a/unified/install.sh b/unified/install.sh index b0a2d1684c..48b710739b 100755 --- a/unified/install.sh +++ b/unified/install.sh @@ -180,6 +180,8 @@ fi (cd $(readlink -f scylla-tools); ./install.sh --root "$root" --prefix "$prefix" ${args[@]}) +(cd $(readlink -f scylla-cqlsh); ./install.sh --root "$root" --prefix "$prefix" ${args[@]}) + install -m755 uninstall.sh -Dt "$rprefix" if $nonroot && ! $without_systemd_check && ! check_usermode_support; then