summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUltrabug <ultrabug@gentoo.org>2014-06-03 16:05:05 +0200
committerUltrabug <ultrabug@gentoo.org>2014-06-03 16:05:05 +0200
commit3884caa5b45b6216d0cf36d4831bbcec7e63c3d7 (patch)
tree5ef76c424444a8f12d16303f8bb00167a32da716 /app-admin
parentnew app-admin/consul ebuild (diff)
downloadultrabug-3884caa5b45b6216d0cf36d4831bbcec7e63c3d7.tar.gz
ultrabug-3884caa5b45b6216d0cf36d4831bbcec7e63c3d7.tar.bz2
ultrabug-3884caa5b45b6216d0cf36d4831bbcec7e63c3d7.zip
consul ebuild enhancement and init script
Diffstat (limited to 'app-admin')
-rw-r--r--app-admin/consul/Manifest4
-rw-r--r--app-admin/consul/consul-0.2.1.ebuild23
-rw-r--r--app-admin/consul/files/consul-agent.confd2
-rw-r--r--app-admin/consul/files/consul-agent.initd24
4 files changed, 49 insertions, 4 deletions
diff --git a/app-admin/consul/Manifest b/app-admin/consul/Manifest
index 10a18f8..dbdaaa9 100644
--- a/app-admin/consul/Manifest
+++ b/app-admin/consul/Manifest
@@ -1 +1,3 @@
-EBUILD consul-0.2.1.ebuild 1020 SHA256 c425c13b033c36d871078c01ae629de1b179b736068d7a1e13799ed387574e19 SHA512 58ca9a619e2f128ea7c72d9c423c7b3bfd3ee9a15873f7180b134b92d608bd87145187987c9a40ac0205aaf4bb3592a0d2c440858442096e8623b311bcdaa923 WHIRLPOOL 6d8dc042f0cea42c57dddb73774d699166905bdecca8daa57021fc665a7897cac5cf6f7dd34bf0b6cbcfada980bfad0461f851b87c784964a4fdf904428e2f8c
+AUX consul-agent.confd 101 SHA256 281d2ee5847409674d1bd00152bd107649cd987a47423a58ebc405fd87720dc9 SHA512 d33f733b497c07262464c59f9bac7a8312865ab90ec959ccbcba442f799ec740275798e20e938a2d0f316c63eccc72a24cfe8792a13a7ec21e828d08bebe2b62 WHIRLPOOL f29cc61d88754a52a92634bc5b663f5d00c1b596167902ee06122f7703b454410e02ec7cfba21e8aaae1a472ccf44abcd3bc5933ddf06330a7f69418b77f9929
+AUX consul-agent.initd 598 SHA256 ffeb1d4ec42a9ffbe6d0e1bd5b5051a519f19a5a0d295dd696f45be450fce5c6 SHA512 5cfaff1c625c509d309b8328623c6ae461ea3a5206123c2cdfc22d76cbde74dcf532b308be1e6ec640d0a46cdfbf361302ffc6a05f7c6e3b3a0e70602ebe0c25 WHIRLPOOL 48f8c1b13f7d7c49e912491d1def8b6c19b6a6478574adc5ae7912a055a6a3670083305f81308782feeb40b349f32d4d7ee11184358f9d075ece692b3cdef9c3
+EBUILD consul-0.2.1.ebuild 1352 SHA256 ff195f991235f980d00e1a3142e06f249c36c9cdb831cfec07c39db6f22747c3 SHA512 460f0c3339bcee0d4801534a2175587d2823b12427680a07faad5954f7f0c19b9f3eacace6bc12445d881d43a56c6bacf2daaab4ebca9c01b08c045ca0e0e9e5 WHIRLPOOL dccf7a514b0718cdcaf743c7b551c01b127b79dbfd7611264f7afc253ef196bcf9ac135cff455723526752aef8b3038f9dd80c7021c3e0f12ada83f5f6a4e2a2
diff --git a/app-admin/consul/consul-0.2.1.ebuild b/app-admin/consul/consul-0.2.1.ebuild
index 11ea2fd..215cfcb 100644
--- a/app-admin/consul/consul-0.2.1.ebuild
+++ b/app-admin/consul/consul-0.2.1.ebuild
@@ -16,7 +16,7 @@ else
KEYWORDS="~amd64 ~x86"
fi
-inherit git-2
+inherit git-2 user
LICENSE="MPL-2.0"
SLOT="0"
@@ -28,6 +28,11 @@ DEPEND="
"
RDEPEND="${DEPEND}"
+pkg_setup() {
+ enewgroup consul
+ enewuser consul -1 -1 /var/lib/${PN} consul
+}
+
src_prepare() {
# see : https://github.com/hashicorp/consul/pull/188
sed -e 's/format:/format: deps/g' -i Makefile
@@ -40,10 +45,12 @@ src_compile() {
local MY_S="${GOPATH}/src/github.com/hashicorp/consul"
- # make sure consul itself is in our GOPATH
+ # move consul itself in our GOPATH
mkdir -p "${GOPATH}/src/github.com/hashicorp" || die
mv "${S}" "${MY_S}" || die
- ln -sf "${MY_S}" "${S}"
+
+ # piggyback our $S
+ ln -sf "${MY_S}" "${S}" || die
# let's do something fun
emake
@@ -51,4 +58,14 @@ src_compile() {
src_install() {
dobin bin/consul
+
+ dodir /etc/consul.d
+
+ for x in /var/{lib,log}/${PN}; do
+ keepdir "${x}"
+ fowners consul:consul "${x}"
+ done
+
+ newinitd "${FILESDIR}/consul-agent.initd" "${PN}-agent"
+ newconfd "${FILESDIR}/consul-agent.confd" "${PN}-agent"
}
diff --git a/app-admin/consul/files/consul-agent.confd b/app-admin/consul/files/consul-agent.confd
new file mode 100644
index 0000000..7f8ec86
--- /dev/null
+++ b/app-admin/consul/files/consul-agent.confd
@@ -0,0 +1,2 @@
+# extra arguments for the consul agent
+command_args="-server -bootstrap -data-dir=/tmp/consul-server" \ No newline at end of file
diff --git a/app-admin/consul/files/consul-agent.initd b/app-admin/consul/files/consul-agent.initd
new file mode 100644
index 0000000..f01a376
--- /dev/null
+++ b/app-admin/consul/files/consul-agent.initd
@@ -0,0 +1,24 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+pidfile=${pidfile:-"/run/${SVCNAME}.pid"}
+
+command="/usr/bin/consul"
+command_args="agent ${command_args} -pid-file ${pidfile}"
+start_stop_daemon_args="--background --stdout /var/log/consul/${SVCNAME}.log"
+
+description="tool for service discovery, monitoring and configuration."
+extra_started_commands="reload"
+
+depend() {
+ need hostname
+ use net
+}
+
+reload() {
+ ebegin "Reloading ${SVCNAME}"
+ start-stop-daemon --signal SIGHUP --pidfile "${pidfile}"
+ eend $?
+} \ No newline at end of file