From: William Hubbs Date: Thu, 4 May 2017 22:40:59 +0000 (-0500) Subject: dev-db/cockroach: new package X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=adcc810ebc83e3dbd6ef27017bbab15e01f19d09;p=gentoo.git dev-db/cockroach: new package This is a scalable open source database. For more information see the home page below. http://www.cockroachlabs.com Package-Manager: Portage-2.3.5, Repoman-2.3.1 --- diff --git a/dev-db/cockroach/Manifest b/dev-db/cockroach/Manifest new file mode 100644 index 000000000000..4a1e42d6a29c --- /dev/null +++ b/dev-db/cockroach/Manifest @@ -0,0 +1 @@ +DIST cockroach-v1.0-rc.1.src.tgz 68784067 SHA256 162e3954ff41515bf2ab2017ab38f9cdf76775d7d67fdeead343234d470dca6c SHA512 c68fc712068cbfce167d98008cdcb46270a8fa772624281da23a70d0492c7990c9ce8513334fedc31d7dde5176087fa6211a4e90d77741ed0079f9568c71e0ff WHIRLPOOL 510dbefb6348f9707e1e3fcd94d873911350b8d2d767c093df3bfff514e7f72ca1ff1e16d0539c48f80dd53a725d8ab4f3fe901862ee88a4e5e1e9999034eeaf diff --git a/dev-db/cockroach/cockroach-1.0_rc1.ebuild b/dev-db/cockroach/cockroach-1.0_rc1.ebuild new file mode 100644 index 000000000000..18467a3c8a66 --- /dev/null +++ b/dev-db/cockroach/cockroach-1.0_rc1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +MY_PV=v1.0-rc.1 +CHECKREQS_MEMORY="2G" + +inherit check-reqs toolchain-funcs user + +DESCRIPTION="open source database for building cloud services" +HOMEPAGE="https://www.cockroachlabs.com" +SRC_URI="https://binaries.cockroachdb.com/cockroach-${MY_PV}.src.tgz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND=">=dev-lang/go-1.8.1" + +S="${WORKDIR}/cockroach-${MY_PV}" + +pkg_pretend() { + check-reqs_pkg_pretend + if [[ $(gcc-major-version) -lt 6 ]]; then + eerror "Cockroach cannot be built with this version of gcc." + eerror "You need at least gcc-6.0" + die "Your C compiler is too old for this package." + fi +} + +pkg_setup() { + check-reqs_pkg_setup + enewgroup cockroach + enewuser cockroach -1 /bin/sh /var/lib/cockroach cockroach +} + +src_compile() { + emake GOPATH="${S}" build || die +} + +src_install() { + emake GOPATH="${S}" install || die +dobin bin/* +insinto /etc/security/limits.d +newins "${FILESDIR}"/cockroach-limits.conf cockroach.conf +newinitd "${FILESDIR}"/cockroach.initd cockroach +dodir /var/log/cockroach +fowners cockroach:cockroach /var/log/cockroach +if [[ -z ${REPLACING_VERSIONS} ]]; then + ewarn "The default setup is for the first node of an insecure" + ewarn "cluster that only listens on localhost." + ewarn "Please read the cockroach manual at the following url" + ewarn "and configure /etc/conf.d/cockroach correctly if you" + ewarn "plan to use it in production." + elog + elog "http://cockroachlabs.com/docs" + fi +} diff --git a/dev-db/cockroach/files/cockroach-limits.conf b/dev-db/cockroach/files/cockroach-limits.conf new file mode 100644 index 000000000000..2014a5d508cb --- /dev/null +++ b/dev-db/cockroach/files/cockroach-limits.conf @@ -0,0 +1,4 @@ +# This is needed because cockroach can open a high number of file +# descriptors +cockroach soft nofile 35000 +cockroach hard nofile 35000 diff --git a/dev-db/cockroach/files/cockroach.confd b/dev-db/cockroach/files/cockroach.confd new file mode 100644 index 000000000000..fb9b740aa70f --- /dev/null +++ b/dev-db/cockroach/files/cockroach.confd @@ -0,0 +1,14 @@ +# The default setup is for the first node of an insecure cluster that only +# listens on localhost. +# Please read the cockroach manual at the following url and configure +# the start_args and stop_args correctly if you plan to use cockroach in +# production. +# +# http://cockroachlabs.com/do# cs +# +# arguments to use when starting the database +start_args="--http-host=localhost --host=localhost --insecure +--store=/var/lib/cockroach/data" +# +# arguments to use when stopping the database +stop_args="--host localhost --insecure" diff --git a/dev-db/cockroach/files/cockroach.initd b/dev-db/cockroach/files/cockroach.initd new file mode 100644 index 000000000000..3629cb6605fa --- /dev/null +++ b/dev-db/cockroach/files/cockroach.initd @@ -0,0 +1,23 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/cockroach" +pidfile=/run/cockroach/cockroach.pid +command_args="start --background --log-dir=/var/log/cockroach + --pid-file=\"${pidfile}\" ${start_args}" +start_stop_daemon_args="--quiet --user cockroach" + +depend() { + use net +} + +start_pre() { + checkpath -d -m 0755 -o cockroach:cockroach $(dirname ${pidfile}) +} + +stop() { +ebegin "bringing down ${RC_SVCNAME}" +"${command}" quit ${stop_args} +eend $? +} diff --git a/dev-db/cockroach/metadata.xml b/dev-db/cockroach/metadata.xml new file mode 100644 index 000000000000..b02140041af5 --- /dev/null +++ b/dev-db/cockroach/metadata.xml @@ -0,0 +1,12 @@ + + + + + williamh@gentoo.org + William Hubbs + + + CockroachDB is an open source database for building global, scalable + cloud services that survive disasters. + +