From 0ebaa72bc1fd9f1d3616509fe00f603f29f3b369 Mon Sep 17 00:00:00 2001 From: Ultrabug Date: Wed, 3 Jul 2019 17:23:52 +0200 Subject: dev-db/scylla: version bump Package-Manager: Portage-2.3.67, Repoman-2.3.14 Manifest-Sign-Key: F30FAFEE3BD598228B24CB121A3A8C89C56D610B Signed-off-by: Alexys Jacob --- dev-db/scylla/Manifest | 31 ++-- dev-db/scylla/scylla-3.0.7.ebuild | 298 -------------------------------------- dev-db/scylla/scylla-3.0.8.ebuild | 298 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 314 insertions(+), 313 deletions(-) delete mode 100644 dev-db/scylla/scylla-3.0.7.ebuild create mode 100644 dev-db/scylla/scylla-3.0.8.ebuild diff --git a/dev-db/scylla/Manifest b/dev-db/scylla/Manifest index 0c6a581..8db9712 100644 --- a/dev-db/scylla/Manifest +++ b/dev-db/scylla/Manifest @@ -11,30 +11,31 @@ DIST c-ares-fd6124c74da0801f23f9d324559d8b66fb83f533.tar.gz 1644001 BLAKE2B ee3f DIST fmt-f61e71ccb9ab253f6d76096b2d958caf38fcccaa.tar.gz 616708 BLAKE2B e71c4ff6d494490366e490307b83fb0619b29228e06650d3abb0a97797009cd6205c23af777a348622eb4c4a08203a0e41c5475ab95c437d0f0c382967e2491f SHA512 d234a58af428e238e559ceec1599ff449fbfbe4ecc212ed00c82ef3f057a3351a9eb59906d3b6f7efeec76188645a49376507d7a78dd68d61806cd63d0fbb3a0 DIST libdeflate-e7e54eab42d7fd3c684cfe8278084fc354a2455a.tar.gz 123934 BLAKE2B 430eba5f7f6b751d01964198d93ca3683c0131f41964b871c3c2872932f76f35d88dce4df1ac80b03f5719d618d0965097831fe8f12cb0bf0d8233129aad070b SHA512 7f63b71a2e29e6c5cbdb6d18c75122f2d54cc52e09cbce6694db9f76812c03757d1222c219bbd8a10a7d42ea2086d6641505b3385016345b2cb9b034848de1c7 DIST scylla-3.0.6.tar.gz 5821068 BLAKE2B 3f60f6332f721f80f8fbdf6284971e5d8569a1eba9d404f2741dedc03b6abcd40aea8e1605574f6be5edbaac4938622fd8758c0231e90c10d02b459bf2769018 SHA512 d5afa946bd81d5ce17e1d7a3474461a53a94ba665bd82e9774707a153ee584a685ff552d1835cfb1a5cf2558a55d5ded184b4f21af7e95e6ab5161d9fbf3498e -DIST scylla-3.0.7.tar.gz 5824642 BLAKE2B ba0ec5bd1c2e22bc8a0d8b689b992dc2ae53f97a9b805a7159d8d296056626ec3f1f1ae1f9186af934fa473d0fc58b6b96c5c1c8efd498948e10621754c1a3f4 SHA512 b3a65f01738ea01480c3d643655282a9947a997af1c27f095401312cf9917ad9a41df0dd9962122ce05bb2797985ff1e86877a8b0f3fff558d47aa41f0ba9212 +DIST scylla-3.0.8.tar.gz 5826407 BLAKE2B 59bf7f9d1a486168588c4df1171d472f79354dc0883261c5578f3a29b68d2fd690445e3aad80c9e7c6387a155fca1eb4848f3732da165b9bad66ad490a5efdd3 SHA512 75f430a335656915ca678ade507f864a9e9037ff648ad0aa62ec2bea2775ee923ac7d5f499be44ee0d5f071cfe87172ea60321a1f494a1ebede99e8dfe48ee6d DIST scylla-swagger-ui-1b212bbe713905aac22af1edb836f5cf8cc39cc2.tar.gz 1372033 BLAKE2B 5f358f44051a2fa9a10d83fce9cab9e57b56505c4270f089a4d12aaa4e9c45a205665b342a0abb5cf314a9fd24b4186f3a176c58328cc627edc73cc854a30079 SHA512 c726a4dac73d3e9d16624727f4f0703688b7205783c627dd7b88b688b165c9055a1884cf7e9987d8c235d3fa470578852a951e34819431aec12059988394da99 +DIST seastar-16641efb15d7832f5106f294008937923c432c34.tar.gz 849502 BLAKE2B 9af6957138d89a70dabc2cf2b8c96639c6870d9c09b206a2771af8efac8a60fc97fab34c474cd69c65b2deaa306de0f2dc52447348435e3fb078380bf24d3d8b SHA512 2b5fa62dcb3716a69170f2e90b69037f882c57a8b7d6697142b58b8abde676d2c5b580f13392ad8b30040eaceaa096e8d59aeae07f9bf3a2baa374840eacfd8a DIST seastar-f541231a3011420e26fb33e71355415334dcb861.tar.gz 849465 BLAKE2B 0547de4c0e8212aa7b6fc36e6281abf8662b0a68125c9d43a6f14de6760f135cd37e6b8a59da4cb77b0f3d296ddfc981e108b41347d2f3c86b8787a17631261e SHA512 6e6415df73ef9fa509c8f3444298e5e9fb9ae8b9cc357289834658654cbca8d5a66db72454a089aecab7ee09cece6ce2cf94d0a391a934e96ed04cbb5c95b6b5 DIST xxhash-744892b802dcf61a78a3f2f1311d542577c16d66.tar.gz 29205 BLAKE2B 594f09421030809ed456ba7af906adfbf1243f7ded4161e7777ec2ef2b9ab24c653923f784a2e00b22731be0378aea76263e39614941432cb0128d972e9ff488 SHA512 f94b1b19d1c232c2e59058514be34ee169f2f11722a088ab401a38dcd75ae693bb0fbe87180060207ebff29f7b3c2a4444db54e4f57c61cac0438c4db1f118f3 EBUILD scylla-3.0.6.ebuild 9030 BLAKE2B a8ac0f6fef3c5b096a8df627c2bd3cb25374214883e655618a2308e6a0652970c2c60d2b48fae42fffd3374189c96441d8cc0c4c7ee5359d500ffe2352058c28 SHA512 87b9fe1aabaedac861fd6868e65501f6e08b75450fa801ba760d0125666445b97cab10683dd07eab7b988d2520d471458ecb5cb867d8822f7ac6d1fe50cb8986 -EBUILD scylla-3.0.7.ebuild 9111 BLAKE2B f32ccc6e79137682c9b4ee466c87228280679759ad354aaa884233feddae35bdde1600cfde9c92a3811b909a8bcaa23e5adb92e4a7a7240e98c9845437eb9170 SHA512 dedec34fd3b56bbdfb7255ab32328580bf63cee67e837f271b0fc5c01fc47c5ec8d2cbcb4c00978e8393ec6d9fa28ba25ec3d97ecd3b822c89392ae276a505d9 +EBUILD scylla-3.0.8.ebuild 9111 BLAKE2B 565f5d1b42257afbfdf12ec729b7950b77b0f8d7bffb07960c4412e74223966ec368057236ee8fa75c8aee1bdc6f6fa6d06acb4d57a34ffedc2c8670a4178149 SHA512 477be22fcf71b9ec149aeb5b61b5419b3dd0cdb5b28e1d6c094f1acdd6b3aaa1c34b9b0d85bbd13feb9fd2d1b64ba8d90a7dda00b8cb1804f61eec1bdc73fd33 EBUILD scylla-9999.ebuild 8706 BLAKE2B c9b0ec1218529376c31dca2981b50144334bfae7851e831cfe9be22c7e314c35714cc05167552e951def4e2431d6e9c159f2ac99617685ea5e6e14178ca2a5b6 SHA512 66935b4054d98bfe51e65ad671360bc4879dd4c673545cea9254c4be6ffdefe6e221c4aa16f70ec114df517547880494661c0b49ecce01bb4a3e71563bb3b7b2 MISC metadata.xml 249 BLAKE2B 40afa233e18ae5678e52194be8b1235d8deda4810e55b33ea192ded6b09a158f1bc941544f90a1b9e396db00bc0fe277c072d267568473ae4aa2dec8bc5c2f89 SHA512 6eae78a65db44c8f7ef2d20c10c8612cd2072c0204c6294798e4bf94f1283c684c22d1ad28e0f68e78e82a0c60526d6786492c9dacc438d83405218e51c1bf9c -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iQKTBAEBCAB9FiEEGiPLJcoPPNcvDvnY9mwK1B9ohkIFAl0DRlFfFIAAAAAALgAo +iQKTBAEBCAB9FiEEGiPLJcoPPNcvDvnY9mwK1B9ohkIFAl0cyGxfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDFB MjNDQjI1Q0EwRjNDRDcyRjBFRjlEOEY2NkMwQUQ0MUY2ODg2NDIACgkQ9mwK1B9o -hkJlBBAApTZ4xMc3sdOQsc0yc2f5GmF/9aOT2iRsFyyoVAYZvcueE2UBm2MF8NQp -TY2YGtQZ4f4X7G5UlXIANOXBZFVBbYyJLjpmKfb0KzrwsjAEAcCaSZeitWlA614n -9EEUWb5TNA+114DND+KL0JjJekb7UD+BD0w3X16BXObiBOvFsiEULMci0qxbdH7I -TYa5JnVJ83rRQfxTfuARkz2VDxrWVdY/vnlCKLneffRJoGvOowo0cZCzSvn7+JRa -DJxNScS3lBBAZwKJQqSyPnRMpeTjGxfyeZyHGGHEJP5YSeUHoHVdp8h8xtKTzv8A -Lbk4zKfPuYWIAneGZ2sRi0tWtKRS3+/o9EMOKYMasXPhMRKVRBQQSSFyHxvJC2tk -VYih4a+0ewLxj/lllAKLk2x6YhNmatSXphuBncwIbnaM1ELOhaeJipEaJR23aBLk -YCTicaKAam4yTSmN9aqVeKBr6pXdlcrpWKJUoqp+5kH6PRozVc0aQ5ivgX7be2CF -SDXrCzOkmvNyzT/Y78T4t0dgMaUlDtjSmrqGN8Wt+UoIXMtBUOz7d0qOnjRb20x0 -iRO5qJWpWFUsj/xbLNoa60Em0lDLUEiaIear0oOqea35c5LJk+Oyr0No+JlLdweV -6BjkBDA6u9XZFVYybivt4JdeOMYWti8mZUqINqJBCn6Sm/0A0XY= -=4xnq +hkJN5xAApAvieH8YP1QyEwjKmAHyYm2GIX771RIcHHVIyBnVVPxkNbjG+pwiAB4e +6wvPcm0RhL5WCtWsI3TI/IK4nfRsXA8+Cy7tep7dEMCK+alm3Gb1VSpu7ULelWe5 +h6AUzmjsb+RTJfIwtkC611w3Tq/YN3/9WwY87ZFL7pq/dngaNK/mIRvrhzVKfIST +zExQhcgqlGH8vB/0UiNAcnXpRN3+kPfqDVayYOIfbOpTnIeQxPkZz1nK3NJ6Oz65 +WWCPcQYcoExOFBuAfgknQdgOLgXqYttpANu8GD7O/H92PCnfxzQ9GQytkWlddL10 +W8a941DdPuV11/4+1E/tOJAZ5n3WCVYbsGYCPorPZpFK3Z3dAHJ9cqXWbwmRzfkr +K4pOpbLuLgbBLHz726VtC2AJvMQE96xb88KV3pnz385ahS4t8wrlRUkDcKSeSqY/ +jqSZh5Jeb5j9KJuUENo+oI8qfrE8S0YuZ2VbkJ3fSrIviJ65+sMHRXwGGJl0zumq +BEtzvzqI2E4zTh9RHfd88MvxB9eO4q3YpXsmOsM/ixmaAU1pM9OHAmMTDrZFBph6 +bLzrIX72IDMRcruL5prUlyLzL41rveUdsZZHTNMnXmGP6tPy+7+BUiSjAKKLHG8a +jiMz24oRjUOqqy8a08z99vwR/AB94uOWxXuvJGJLjH8bqJ+8cWk= +=G/Dd -----END PGP SIGNATURE----- diff --git a/dev-db/scylla/scylla-3.0.7.ebuild b/dev-db/scylla/scylla-3.0.7.ebuild deleted file mode 100644 index 2bdd156..0000000 --- a/dev-db/scylla/scylla-3.0.7.ebuild +++ /dev/null @@ -1,298 +0,0 @@ -# Copyright 1999-2019 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" - LIBDEFLATE_COMMIT="e7e54eab42d7fd3c684cfe8278084fc354a2455a" - SEASTAR_COMMIT="f541231a3011420e26fb33e71355415334dcb861" - 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/scylla-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/libdeflate/archive/${LIBDEFLATE_COMMIT}.tar.gz -> libdeflate-${LIBDEFLATE_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 - =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[icu] - 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=( - "${FILESDIR}"/0001-thrift-support-version-0.11-after-THRIFT-2221.patch -) - -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}/scylla-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 - - rmdir libdeflate || die - mv "${WORKDIR}/libdeflate-${LIBDEFLATE_COMMIT}" libdeflate || 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 - - # 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/* - - 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} /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 diff --git a/dev-db/scylla/scylla-3.0.8.ebuild b/dev-db/scylla/scylla-3.0.8.ebuild new file mode 100644 index 0000000..e3701e8 --- /dev/null +++ b/dev-db/scylla/scylla-3.0.8.ebuild @@ -0,0 +1,298 @@ +# Copyright 1999-2019 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" + LIBDEFLATE_COMMIT="e7e54eab42d7fd3c684cfe8278084fc354a2455a" + SEASTAR_COMMIT="16641efb15d7832f5106f294008937923c432c34" + 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/scylla-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/libdeflate/archive/${LIBDEFLATE_COMMIT}.tar.gz -> libdeflate-${LIBDEFLATE_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 + =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[icu] + 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=( + "${FILESDIR}"/0001-thrift-support-version-0.11-after-THRIFT-2221.patch +) + +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}/scylla-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 + + rmdir libdeflate || die + mv "${WORKDIR}/libdeflate-${LIBDEFLATE_COMMIT}" libdeflate || 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 + + # 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/* + + 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} /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 -- cgit v1.2.3-18-g5258