diff options
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/cockroach/cockroach-1.0-r1.ebuild | 61 | ||||
-rw-r--r-- | dev-db/cockroach/files/cockroach.confd-1.0 | 45 | ||||
-rw-r--r-- | dev-db/cockroach/files/cockroach.initd-1.0 | 60 |
3 files changed, 166 insertions, 0 deletions
diff --git a/dev-db/cockroach/cockroach-1.0-r1.ebuild b/dev-db/cockroach/cockroach-1.0-r1.ebuild new file mode 100644 index 000000000000..61dfd1b32e19 --- /dev/null +++ b/dev-db/cockroach/cockroach-1.0-r1.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +MY_PV=v${PV} +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=">=app-arch/xz-utils-5.2.3 + >=dev-lang/go-1.8.1 + >=dev-util/cmake-3.8.1" + +S="${WORKDIR}/cockroach-${MY_PV}" + +pkg_pretend() { + check-reqs_pkg_pretend + if [[ ${MERGE_TYPE} != binary && $(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 +} + +src_install() { + dobin src/github.com/cockroachdb/cockroach/cockroach +insinto /etc/security/limits.d +newins "${FILESDIR}"/cockroach-limits.conf cockroach.conf +newconfd "${FILESDIR}"/cockroach.confd-${PV} cockroach +newinitd "${FILESDIR}"/cockroach.initd-${PV} 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." + ewarn + ewarn "http://cockroachlabs.com/docs" + fi +} diff --git a/dev-db/cockroach/files/cockroach.confd-1.0 b/dev-db/cockroach/files/cockroach.confd-1.0 new file mode 100644 index 000000000000..7874cc1cab23 --- /dev/null +++ b/dev-db/cockroach/files/cockroach.confd-1.0 @@ -0,0 +1,45 @@ +# 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 +# this file correctly if you plan to use cockroach in production. +# +# http://cockroachlabs.com/docs +# +#For more information about what the arguments mean, run +#"cockroach start --help" or "cockroach quit --help". +# +#These values are passed to the appropriate arguments when starting or +#stopping the cockroach database. +#Leaving these commented accepts the cockroach defaults with the +#exceptions of host, http_host, insecure and log_path. +# +#The default for host and http_host is localhost instead of the catch-all +#address. If you want to use the catch-all address for either of these, +#please use +# "all" for the setting. # +# +# The default for insecure is yes which passes the --insecure argument to +# cockroach. If you want a secure connection, set insecure=no and set +# certs_path to the location of your certificates. +# +#log_path defaults to /var/log/${RC_SVCNAME}. +# +#attrs="" +#cache="" +#certs_path="" +#host="" +#http_host="" +#http_port="" +#insecure="" +#join="" +#locality="" +#log_path="" +#port="" +#store="" +# +# extra arguments to use when starting the database +# start_args="" +# +# extra arguments to use when stopping the database +# stop_args="" diff --git a/dev-db/cockroach/files/cockroach.initd-1.0 b/dev-db/cockroach/files/cockroach.initd-1.0 new file mode 100644 index 000000000000..b2b4f6a0884f --- /dev/null +++ b/dev-db/cockroach/files/cockroach.initd-1.0 @@ -0,0 +1,60 @@ +#!/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/${RC_SVCNAME}/cockroach.pid +start_stop_daemon_args="--quiet --user cockroach" +[ -n "${attrs}" ] && attrs_arg="--attrs=${attrs}" +[ -n "${cache}" ] && cache_arg="--cache=${cache}" +[ -n "${certs_path}" ] && certs_dir_arg="--certs-dir=${certs_path}" +[ "${host}" != all ] && host_arg="--host=${host:-localhost}" +[ "$http_host" != all ] && http_host_arg="--http-host=${http_host:-localhost}" +[ -n "${http_port}" ] && http_port_arg="--http-port=${http_port}" +yesno "${insecure:-yes}" && insecure_arg="--insecure" +[ -n "${join}" ] && join_arg="--join=${join}" +[ -n "${locality}" ] && locality_arg="--locality=\"${locality}\"" +log_path="${log_path:-/var/log/${RC_SVCNAME}}" +[ -n "${log_path}" ] && log_dir_arg="--log-dir=${log_path}" + pidfile_arg="--pid-file=${pidfile}" +[ -n "${port}" ] && port_arg="--port=${port}" +store_arg="--store=${store:-/var/lib/cockroach/data}" +command_args="start --background + ${attrs_arg} + ${cache_arg} + ${certs_dir_arg} + ${host_arg} + ${http_host_arg} + ${http_port_arg} + ${insecure_arg} + ${join_arg} + ${locality_arg} + ${log_dir_arg} + ${pidfile_arg} + ${port_arg} + ${store_arg} + ${start_args}" +quit_args=" + ${certs_dir_arg} + ${host_arg} + ${insecure_arg} + ${port_arg} + " + +depend() { + use net +} + +start_pre() { + if [ -n "${log_path}" ]; then + checkpath -d -m 0755 -o cockroach:cockroach "${log_path}" || + return 1 + fi + checkpath -d -m 0755 -o cockroach:cockroach "$(dirname ${pidfile})" +} + +stop() { +ebegin "bringing down ${RC_SVCNAME}" +eval ${command} quit ${quit_args} ${stop_args} +eend $? +} |