summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUltrabug <ultrabug@gentoo.org>2019-08-12 23:10:20 +0200
committerUltrabug <ultrabug@gentoo.org>2019-08-12 23:10:20 +0200
commit4eacc1600251e62424a7bfb3883994f6a0a7edc6 (patch)
tree9ecb3d97d1a01330757d7f4d633168ae705e8931
parentapp-admin/scylla-jmx: master and 3.1 version bump (diff)
downloadultrabug-4eacc1600251e62424a7bfb3883994f6a0a7edc6.tar.gz
ultrabug-4eacc1600251e62424a7bfb3883994f6a0a7edc6.tar.bz2
ultrabug-4eacc1600251e62424a7bfb3883994f6a0a7edc6.zip
dev-db/scylla: master and 3.1 version bump
Package-Manager: Portage-2.3.71, Repoman-2.3.17 Manifest-Sign-Key: F30FAFEE3BD598228B24CB121A3A8C89C56D610B Signed-off-by: Alexys Jacob <ultrabug@gentoo.org>
-rw-r--r--dev-db/scylla/Manifest30
-rw-r--r--dev-db/scylla/files/fix-fmt-3.5.0-compilation.patch94
-rw-r--r--dev-db/scylla/scylla-3.1_beta.ebuild236
-rw-r--r--dev-db/scylla/scylla-9999.ebuild86
4 files changed, 360 insertions, 86 deletions
diff --git a/dev-db/scylla/Manifest b/dev-db/scylla/Manifest
index ee311a8..c796a7d 100644
--- a/dev-db/scylla/Manifest
+++ b/dev-db/scylla/Manifest
@@ -4,6 +4,7 @@ Hash: SHA256
AUX 0001-thrift-support-version-0.11-after-THRIFT-2221.patch 40277 BLAKE2B 4296b042320db3f3669f487961e58f75403d79fbdce06a4f04b3c9e83b243b637a513cf868c618fac26df82d20bfb7de44b51c959e09d299f6a1f72e54387761 SHA512 5403833a82972be26e5d50f0557cb7a4a2985dec487be3aeb907720b5a8f638d1e3c6bfd3d06bb0c097c707135f29b137f63e77d76ba918f009d179a27dc0c91
AUX 10-scylla.conf 64 BLAKE2B 31ce1b2173214bcac351b71cf19e5506ab08cefbca446ce23ad753c98c5e4fd7fbb89b0f79703ea4dcf1f6233e7929268365eeaab1b4e2e7b31553aa7928a969 SHA512 c24b3ec2f0ea3b1ad0792c05a8eb044b3a157862b59759e020586ae872f9789a558d423fe1dff1a8c6d8342049cf4d919faf31a1439a6a1c69af915365b4ec82
AUX boost-1.65.0-icl-ttp-matching.patch 1427 BLAKE2B de9c77253963656f85ed2d05babd600bc5b59b567bc889ed815dfba97f2a1334df48dbb1e67879dea1419fb439c513c54a66531d4e8ec28a7848385f70471334 SHA512 aaa7959df631c17a80486e5b6724d76bf2193694f5559443350c74567506f36c133f740adcbb1b2d3a5a2760730f498f0fd655ec6eff6d20393b6e49549c6ec8
+AUX fix-fmt-3.5.0-compilation.patch 3785 BLAKE2B 3cd23ccffe1ec33d5f7e2c6c3583631b294fc0e6d36e49eef582598fd168968805dd7ca4cc786c02cb20ae1e758a814e1b761dbd41a86330906cd4b5af5d6666 SHA512 d7606559fb2aef9ea009e8c417397dcc94d0c708da8283d4c1c6393c059ecca50d9806cfb19d1fe69b8d7898da2b8d194fbc8b8dd1aa9c12e0d6120d52bc2518
AUX scylla-server.confd 386 BLAKE2B e075e8f5cac2ac373a43a637a4080fde5cbd402b5bef2a3865980f3f9d123366315d994ebf9abbd749167db6e1fa9c840295171add7c5507120be70020aaefa1 SHA512 5d3c55933a02d3b16837013b37110f6669c14e01599532f30935b5dc29871a5bed897c9eb01a6e89469eab7d645c9231745a06c2ef827f6700e13c8faa9cdb87
AUX scylla-server.initd 962 BLAKE2B cbe13c8a03cb4d084e477dd449ff51355e886a31d70a8da1cf2a899b3f48c2c01680dd020d665c71497b1c6b2dadd38d417ea80389413b1e54ee622f207c37ce SHA512 b77473bba63e1fa9e83c0d0c9ba5cd7cc69920ada8b1a79de1a5bc609f797e870b7cd31af658cb11d84d019c905c78a4a0420173226163048ca6439ea2210a16
AUX scylla.sudoers 162 BLAKE2B 9aa0dce391da1f420a070d73d061452eeba60ad268f13a5bb8c0525d714d27dfa438efa9c6871c916b82ebf56f34c507826315de8b1fadc3d0eb5feae663cbcc SHA512 aabdeb3854eaad4b1cf9037a998cf94b8f55b2011e8f81a1778095b71806d89e217f2025e772c636569f833f7df45108e2e30c2c1e70fdb59acf37e6cdf81485
@@ -20,24 +21,25 @@ DIST xxhash-744892b802dcf61a78a3f2f1311d542577c16d66.tar.gz 29205 BLAKE2B 594f09
EBUILD scylla-3.0.6.ebuild 9030 BLAKE2B a8ac0f6fef3c5b096a8df627c2bd3cb25374214883e655618a2308e6a0652970c2c60d2b48fae42fffd3374189c96441d8cc0c4c7ee5359d500ffe2352058c28 SHA512 87b9fe1aabaedac861fd6868e65501f6e08b75450fa801ba760d0125666445b97cab10683dd07eab7b988d2520d471458ecb5cb867d8822f7ac6d1fe50cb8986
EBUILD scylla-3.0.8.ebuild 9111 BLAKE2B 565f5d1b42257afbfdf12ec729b7950b77b0f8d7bffb07960c4412e74223966ec368057236ee8fa75c8aee1bdc6f6fa6d06acb4d57a34ffedc2c8670a4178149 SHA512 477be22fcf71b9ec149aeb5b61b5419b3dd0cdb5b28e1d6c094f1acdd6b3aaa1c34b9b0d85bbd13feb9fd2d1b64ba8d90a7dda00b8cb1804f61eec1bdc73fd33
EBUILD scylla-3.0.9.ebuild 9218 BLAKE2B 0b2966a89c72872bebfd3dbe3bc6fea72257a40e269e812037f574491e5fa28f87b1838978251893e83cf207f6d19db63c4800783071a80d137f24cef6f72cde SHA512 1dbe1b9b4cc719c0241fd9f33f96dffbb2b3430963fc4b57e300059547d274dd3e6592db31bacc60cca783fbe862586c93efd58c8b3b6bbbb303864066d5be12
-EBUILD scylla-9999.ebuild 8732 BLAKE2B 70c71d130bc7c3778db8ed81c2f9c331822494122f5ba73186d5f5117cd6ebc2daa9e15df1282e7d8747c78777c70f90fa839e20b3dc781d203a860bf452f77f SHA512 a74398c898c9e94a31fb958801d5e5b9cb480fca0bbc83dd4868f7e03e2cd030c13ef04fbaaf1a7cb8b3d1c68bea42cb4becbc2b4db9a2214903b909df69e24b
+EBUILD scylla-3.1_beta.ebuild 6909 BLAKE2B 6413d4e3e8ecf0e87d527577d4adfee425290c332e5fc1fedf2319284a8b69563c070d37411f76430e9f7df15d47533fe1f32f1d7783abea333a0ffae2c27fad SHA512 3f681a5cbf62787ad717fba60cdb8d07868de0b96f715dfadad5a8a26320a0df5864d27ae274278e2279749f96deeb83dbba7a348407bf1832d83133b643104a
+EBUILD scylla-9999.ebuild 6833 BLAKE2B c21b0db85ca5b2dbe90a7523b739fa6614d40fd0264d8cd5bf77f1c1b37b31f1f042c946b76d5c1e74907badf931c188f7f5112105089658ff6acfc80f440021 SHA512 e5237eddd44fa0f4f88a6aa4bd2d6015dc6c61597636e03957ea932cce240de05533e223aae0abb68d37d16c7734e64267f2b77aedb3913c24b6b73210629972
MISC metadata.xml 249 BLAKE2B 40afa233e18ae5678e52194be8b1235d8deda4810e55b33ea192ded6b09a158f1bc941544f90a1b9e396db00bc0fe277c072d267568473ae4aa2dec8bc5c2f89 SHA512 6eae78a65db44c8f7ef2d20c10c8612cd2072c0204c6294798e4bf94f1283c684c22d1ad28e0f68e78e82a0c60526d6786492c9dacc438d83405218e51c1bf9c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iQKTBAEBCAB9FiEEGiPLJcoPPNcvDvnY9mwK1B9ohkIFAl1LRrRfFIAAAAAALgAo
+iQKTBAEBCAB9FiEEGiPLJcoPPNcvDvnY9mwK1B9ohkIFAl1R1bdfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDFB
MjNDQjI1Q0EwRjNDRDcyRjBFRjlEOEY2NkMwQUQ0MUY2ODg2NDIACgkQ9mwK1B9o
-hkIjWw/9Ht1TyQnOS0F47XmjitGnXUUKIvfd8tqbjUZhNmhiymqkfqLRlVCKKPaD
-IgkvwIDBwEOxGZikZPX7Qt3PNS8wGgapvkkeYY7DSV+WNQqaDhNKWZqy5A5es/rj
-kcCVtMIEslMxwS+qJ2PnQplKN4GxSxR4CS3ELBO3J6s8+L1/SS+LG3o0nTj92Vv/
-fqz/2JlcvDfrK1gETUWBFk5YPAMeZP64X5javRONJD+Lkm+bIOduvtwIv1WhTqWe
-RjB6Ruky2+4N3EHqdWp4HTfESmI5PFCZu9EUHynIks/MD8YUtKbNqf56xuJbdlBe
-au7wG0yLBPuBJUVoD+7AZbIGnjvN6dsJ04S+CB57uYc/AbbaJzjJPIhyV9TKmHg0
-ZL9EwC5ggELXDUQDGe+N0MTE63l5xqyy4w9IZ1otlZmEc+XMCFY/EB5Cqd3cq6zX
-izLrcoJtCzRt7+cTf+o8VnzntwrlooUpSRG4E7YUC+ZbYeJLlD/7e6OWBFPw3Ivv
-YLUSSc3D2cT333PQnidh5QiAADScxT5CHos9zKSo6QxPYC/CMW65LtOcm2STA3GC
-4VoM+2cdAw5HiNPhK3WnGYGx2c4avkQmxiajnUlC9q5NvErRl8AI3iJslNbcuvp5
-44U9+l0gKfkUvHNb4k6pgAD0EKVmhlsB2q0MyC7oOKHwh8rlCaU=
-=gtp8
+hkLu6BAAlbWxvYR4LDtM94mz4Wybit1heAztSWjNz7aDErCd4QpORFCdbqVlbp2u
+s+ZFHWObo18/cpT0a83fi+sybAFwdZ+cPOODHeJHqK87QFQ1JhTO67xWrmeLXOtx
+hRKOqatB3DERqJAkDPYYi3ighfPss0RkBTdKcm86VI91QDSZxs8kqGGBJaGkuVdE
+57fKysO6VZ+xPaX9Is7KctPiIMOk8s8VuWT4WSGQo7G1eYmt1/83dw1LjWsOmwd+
+Lnl5hnYu7iWHI5I405v1KLLDOO/54IQWJ8M+haJ5/kF4PcJU2dU9oUCvZLU3eOUh
+l7UsPNh2UNIOtpeLIUhTNM8wCpZ5GIITjslzM1pYx66CZ9O85Hr3WKL/POu1p3zk
+4pqoOzM93V9V0X2aTGxOxGtoaSlP8DLav4EUS3YzWrRnR99Y7ntXVRuRtPguYYbg
+5H5vp8M0SRwTQP1wyM3eBDYG/ua8WoI3Sganl2g40jIBRFcsKq9xb8dGCXN1REHu
+ac5hlQYjirlLs6EhLX4U9+5f5lrR5V2uqoC3pnMTyjm+xxiJpoM6LPmdTjMozq4F
+KEjp6qY//4+bnsmTV0WZ0vHhKRqDuXbRPVB9nMqi0PJ4MzS9KmRhqOPticU5tVej
+stcnFouE64W3ZieBJVh4Q1ERq1lefLME3uM85Tul48TSXCXwVG8=
+=dA3t
-----END PGP SIGNATURE-----
diff --git a/dev-db/scylla/files/fix-fmt-3.5.0-compilation.patch b/dev-db/scylla/files/fix-fmt-3.5.0-compilation.patch
new file mode 100644
index 0000000..4673e6a
--- /dev/null
+++ b/dev-db/scylla/files/fix-fmt-3.5.0-compilation.patch
@@ -0,0 +1,94 @@
+From 5632c0776e5786c270b4c594ccb7cc3303e1648a Mon Sep 17 00:00:00 2001
+From: Vlad Zolotarov <vladz@scylladb.com>
+Date: Tue, 16 Jul 2019 18:12:31 -0400
+Subject: [PATCH] tests: fix the compilation with fmt v5.3.0
+
+Compilation fails with fmt release 5.3.0 when we print a bytes_view
+using "{}" formatter.
+
+Compiler's complain is: "error: static assertion failed: mismatch
+between char-types of context and argument"
+
+Fix this by explicitly using to_hex() converter.
+
+Signed-off-by: Vlad Zolotarov <vladz@scylladb.com>
+Message-Id: <20190716221231.22605-3-vladz@scylladb.com>
+Signed-off-by: Alexys Jacob <ultrabug@gentoo.org>
+---
+ tests/murmur_hash_test.cc | 2 +-
+ tests/sstable_3_x_test.cc | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/murmur_hash_test.cc b/tests/murmur_hash_test.cc
+index fbe341479..d419cb3a9 100644
+--- a/tests/murmur_hash_test.cc
++++ b/tests/murmur_hash_test.cc
+@@ -99,7 +99,7 @@ std::array<uint64_t,2> prefix_hashes[] = {
+ BOOST_AUTO_TEST_CASE(test_hash_output) {
+ auto assert_hashes_equal = [] (bytes_view data, std::array<uint64_t,2> lhs, std::array<uint64_t,2> rhs) {
+ if (lhs != rhs) {
+- BOOST_FAIL(format("Hashes differ for {} (got {{0x{:x}, 0x{:x}}} and {{0x{:x}, 0x{:x}}})", data,
++ BOOST_FAIL(format("Hashes differ for {} (got {{0x{:x}, 0x{:x}}} and {{0x{:x}, 0x{:x}}})", to_hex(data),
+ lhs[0], lhs[1], rhs[0], rhs[1]));
+ }
+ };
+diff --git a/tests/sstable_3_x_test.cc b/tests/sstable_3_x_test.cc
+index be77e7ecf..cc7756ddf 100644
+--- a/tests/sstable_3_x_test.cc
++++ b/tests/sstable_3_x_test.cc
+@@ -2815,7 +2815,7 @@ SEASTAR_THREAD_TEST_CASE(test_uncompressed_collections_read) {
+ BOOST_FAIL(format("Expected row with column {} having value {}, but it has value {}",
+ def.id,
+ int32_type->decompose(int32_t(val[idx])),
+- entry.first));
++ to_hex(entry.first)));
+ }
+ ++idx;
+ }
+@@ -2858,7 +2858,7 @@ SEASTAR_THREAD_TEST_CASE(test_uncompressed_collections_read) {
+ def.id,
+ int32_type->decompose(int32_t(val[idx].first)),
+ utf8_type->decompose(val[idx].second),
+- entry.first,
++ to_hex(entry.first),
+ entry.second.value().linearize()));
+ }
+ ++idx;
+--
+2.22.0
+
+From fe82437dea46f585758d388ba5d5ef8392cb0421 Mon Sep 17 00:00:00 2001
+From: Vlad Zolotarov <vladz@scylladb.com>
+Date: Thu, 25 Apr 2019 15:34:15 -0400
+Subject: [PATCH] types.cc: fix the compilation with fmt v5.3.0
+
+Compilation fails with fmt release 5.3.0 when we print a bytes_view
+using "{}" formatter.
+
+Compiler's complain is: "error: static assertion failed: mismatch
+between char-types of context and argument"
+
+Fix this by explicitly using to_hex() converter.
+
+Signed-off-by: Vlad Zolotarov <vladz@scylladb.com>
+Signed-off-by: Alexys Jacob <ultrabug@gentoo.org>
+---
+ types.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/types.cc b/types.cc
+index f6067c65c..bf0a9460a 100644
+--- a/types.cc
++++ b/types.cc
+@@ -3212,7 +3212,7 @@ void list_type_impl::validate(bytes_view v, cql_serialization_format sf) const {
+ format("Validation failed for type {}: bytes remaining after reading all {} elements of the list -> [{}]",
+ this->name(),
+ nr,
+- v));
++ to_hex(v)));
+ }
+ }
+
+--
+2.22.0
+
diff --git a/dev-db/scylla/scylla-3.1_beta.ebuild b/dev-db/scylla/scylla-3.1_beta.ebuild
new file mode 100644
index 0000000..2f3e219
--- /dev/null
+++ b/dev-db/scylla/scylla-3.1_beta.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PV="${PV/_beta/}"
+EGIT_CLONE_TYPE="mirror"
+EGIT_COMMIT="next-${MY_PV}"
+EGIT_REPO_URI="https://github.com/scylladb/scylla.git"
+inherit git-r3
+
+PYTHON_COMPAT=( python3_{4,5,6} )
+
+inherit autotools flag-o-matic linux-info python-r1 toolchain-funcs systemd user
+
+DESCRIPTION="NoSQL data store using the seastar framework, compatible with Apache Cassandra"
+HOMEPAGE="http://scylladb.com/"
+
+LICENSE="AGPL-3"
+SLOT="0"
+IUSE="doc systemd"
+
+# NOTE:
+# if you want to debug using backtraces, enable the 'splitdebug' FEATURE:
+# https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
+#
+# then check out:
+# https://github.com/scylladb/scylla/wiki/How-to-resolve-backtrace
+
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/thrift-0.11.0
+ <dev-util/ragel-7.0
+ <sys-apps/hwloc-2.0.0
+ ~app-admin/scylla-jmx-${PV}
+ ~app-admin/scylla-tools-${PV}
+ >=virtual/jdk-1.8.0:*
+ app-arch/lz4
+ app-arch/snappy
+ app-arch/zstd
+ dev-cpp/antlr-cpp:3.5
+ dev-cpp/yaml-cpp
+ dev-java/antlr:3.5
+ ~dev-libs/boost-1.65.0[icu]
+ dev-libs/crypto++
+ dev-libs/jsoncpp
+ dev-libs/libaio
+ >=dev-libs/libfmt-3.2.1
+ dev-libs/libxml2
+ dev-libs/protobuf
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/pystache[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/urwid[${PYTHON_USEDEP}]
+ dev-util/systemtap
+ net-libs/gnutls
+ net-misc/lksctp-tools
+ sys-apps/ethtool
+ sys-fs/xfsprogs
+ sys-libs/libunwind
+ sys-libs/zlib
+ sys-process/numactl
+ x11-libs/libpciaccess
+ systemd? ( sys-apps/systemd )
+"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-3.5
+ dev-util/ninja
+"
+
+# Discussion about kernel configuration:
+# https://groups.google.com/forum/#!topic/scylladb-dev/qJu2zrryv-s
+CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE"
+ERROR_NUMA_BALANCING="${PN} recommends support for Memory placement aware NUMA scheduler (NUMA_BALANCING)."
+ERROR_SYN_COOKIES="${PN} recommends support for TCP syncookie (SYN_COOKIES)."
+ERROR_TRANSPARENT_HUGEPAGE="${PN} recommends support for Transparent Hugepage (TRANSPARENT_HUGEPAGE)."
+
+# NOTE: maybe later depending on upstream energy, support DPDK
+# For DPDK, removed HUGETLBFS PROC_PAGE_MONITOR UIO_PCI_GENERIC in favor of VFIO
+# CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE ~VFIO"
+# ERROR_VFIO="${PN} running with DPDK recommends support for Non-Privileged userspace driver framework (VFIO)."
+
+DOCS=( LICENSE.AGPL NOTICE.txt ORIGIN README.md README-DPDK.md )
+PATCHES=(
+ "${FILESDIR}/fix-fmt-3.5.0-compilation.patch"
+)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ enewgroup scylla
+ enewuser scylla -1 -1 /var/lib/${PN} scylla
+}
+
+src_prepare() {
+ default
+
+ # set version
+ local git_commit=$(git log --pretty=format:'%h' -n 1)
+ echo "${PV}-${git_commit}" > version
+
+ # fix jsoncpp detection
+ sed -e 's@json/json.h@jsoncpp/json/json.h@g' -i json.hh || die
+
+ # QA: no -Werror (tho it does not propagate)
+ sed -e 's/\-Werror//g' -i configure.py || die
+
+ # QA NOTE: respect -O3 as it is upstream recommended
+ # and because we would kill the RAM of the machine with lower optimization
+ # since some files can take up to 8GB of RAM to compile!
+ # sed -e 's/\-O3//g' -i configure.py || die
+
+ # I don't agree with the old 4GB of RAM per job, it's more about 8GB now
+ sed -e 's/4000000000/8000000000/g' -i scripts/jobs || die
+}
+
+src_configure() {
+ python_setup
+
+ # copied from dist/redhat/scylla.spec.mustache
+ # we want a package compiled with old kernel headers to
+ # support nowait aio if the user upgrades their kernel
+ if ! grep -qwr RWF_NOWAIT /usr/include/linux; then
+ append-cflags "-DRWF_NOWAIT=8"
+ fi
+ if ! grep -qwr aio_rw_flags /usr/include/linux; then
+ append-cflags "-Daio_rw_flags=aio_reserved1"
+ fi
+
+ # native CPU CFLAGS are strongly enforced by upstreams, respect that
+ replace-cpu-flags "*" "native"
+
+ append-cflags "-Wno-attributes -Wno-array-bounds"
+
+ ${EPYTHON} configure.py --enable-gcc6-concepts --mode=release --with=scylla --disable-xen --c-compiler "$(tc-getCC)" --compiler "$(tc-getCXX)" --ldflags "${LDFLAGS}" --cflags "${CFLAGS}" --python ${EPYTHON} --with-antlr3 /usr/bin/antlr3.5 || die
+}
+
+src_compile() {
+ # we use the provided 'scripts/jobs' to figure out how many parallel
+ # compilation jobs we can sustain
+ einfo "Compiling using $(scripts/jobs) jobs"
+ ninja -v build/release/scylla build/release/iotune -j$(scripts/jobs) || die
+}
+
+src_install() {
+ # NOTE:
+ # I base myself on upstream's install.sh file
+
+ default
+
+ local MUSTACHE_DIST="\"debian\": true"
+ pystache dist/common/systemd/scylla-server.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-server.service
+ pystache dist/common/systemd/scylla-housekeeping-daily.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-daily.service
+ pystache dist/common/systemd/scylla-housekeeping-restart.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-restart.service
+
+ insinto /etc/default
+ doins dist/common/sysconfig/scylla-server
+
+ insinto /etc/security/limits.d
+ doins dist/common/limits.d/scylla.conf
+
+ insinto /etc/scylla.d
+ doins dist/common/scylla.d/*.conf
+
+ insinto /etc/sysctl.d
+ doins dist/common/sysctl.d/*.conf
+
+ insinto /etc/scylla
+ for config_file in scylla.yaml cassandra-rackdc.properties; do
+ doins conf/${config_file}
+ done
+
+ systemd_dounit build/*.service
+ systemd_dounit dist/common/systemd/*.service
+ systemd_dounit dist/common/systemd/*.timer
+
+ exeinto /usr/lib/scylla
+ doexe dist/common/scripts/*
+ doexe seastar/scripts/*
+ doexe scylla-gdb.py
+
+ dobin build/release/iotune
+ dobin build/release/scylla
+
+ insinto /usr/lib/scylla
+ doins dist/common/scripts/scylla_blocktune.py
+
+ exeinto /usr/lib/scylla
+ doexe dist/common/scripts/scylla-blocktune
+ doexe dist/common/scripts/scylla-housekeeping
+
+ insinto /etc/scylla.d
+ doins conf/housekeeping.cfg
+
+ newinitd "${FILESDIR}/scylla-server.initd" ${PN}-server
+ newconfd "${FILESDIR}/scylla-server.confd" ${PN}-server
+
+ dodoc -r licenses
+
+ for x in /var/lib/${PN} /var/lib/${PN}/{data,commitlog,hints,coredump} /var/lib/scylla-housekeeping /var/log/scylla; do
+ keepdir "${x}"
+ fowners scylla:scylla "${x}"
+ done
+
+ insinto /usr/lib/scylla/swagger-ui
+ doins -r swagger-ui/dist
+
+ insinto /usr/lib/scylla/api
+ doins -r api/api-doc
+
+ insinto /usr/lib/scylla/scyllatop
+ doins -r tools/scyllatop/*
+ fperms +x /usr/lib/scylla/scyllatop/scyllatop.py
+ dosym /usr/lib/scylla/scyllatop/scyllatop.py /usr/sbin/scyllatop
+
+ for util in $(ls dist/common/sbin/); do
+ dosym /usr/lib/scylla/${util} /usr/sbin/${util}
+ done
+
+ insinto /etc/sudoers.d
+ newins "${FILESDIR}"/scylla.sudoers scylla
+
+ insinto /etc/rsyslog.d
+ doins "${FILESDIR}/10-scylla.conf"
+}
+
+pkg_postinst() {
+ elog "You should run 'emerge --config dev-db/scylla' to finalize your ScyllaDB installation."
+}
+
+pkg_config() {
+ elog "Running 'scylla_setup'..."
+ scylla_setup
+}
diff --git a/dev-db/scylla/scylla-9999.ebuild b/dev-db/scylla/scylla-9999.ebuild
index f983c40..9bdd6bc 100644
--- a/dev-db/scylla/scylla-9999.ebuild
+++ b/dev-db/scylla/scylla-9999.ebuild
@@ -3,31 +3,10 @@
EAPI=6
-if [[ ${PV} == "9999" ]] ; then
- EGIT_CLONE_TYPE="mirror"
- #EGIT_COMMIT="scylla-"
- EGIT_REPO_URI="https://github.com/scylladb/scylla.git"
- inherit git-r3
-else
- MY_PV="${PV/_rc/.rc}"
- MY_P="${PN}-${MY_PV}"
- AMI_COMMIT=""
- FMT_COMMIT=""
- SEASTAR_COMMIT=""
- SWAGGER_COMMIT=""
- XXHASH_COMMIT=""
- SRC_URI="
- https://github.com/scylladb/${PN}/archive/scylla-${MY_PV}.tar.gz -> ${MY_P}.tar.gz
- https://github.com/scylladb/seastar/archive/${SEASTAR_COMMIT}.tar.gz -> seastar-${SEASTAR_COMMIT}.tar.gz
- https://github.com/scylladb/libdeflate/archive/${LIBDEFLATE_COMMIT}.tar.gz -> libdeflate-${LIBDEFLATE_COMMIT}.tar.gz
- https://github.com/scylladb/scylla-swagger-ui/archive/${SWAGGER_COMMIT}.tar.gz -> scylla-swagger-ui-${SWAGGER_COMMIT}.tar.gz
- https://github.com/scylladb/fmt/archive/${FMT_COMMIT}.tar.gz -> fmt-${FMT_COMMIT}.tar.gz
- https://github.com/scylladb/scylla-ami/archive/${AMI_COMMIT}.tar.gz -> scylla-ami-${AMI_COMMIT}.tar.gz
- https://github.com/scylladb/xxHash/archive/${AMI_COMMIT}.tar.gz -> scylla-xxhash-${XXHASH_COMMIT}.tar.gz
- "
- KEYWORDS="~amd64"
- S="${WORKDIR}/scylla-${MY_P}"
-fi
+EGIT_CLONE_TYPE="mirror"
+EGIT_COMMIT="master"
+EGIT_REPO_URI="https://github.com/scylladb/scylla.git"
+inherit git-r3
PYTHON_COMPAT=( python3_{4,5,6} )
@@ -58,13 +37,15 @@ RDEPEND="
>=virtual/jdk-1.8.0:*
app-arch/lz4
app-arch/snappy
+ app-arch/zstd
dev-cpp/antlr-cpp:3.5
dev-cpp/yaml-cpp
dev-java/antlr:3.5
- dev-libs/boost
+ ~dev-libs/boost-1.65.0[icu]
dev-libs/crypto++
dev-libs/jsoncpp
dev-libs/libaio
+ >=dev-libs/libfmt-3.5.0
dev-libs/libxml2
dev-libs/protobuf
dev-python/pyparsing[${PYTHON_USEDEP}]
@@ -104,14 +85,6 @@ ERROR_TRANSPARENT_HUGEPAGE="${PN} recommends support for Transparent Hugepage (T
DOCS=( LICENSE.AGPL NOTICE.txt ORIGIN README.md README-DPDK.md )
PATCHES=()
-pkg_pretend() {
- if tc-is-gcc ; then
- if [[ $(gcc-major-version) -lt 7 && $(gcc-minor-version) -lt 3 ]] ; then
- die "You need at least sys-devel/gcc-7.3"
- fi
- fi
-}
-
pkg_setup() {
linux-info_pkg_setup
enewgroup scylla
@@ -121,33 +94,9 @@ pkg_setup() {
src_prepare() {
default
- # replace git submodules by symlinks
- if [[ ${PV} == "9999" ]] ; then
- # set version
- local git_commit=$(git log --pretty=format:'%h' -n 1)
- echo "${PV}-${git_commit}" > version
- else
- rmdir seastar || die
- mv "${WORKDIR}/seastar-${SEASTAR_COMMIT}" seastar || die
-
- rmdir seastar/fmt || die
- mv "${WORKDIR}/fmt-${FMT_COMMIT}" seastar/fmt || die
-
- rmdir swagger-ui || die
- mv "${WORKDIR}/scylla-swagger-ui-${SWAGGER_COMMIT}" swagger-ui || die
-
- rmdir dist/ami/files/scylla-ami || die
- mv "${WORKDIR}/scylla-ami-${AMI_COMMIT}" dist/ami/files/scylla-ami || die
-
- rmdir xxHash || die
- mv "${WORKDIR}/xxHash-${XXHASH_COMMIT}" xxHash || die
-
- rmdir libdeflate || die
- mv "${WORKDIR}/libdeflate-${LIBDEFLATE_COMMIT}" libdeflate || die
-
- # set version
- echo "${MY_PV}-gentoo" > version
- fi
+ # set version
+ local git_commit=$(git log --pretty=format:'%h' -n 1)
+ echo "${PV}-${git_commit}" > version
# fix jsoncpp detection
sed -e 's@json/json.h@jsoncpp/json/json.h@g' -i json.hh || die
@@ -227,17 +176,17 @@ src_install() {
exeinto /usr/lib/scylla
doexe dist/common/scripts/*
doexe seastar/scripts/*
+ doexe scylla-gdb.py
dobin build/release/iotune
dobin build/release/scylla
- dobin dist/common/bin/scyllatop
insinto /usr/lib/scylla
doins dist/common/scripts/scylla_blocktune.py
exeinto /usr/lib/scylla
doexe dist/common/scripts/scylla-blocktune
- doexe scylla-housekeeping
+ doexe dist/common/scripts/scylla-housekeeping
insinto /etc/scylla.d
doins conf/housekeeping.cfg
@@ -261,9 +210,7 @@ src_install() {
insinto /usr/lib/scylla/scyllatop
doins -r tools/scyllatop/*
fperms +x /usr/lib/scylla/scyllatop/scyllatop.py
-
- insinto /var/lib/scylla-housekeeping
- doins -r scylla-housekeeping
+ dosym /usr/lib/scylla/scyllatop/scyllatop.py /usr/sbin/scyllatop
for util in $(ls dist/common/sbin/); do
dosym /usr/lib/scylla/${util} /usr/sbin/${util}
@@ -274,11 +221,6 @@ src_install() {
insinto /etc/rsyslog.d
doins "${FILESDIR}/10-scylla.conf"
-
- if ! use systemd; then
- insinto /etc/cron.d
- newins dist/debian/scylla-server.cron.d scylla_delay_fstrim
- fi
}
pkg_postinst() {
@@ -288,4 +230,4 @@ pkg_postinst() {
pkg_config() {
elog "Running 'scylla_setup'..."
scylla_setup
-} \ No newline at end of file
+}