commit:     3884caa5b45b6216d0cf36d4831bbcec7e63c3d7
Author:     Ultrabug <ultrabug <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  3 14:05:05 2014 +0000
Commit:     Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
CommitDate: Tue Jun  3 14:05:05 2014 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=dev/ultrabug.git;a=commit;h=3884caa5

consul ebuild enhancement and init script

---
 app-admin/consul/Manifest                 |  4 +++-
 app-admin/consul/consul-0.2.1.ebuild      | 23 ++++++++++++++++++++---
 app-admin/consul/files/consul-agent.confd |  2 ++
 app-admin/consul/files/consul-agent.initd | 24 ++++++++++++++++++++++++
 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

Reply via email to