diff options
author | Ultrabug <ultrabug@gentoo.org> | 2019-10-18 09:55:17 +0200 |
---|---|---|
committer | Ultrabug <ultrabug@gentoo.org> | 2019-10-18 09:55:17 +0200 |
commit | 8163df68374371647577f2b9eda80df22ce5cec6 (patch) | |
tree | 5af475a6d9cc0d361288846b76e11ef1ec1d30cd /dev-db/scylla | |
parent | app-admin/scylla-tools: version bump (diff) | |
download | ultrabug-8163df68374371647577f2b9eda80df22ce5cec6.tar.gz ultrabug-8163df68374371647577f2b9eda80df22ce5cec6.tar.bz2 ultrabug-8163df68374371647577f2b9eda80df22ce5cec6.zip |
dev-db/scylla: version bump
Package-Manager: Portage-2.3.76, Repoman-2.3.17
Manifest-Sign-Key: F30FAFEE3BD598228B24CB121A3A8C89C56D610B
Signed-off-by: Alexys Jacob <ultrabug@gentoo.org>
Diffstat (limited to 'dev-db/scylla')
-rw-r--r-- | dev-db/scylla/Manifest | 27 | ||||
-rw-r--r-- | dev-db/scylla/scylla-3.1.0.ebuild | 236 |
2 files changed, 250 insertions, 13 deletions
diff --git a/dev-db/scylla/Manifest b/dev-db/scylla/Manifest index 4daeb2f..84dc397 100644 --- a/dev-db/scylla/Manifest +++ b/dev-db/scylla/Manifest @@ -24,25 +24,26 @@ EBUILD scylla-3.0.10.ebuild 9218 BLAKE2B b993e32bb1eefb017cfad93061be4b1bf752c23 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-3.1.0.ebuild 6908 BLAKE2B 86ddd9ea1ffa81282856d08c7df3ea9d2b017285a2efc3283d51b789065781cf247bc732ceb0e5ab96b6310b60aff24231f86aa6e0ad1425b6009c886e1dcfef SHA512 cb48f38938f5c27534069e90102bf1b2f61ad450fa4d9d2c31465191a8150f3839b34afc1e24facfd5e181c82de6a32cbbb01f30a43cbb6aaebf95b6b70d76d3 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 -iQKTBAEBCAB9FiEEGiPLJcoPPNcvDvnY9mwK1B9ohkIFAl2E8sxfFIAAAAAALgAo +iQKTBAEBCAB9FiEEGiPLJcoPPNcvDvnY9mwK1B9ohkIFAl2pb8lfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDFB MjNDQjI1Q0EwRjNDRDcyRjBFRjlEOEY2NkMwQUQ0MUY2ODg2NDIACgkQ9mwK1B9o -hkJNEw//X9K0t83iJNl6i1O2pf2TVdBQnf9r9Hh9MoWZPnwTnFN2F36gZa2+ImLZ -HJpWFnTthNnraVtwkXeVQZrP6xztMu/h/Hrbkx4rPfrH3QIqaDs2jNAHIqLw0d8b -WgM1FYZs/3DeYc10LBmndEZbw9Qw0zBXklrLJx49sFdnkBS+dyqjvALae3+lfy8x -Z94tbigcZgmEIbqbukvxt4sV81T1GjO7NAgwojCQ62XUJ93oNvwQ/1W3puhpE6xf -IQEj4UjxGitCPUuypJun6RGGVOt3EqSkPzuBYYU7QCiZtr6GiGTHzs9rn/QTkurn -16IgmdSSErIXq089LEg7D4eGitxaWk4TSSA7sQtGoTwDYAn7rZDheEl/83QuE10V -sSYnF4SOrdj+UEUmuQQZ5uv1rmI0IApkaSNjAJUEAxXYMhG5A4z1pIblsIq6Taqq -9Sw45ot6WKrINsqUViqCgxG/iokt/8beL3kT8YLRfcbyYnqI+BkOuxA8z0eFzKuH -II+x3g/tlt/vjWDB37Xk5W/w0V8jY63yzCEwSeyYTUNG4Idxtvh4dQafG0omnxnw -XkntORzgXw7Vgsh/MjCrvQcSX27cKv+DbCkwwLbFF6BDWYW3KmdRoimVAIwOL4uT -OCQOU1SbcwOUbDJ3dz7KqNFWrWt3b3rzT5A0u8r2tRcgSr8KFQM= -=G/va +hkKrbhAAiWf5f7zwxpm0B6c5TE7bSsYS7DptdviBm6wpzVL1w0sROtzJeIXzeFzw +mklFHbgihhgsjqsVjnQXa0MNdGa3wBmoDNPTajm08q90Y7Xq0XKnr+tLYRpw/uGG +RrW6UPv+Nkj5r8fRm52T+fllXj+vKt4c0nOqC8YC4lvQKTnid5G4Ime7ORkrX9kG +du1M+in2wA9upnomycfFcRm0a7R4J/WAdwFVjOrRBaQyMFeCsAQlqHIbUzRgRVmr +cdkado8Pa5RBmARBqQiDysQ03Ri/wejyaNKpFmzkLuG1TYA4lyUobxXi76xWnc/C +truGNM+m9zGm+OOd08rEXWBh7h9Kt9eP9aQBEvxqU6gUJXnK9jTgIgkN0v9d8mLO +jBwrIReqNOvoorgcMXbdJNmgnY3VjRVwJcq64P4fg1evj15uisbsV9JIiTccr/6M +wsaN2BjcdXqy0LcrQV/a1G+b2AZREe8RCdLI/qO+gNXJgsiQRxyTutk7jTDI6tMT +XFTrsCMZNz+ZC6yYwL4Gkja7LKee6gZajvqdGtJcoqhxrHIf9yPUw/ZK29Q6ENvo +x8J0SLE/a7vJ0gc9MiPj7emf9xp+YMwqAfNx5pu3lZEhLk2oooprMqifdQWxek49 +1kdzllJJW+klEPv6xAN52posJutGhC5Ty9gl67I3fQ5JpN8n/AA= +=IJ4Z -----END PGP SIGNATURE----- diff --git a/dev-db/scylla/scylla-3.1.0.ebuild b/dev-db/scylla/scylla-3.1.0.ebuild new file mode 100644 index 0000000..4daa9e1 --- /dev/null +++ b/dev-db/scylla/scylla-3.1.0.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="scylla-${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 +} |