Browse Source

new package

master
parent
commit
87fc981e52
  1. 5
      beehive/beehive.conf
  2. 49
      beehive/beehive.patch
  3. 130
      beehive/beehive.spec
  4. 65
      beehive/rc.beehive

5
beehive/beehive.conf

@ -0,0 +1,5 @@
{
"Bees": [],
"Actions": null,
"Chains": []
}

49
beehive/beehive.patch

@ -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

130
beehive/beehive.spec

@ -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

65
beehive/rc.beehive

@ -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…
Cancel
Save