commit:     6133bdf8265e1eb9db8892e7d164f3c8932aba98
Author:     William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Tue May 16 23:55:16 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Tue May 16 23:55:58 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6133bdf8

dev-db/cockroach: 1.0-r1 revbump for new service scripts

This revbump adds new service scripts which expose several of the arguments for 
cockroach in variables which can be set in the conf.d file.

Package-Manager: Portage-2.3.5, Repoman-2.3.1

 dev-db/cockroach/cockroach-1.0-r1.ebuild   | 61 ++++++++++++++++++++++++++++++
 dev-db/cockroach/files/cockroach.confd-1.0 | 45 ++++++++++++++++++++++
 dev-db/cockroach/files/cockroach.initd-1.0 | 60 +++++++++++++++++++++++++++++
 3 files changed, 166 insertions(+)

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 00000000000..61dfd1b32e1
--- /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 00000000000..7874cc1cab2
--- /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 00000000000..b2b4f6a0884
--- /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 $?
+}

Reply via email to