diff options
author | Ultrabug <ultrabug@gentoo.org> | 2018-12-04 15:47:54 +0100 |
---|---|---|
committer | Ultrabug <ultrabug@gentoo.org> | 2018-12-04 15:48:49 +0100 |
commit | d3b22d0226df60552ba0ee033fff6cd06e60f66f (patch) | |
tree | a8f19b3e70befc47f2ddc918a3f4a285811eeb53 /dev-db/scylla | |
parent | app-admin/scylla-jmx: version bump (diff) | |
download | ultrabug-d3b22d0226df60552ba0ee033fff6cd06e60f66f.tar.gz ultrabug-d3b22d0226df60552ba0ee033fff6cd06e60f66f.tar.bz2 ultrabug-d3b22d0226df60552ba0ee033fff6cd06e60f66f.zip |
dev-db/scylla: version bump
Package-Manager: Portage-2.3.52, Repoman-2.3.12
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 | 25 | ||||
-rw-r--r-- | dev-db/scylla/scylla-3.0_rc1.ebuild | 287 |
2 files changed, 312 insertions, 0 deletions
diff --git a/dev-db/scylla/Manifest b/dev-db/scylla/Manifest index b12fc51..b9723fc 100644 --- a/dev-db/scylla/Manifest +++ b/dev-db/scylla/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + AUX 10-scylla.conf 64 BLAKE2B 31ce1b2173214bcac351b71cf19e5506ab08cefbca446ce23ad753c98c5e4fd7fbb89b0f79703ea4dcf1f6233e7929268365eeaab1b4e2e7b31553aa7928a969 SHA512 c24b3ec2f0ea3b1ad0792c05a8eb044b3a157862b59759e020586ae872f9789a558d423fe1dff1a8c6d8342049cf4d919faf31a1439a6a1c69af915365b4ec82 AUX boost-1.65.0-icl-ttp-matching.patch 1427 BLAKE2B de9c77253963656f85ed2d05babd600bc5b59b567bc889ed815dfba97f2a1334df48dbb1e67879dea1419fb439c513c54a66531d4e8ec28a7848385f70471334 SHA512 aaa7959df631c17a80486e5b6724d76bf2193694f5559443350c74567506f36c133f740adcbb1b2d3a5a2760730f498f0fd655ec6eff6d20393b6e49549c6ec8 AUX scylla-server.confd 386 BLAKE2B e075e8f5cac2ac373a43a637a4080fde5cbd402b5bef2a3865980f3f9d123366315d994ebf9abbd749167db6e1fa9c840295171add7c5507120be70020aaefa1 SHA512 5d3c55933a02d3b16837013b37110f6669c14e01599532f30935b5dc29871a5bed897c9eb01a6e89469eab7d645c9231745a06c2ef827f6700e13c8faa9cdb87 @@ -6,10 +9,32 @@ AUX scylla.sudoers 162 BLAKE2B 9aa0dce391da1f420a070d73d061452eeba60ad268f13a5bb DIST c-ares-fd6124c74da0801f23f9d324559d8b66fb83f533.tar.gz 1644001 BLAKE2B ee3f919dbb7de3f489a9027cf89b8db1dd36d9d5068e80f6e3851366c7a6fa532c67cf8ebf0d15e01b26a8ec5bb4e49e7844ec46b605f997fac1e961dcc436f1 SHA512 52b929e4d2615338d8ee4ce7c32f006f18e54ef2db9fbe2534c4e99cd3684d86661a6674d2659acb714592f439fac9c4f0ae6337d9d68c1ec3463d4d16572310 DIST fmt-f61e71ccb9ab253f6d76096b2d958caf38fcccaa.tar.gz 616708 BLAKE2B e71c4ff6d494490366e490307b83fb0619b29228e06650d3abb0a97797009cd6205c23af777a348622eb4c4a08203a0e41c5475ab95c437d0f0c382967e2491f SHA512 d234a58af428e238e559ceec1599ff449fbfbe4ecc212ed00c82ef3f057a3351a9eb59906d3b6f7efeec76188645a49376507d7a78dd68d61806cd63d0fbb3a0 DIST scylla-2.3.1.tar.gz 6249801 BLAKE2B 4d2ee126c2d73e0a4e9237f11141036262d4b7df7b9a359c9323f8f28f415862529977608861c48eb708bd132a360bdd5e459398d31dc6c289e9e84769fb8c2c SHA512 edb558981798caa6d8956ab0c8903b4a0dbd8bf7a2a73f075f0cbc20e69d860113faec6bd988b58d67abb86f9361f9fe6ca76e15b9b0a04fdb02afe05a1562dd +DIST scylla-3.0.rc1.tar.gz 7745895 BLAKE2B b2f261b50fb639028a31cc1217a2b107481055966142b1d0d715723036ac9b6fd89ed34280abbb8acee8d1bf2f5567b10cc81635f7fdca2dffaac266860d1675 SHA512 226dae1cfbb4061b62c54146006ca38ae17ced92e688952b9fd1736b9d90efcea2010286916ce7c985ff1cc24e4325cd1e0c134bbfd84613134cd4527cd78634 DIST scylla-ami-a425887809d281beb39297903198ee1a77a1065e.tar.gz 11221 BLAKE2B 2831a9b0a62e9a740b09f0bee32fd10165b8a419327c92c8299fe385ca8c378795fe109b4da73b50f64df0c1319550e0b45245ff1f74c5bf935add5c209adec4 SHA512 a0438a861ee98248bc0e7a51e85dcbac3f62d9c02111e9401ecbcb32c789f38b58d44200ed8501b6ec68db4ac4ecd166bcc46ff7cdf4cc940012b78033678745 DIST scylla-swagger-ui-1b212bbe713905aac22af1edb836f5cf8cc39cc2.tar.gz 1372033 BLAKE2B 5f358f44051a2fa9a10d83fce9cab9e57b56505c4270f089a4d12aaa4e9c45a205665b342a0abb5cf314a9fd24b4186f3a176c58328cc627edc73cc854a30079 SHA512 c726a4dac73d3e9d16624727f4f0703688b7205783c627dd7b88b688b165c9055a1884cf7e9987d8c235d3fa470578852a951e34819431aec12059988394da99 +DIST seastar-39b89de2597834e2ba34270a3d958c88b6d9d996.tar.gz 847610 BLAKE2B 1f97d802455d5055efb264e3bf93be9eda4a87b3f26d843a1b31c7f55c9a2c5aa1580b4823aff446000d494839d217cd9fa6cf5a4e3a58149882b4cf6b738586 SHA512 be0c4ed09a33d8562dfb88c162bbdc7c5a9beeabecbab658336cc5112543367f49d9d245da0cafb92f6a327cd5811bccb141fa2ea01af5a4b9ccb14745d04a74 DIST seastar-b846dfe25298ef08684604aaa77ff77873ebef39.tar.gz 840995 BLAKE2B a289fbe5462b622b60572a375f0f5da49aeb7f69be279c5b6bc98362cb9eb87e32c69b8978000368e53af949bdc33c1b87fdcc7b568f3801460f2b0413b6116e SHA512 c00ec8662bb8e806b9fc4bc0e4c7aa628f97227312eb5bd64a1697814e1bb6f1791b70649e87e44fd2df24aa81b2c13ccd71df68b60e365c29fe425f85a46491 DIST xxhash-744892b802dcf61a78a3f2f1311d542577c16d66.tar.gz 29205 BLAKE2B 594f09421030809ed456ba7af906adfbf1243f7ded4161e7777ec2ef2b9ab24c653923f784a2e00b22731be0378aea76263e39614941432cb0128d972e9ff488 SHA512 f94b1b19d1c232c2e59058514be34ee169f2f11722a088ab401a38dcd75ae693bb0fbe87180060207ebff29f7b3c2a4444db54e4f57c61cac0438c4db1f118f3 EBUILD scylla-2.3.1.ebuild 8840 BLAKE2B e209110f9ffb72b5a8320e9040be66ad19f55b73b0732aeff1c4782d7879121dc4d3d36e1d78e3c36233eceb33a13df24d61503bfda26bc4a0f5a3b1bcc9d323 SHA512 fcd3a72a067c0795359aef7dbe067bff0d85d9688c7326f28bb95487b536c2557f22a5b7a80cb0ca4464ecf6ab85ceda72bd8c1e3d81edb9f7b8c28369923605 +EBUILD scylla-3.0_rc1.ebuild 8562 BLAKE2B 75ec1d8e2f85b2e07656c01e74c42cf3ea753462563735ac92101646bf954dc39a02de9a31a73f1944fb1e1f417c9574afd5e929e855ebe8eefb16ce96f96df3 SHA512 48a91e90fab024cdfcf88b8c2cbe37cdd4afd098e59b6eab49e0d8bbb6e30c8c30bd621f60f3f1731227380509ff3f177c80d98dfef8f8a12f3d0e6cf42400e7 EBUILD scylla-9999.ebuild 8612 BLAKE2B 049a7f2635b46c7e6eb74a286d0de8d16bb5c80d2cf4585c5bf5e6152d485c3b8bff9a4a5580b7ef9065e8db29388dcf1ed1c73eb77b07350a5f39df83dbded6 SHA512 01fae825e491c0aa0ac767c1d3aa279518be079b936a2ca059a6a08c6c92adf329188d7c4d453a7887d5655a1142e81e042b6ba6347482cda7d0de1e5ac052da MISC metadata.xml 249 BLAKE2B 40afa233e18ae5678e52194be8b1235d8deda4810e55b33ea192ded6b09a158f1bc941544f90a1b9e396db00bc0fe277c072d267568473ae4aa2dec8bc5c2f89 SHA512 6eae78a65db44c8f7ef2d20c10c8612cd2072c0204c6294798e4bf94f1283c684c22d1ad28e0f68e78e82a0c60526d6786492c9dacc438d83405218e51c1bf9c +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQKTBAEBCAB9FiEE8w+v7jvVmCKLJMsSGjqMicVtYQsFAlwGk5dfFIAAAAAALgAo +aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEYz +MEZBRkVFM0JENTk4MjI4QjI0Q0IxMjFBM0E4Qzg5QzU2RDYxMEIACgkQGjqMicVt +YQvbWA//b9gLrDTuznGwD31YrJcadAUDFrOyDI4cLmEkE61FW/zP5QCoCcIl7oNT +Y8EStb8bBozmC+TyRj3H+mAI1fUSHvoer5X1Dxzk3KJs85JDI34UxRtQjkBUTRQR +ZMZYOn6meLUKLwHvsepamxxv9hRXpqdsJTthh7Dg3vq4qKziI1TKiN16arB4unz+ +Ik6QL4L7kCpm9347XG3YaMnjupGAxAlFCLWBWtIoKUDuG7eT2Q01QWwx+7ORoMa4 +9HESHY8iyL8wvGsG7d6ki7ouYnINMyRr70f85rLVSub11IFItyDapsKqoouU6sDK +6gd77Cqx41WqeZX/M1MfbSf0HdAcrPrUL1hIDYccHwYh3Y3a1X7Ktts1wbr+MUnK +GDQYB7SyRZbcfwXj3ADg7qP8SezrcomEj1HrBUJqMdQ5CZxqrcu7M5SnU2qOJChY +/F3DuvdhyL97fXNcxBchxM8h+9pOrnF4fXr+Okb6+4Io3qVN7pHwK2ifGGrl+dvf +l0LZn0Y5OJuMBVbE2gcoIIQOkaDeKq/vD6aHgOJngxCLFaTag9DcKF1G0XB2wBqT +VqYGqjrTzOOwmJ3jahv2vFIWBTpyEzYK8d1fyZEUxk3wVYAEnoZbIXnzDFEvyHsB +/ByxibgBShrrlJP4xxC8lnA6x8rcYugIMH5bdMu/ozI2aFPGP+0= +=q0qM +-----END PGP SIGNATURE----- diff --git a/dev-db/scylla/scylla-3.0_rc1.ebuild b/dev-db/scylla/scylla-3.0_rc1.ebuild new file mode 100644 index 0000000..24e7a9f --- /dev/null +++ b/dev-db/scylla/scylla-3.0_rc1.ebuild @@ -0,0 +1,287 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +if [[ ${PV} == "9999" ]] ; then + #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}" + C_ARES_COMMIT="fd6124c74da0801f23f9d324559d8b66fb83f533" + FMT_COMMIT="f61e71ccb9ab253f6d76096b2d958caf38fcccaa" + SEASTAR_COMMIT="39b89de2597834e2ba34270a3d958c88b6d9d996" + SWAGGER_COMMIT="1b212bbe713905aac22af1edb836f5cf8cc39cc2" + XXHASH_COMMIT="744892b802dcf61a78a3f2f1311d542577c16d66" + 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/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/c-ares/archive/${C_ARES_COMMIT}.tar.gz -> c-ares-${C_ARES_COMMIT}.tar.gz + https://github.com/scylladb/xxHash/archive/${XXHASH_COMMIT}.tar.gz -> xxhash-${XXHASH_COMMIT}.tar.gz + " + KEYWORDS="~amd64" + S="${WORKDIR}/scylla-${MY_P}" +fi + +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 + dev-cpp/antlr-cpp:3.5 + dev-cpp/yaml-cpp + dev-java/antlr:3.5 + dev-libs/boost + dev-libs/crypto++ + dev-libs/jsoncpp + dev-libs/libaio + 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=() + +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 + enewuser scylla -1 -1 /var/lib/${PN} scylla +} + +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/c-ares || die + mv "${WORKDIR}/c-ares-${C_ARES_COMMIT}" seastar/c-ares || 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 xxHash || die + mv "${WORKDIR}/xxHash-${XXHASH_COMMIT}" xxHash || die + + # set version + echo "${MY_PV}-gentoo" > version + fi + + # 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 + + # run a clean autoreconf on c-ares + pushd seastar/c-ares + eautoreconf || die + popd +} + +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() { + # force number of parallel builds because ninja does a bad job in guessing + # and the default build will kill your RAM/Swap in no time + ninja -v build/release/scylla build/release/iotune -j1 || 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/* + + 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 + + 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}/{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 + + insinto /var/lib/scylla-housekeeping + doins -r scylla-housekeeping + + for util in $(ls dist/common/sbin/); do + dosym /usr/lib/scylla/${util} /usr/sbin/${util} + done + + insinto /etc/sudoers.d + doins dist/debian/sudoers.d/scylla + + 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() { + elog "You should run 'emerge --config dev-db/scylla' to finalize your ScyllaDB installation." +} + +pkg_config() { + elog "Running 'scylla_setup'..." + scylla_setup +}
\ No newline at end of file |