4 changed files with 249 additions and 0 deletions
@ -0,0 +1,5 @@
|
||||
{ |
||||
"Bees": [], |
||||
"Actions": null, |
||||
"Chains": [] |
||||
} |
@ -0,0 +1,49 @@
|
||||
Index: src/github.com/muesli/beehive/Makefile
|
||||
--- src/github.com/muesli/beehive/Makefile.orig 2018-01-27 23:18:58.000000000 +0100
|
||||
+++ src/github.com/muesli/beehive/Makefile 2018-01-27 23:24:56.022648000 +0100
|
||||
@@ -1,23 +1,21 @@
|
||||
BEEHIVE_VERSION=0.2.99
|
||||
-COMMIT_SHA=$(shell git rev-parse --short HEAD)
|
||||
+COMMIT_SHA=000000
|
||||
|
||||
all: embed
|
||||
|
||||
submodule:
|
||||
- git submodule update --init
|
||||
|
||||
noembed: submodule build
|
||||
|
||||
generate:
|
||||
- $(shell go env GOPATH)/bin/go-bindata --tags embed --pkg api -o api/bindata.go --ignore \\.git assets/... config/...
|
||||
+ go-bindata --tags embed --pkg api -o api/bindata.go --ignore \\.git assets/... config/...
|
||||
|
||||
go-bindata:
|
||||
- [ -f $(shell go env GOPATH)/bin/go-bindata ] || go get -u github.com/jteeuwen/go-bindata/go-bindata
|
||||
|
||||
embed: submodule go-bindata generate build
|
||||
|
||||
build:
|
||||
- go build -tags 'embed' -ldflags '-s -w -X main.Version=$(BEEHIVE_VERSION) -X main.CommitSHA=$(COMMIT_SHA)'
|
||||
+ go build -x -tags 'embed' -ldflags '-X main.Version=$(BEEHIVE_VERSION) -X main.CommitSHA=$(COMMIT_SHA)'
|
||||
|
||||
debug: submodule go-bindata generate
|
||||
go build -tags 'embed' -ldflags '-X main.Version=$(BEEHIVE_VERSION) -X main.CommitSHA=$(COMMIT_SHA)'
|
||||
Index: src/github.com/muesli/beehive/vendor/github.com/guelfey/go.dbus/transport_freebsd.go
|
||||
--- src/github.com/muesli/beehive/vendor/github.com/guelfey/go.dbus/transport_freebsd.go.orig 2018-01-27 23:26:47.414312000 +0100
|
||||
+++ src/github.com/muesli/beehive/vendor/github.com/guelfey/go.dbus/transport_freebsd.go 2018-01-27 23:26:38.638965000 +0100
|
||||
@@ -0,0 +1,6 @@
|
||||
+package dbus
|
||||
+
|
||||
+func (t *unixTransport) SendNullByte() error {
|
||||
+ _, err := t.Write([]byte{0})
|
||||
+ return err
|
||||
+}
|
||||
Index: src/github.com/muesli/beehive/vendor/github.com/guelfey/go.dbus/transport_unixcred.go
|
||||
--- src/github.com/muesli/beehive/vendor/github.com/guelfey/go.dbus/transport_unixcred.go.orig 2018-01-27 23:19:06.000000000 +0100
|
||||
+++ src/github.com/muesli/beehive/vendor/github.com/guelfey/go.dbus/transport_unixcred.go 2018-01-27 23:24:56.022795000 +0100
|
||||
@@ -1,4 +1,4 @@
|
||||
-// +build !darwin
|
||||
+// +build !darwin,!freebsd
|
||||
|
||||
package dbus
|
||||
|
@ -0,0 +1,130 @@
|
||||
## |
||||
## beehive.spec -- OpenPKG RPM Package Specification |
||||
## Copyright (c) 2000-2018 OpenPKG Project <http://openpkg.org/> |
||||
## |
||||
## Permission to use, copy, modify, and distribute this software for |
||||
## any purpose with or without fee is hereby granted, provided that |
||||
## the above copyright notice and this permission notice appear in all |
||||
## copies. |
||||
## |
||||
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
||||
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
||||
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
||||
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
||||
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
||||
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
||||
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
||||
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
||||
## SUCH DAMAGE. |
||||
## |
||||
|
||||
# package version |
||||
%define V_opkg 0.2.99 |
||||
%define V_dist 20180127 |
||||
|
||||
# package information |
||||
Name: beehive |
||||
Summary: Event and Agent System |
||||
URL: https://github.com/muesli/beehive |
||||
Vendor: Christian Muehlhaeuser |
||||
Packager: OpenPKG Project |
||||
Distribution: OpenPKG Community |
||||
Class: EVAL |
||||
Group: Networking |
||||
License: AGPL |
||||
Version: %{V_opkg}.%{V_dist} |
||||
Release: 20180127 |
||||
|
||||
# list of sources |
||||
Source0: http://download.openpkg.org/components/versioned/beehive/beehive-%{V_dist}.tar.xz |
||||
Source1: beehive.conf |
||||
Source2: rc.beehive |
||||
Patch0: beehive.patch |
||||
|
||||
# build information |
||||
BuildPreReq: OpenPKG, openpkg >= 20160101, go |
||||
PreReq: OpenPKG, openpkg >= 20160101 |
||||
|
||||
%description |
||||
Beehive is an event and agent system, which allows you to create |
||||
your own agents that perform automated tasks triggered by events |
||||
and filters. It is modular, flexible and really easy to extend for |
||||
anyone. It has modules (we call them Hives), so it can interface |
||||
with, talk to, or retrieve information from Twitter, Tumblr, Email, |
||||
IRC, Jabber, RSS, Jenkins, Hue - to name just a few. |
||||
|
||||
%track |
||||
prog beehive:release = { |
||||
version = %{V_opkg} |
||||
url = https://github.com/muesli/beehive/releases |
||||
regex = (__VER__)\.tar\.gz |
||||
} |
||||
prog beehive:snapshot = { |
||||
version = %{V_dist} |
||||
url = http://download.openpkg.org/components/versioned/beehive/ |
||||
regex = beehive-(__VER__)\.tar\.xz |
||||
} |
||||
|
||||
%prep |
||||
%setup -q -n beehive |
||||
%patch -p0 |
||||
|
||||
%build |
||||
# build program |
||||
export GOPATH=`pwd` |
||||
cd src/github.com/muesli/beehive |
||||
%{l_make} %{l_mflags} embed |
||||
|
||||
%install |
||||
# create directory hierarchy |
||||
%{l_shtool} mkdir -f -p -m 755 \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/sbin \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/etc/beehive \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/var/beehive/run \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/var/beehive/log |
||||
|
||||
# install program |
||||
%{l_shtool} install -c -s -m 755 \ |
||||
src/github.com/muesli/beehive/beehive \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/sbin/ |
||||
|
||||
# install default configuration |
||||
%{l_shtool} install -c -m 644 %{l_value -s -a} \ |
||||
%{SOURCE beehive.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/beehive/ |
||||
|
||||
# install run-command script |
||||
%{l_shtool} install -c -m 755 %{l_value -s -a} \ |
||||
%{SOURCE rc.beehive} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
||||
|
||||
# determine installation files |
||||
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
||||
%{l_files_std} \ |
||||
'%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/etc/beehive' \ |
||||
'%config %attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/etc/beehive/*' \ |
||||
'%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/beehive/*' |
||||
|
||||
%files -f files |
||||
|
||||
%clean |
||||
|
||||
%post |
||||
if [ $1 -eq 2 ]; then |
||||
# after upgrade, restart service |
||||
eval `%{l_rc} beehive status 2>/dev/null` |
||||
[ ".$beehive_active" = .yes ] && %{l_rc} beehive restart |
||||
fi |
||||
exit 0 |
||||
|
||||
%preun |
||||
if [ $1 -eq 0 ]; then |
||||
# before erase, stop service and remove log files |
||||
%{l_rc} beehive stop 2>/dev/null |
||||
rm -rf $RPM_INSTALL_PREFIX/var/beehive/log/* >/dev/null 2>&1 || true |
||||
rm -rf $RPM_INSTALL_PREFIX/var/beehive/run/* >/dev/null 2>&1 || true |
||||
fi |
||||
exit 0 |
||||
|
@ -0,0 +1,65 @@
|
||||
#!@l_prefix@/bin/openpkg rc |
||||
## |
||||
## rc.beehive -- Run-Commands |
||||
## |
||||
|
||||
%config |
||||
beehive_enable="$openpkg_rc_def" |
||||
beehive_flags="-bind 127.0.0.1:8181 -canonicalurl http://localhost:8181" |
||||
beehive_log_prolog="true" |
||||
beehive_log_epilog="true" |
||||
beehive_log_numfiles="10" |
||||
beehive_log_minsize="1M" |
||||
beehive_log_complevel="9" |
||||
|
||||
%common |
||||
beehive_cfgfile="@l_prefix@/etc/beehive/beehive.conf" |
||||
beehive_pidfile="@l_prefix@/var/beehive/run/beehive.pid" |
||||
beehive_logfile="@l_prefix@/var/beehive/log/beehive.log" |
||||
beehive_signal () { |
||||
[ -f $beehive_pidfile ] && kill -$1 `cat $beehive_pidfile` |
||||
} |
||||
|
||||
%status -u @l_rusr@ -o |
||||
beehive_usable="unknown" |
||||
beehive_active="no" |
||||
rcService beehive enable yes && \ |
||||
beehive_signal 0 && beehive_active="yes" |
||||
echo "beehive_enable=\"$beehive_enable\"" |
||||
echo "beehive_usable=\"$beehive_usable\"" |
||||
echo "beehive_active=\"$beehive_active\"" |
||||
|
||||
%start -u @l_rusr@ |
||||
rcService beehive enable yes || exit 0 |
||||
rcService beehive active yes && exit 0 |
||||
( GOMAXPROCS=32 |
||||
export GOMAXPROCS |
||||
. @l_prefix@/etc/beehive/beehive.cf |
||||
nohup @l_prefix@/sbin/beehive \ |
||||
-config $beehive_cfgfile \ |
||||
$beehive_flags \ |
||||
</dev/null >>$beehive_logfile 2>&1 & |
||||
echo $! >$beehive_pidfile |
||||
) >/dev/null 2>&1 |
||||
|
||||
%stop -u @l_rusr@ |
||||
rcService beehive enable yes || exit 0 |
||||
rcService beehive active no && exit 0 |
||||
beehive_signal TERM |
||||
sleep 2 |
||||
rm -f $beehive_pidfile >/dev/null 2>&1 || true |
||||
|
||||
%restart -u @l_rusr@ |
||||
rcService beehive enable yes || exit 0 |
||||
rcService beehive active no && exit 0 |
||||
rc beehive stop start |
||||
|
||||
%daily -u @l_rusr@ |
||||
rcService beehive enable yes || exit 0 |
||||
shtool rotate -f \ |
||||
-n ${beehive_log_numfiles} -s ${beehive_log_minsize} -d \ |
||||
-z ${beehive_log_complevel} -m 664 -o @l_rusr@ -g @l_rgrp@ \ |
||||
-P "${beehive_log_prolog}" \ |
||||
-E "${beehive_log_epilog}; rc beehive restart" \ |
||||
$beehive_logfile |
||||
|
Loading…
Reference in new issue