4 changed files with 247 additions and 0 deletions
@ -0,0 +1,34 @@
|
||||
## |
||||
## disque.conf -- Redis server configuration |
||||
## |
||||
|
||||
# daemon process |
||||
daemonize yes |
||||
pidfile @l_prefix@/var/disque/run/disque.pid |
||||
logfile @l_prefix@/var/disque/log/disque.log |
||||
loglevel notice |
||||
|
||||
# network connection |
||||
bind 127.0.0.1 |
||||
port 6379 |
||||
timeout 300 |
||||
maxclients 128 |
||||
requirepass local-secret |
||||
tcp-backlog 511 |
||||
tcp-keepalive 0 |
||||
|
||||
# replication master |
||||
#slaveof 127.0.0.2 6379 |
||||
#masterauth remote-secret |
||||
|
||||
# database pool |
||||
maxmemory 100mb |
||||
|
||||
# disque-snapshot persistence |
||||
dir @l_prefix@/var/disque/db/ |
||||
|
||||
# append-only-file persistence |
||||
appendonly no |
||||
appendfsync everysec |
||||
appendfilename disque.aof |
||||
|
||||
@ -0,0 +1,25 @@
|
||||
Index: src/Makefile
|
||||
--- src/Makefile.orig 2016-01-02 16:23:53.000000000 +0100
|
||||
+++ src/Makefile 2016-01-03 13:15:19.065626902 +0100
|
||||
@@ -18,8 +18,8 @@
|
||||
DEPENDENCY_TARGETS=hiredis linenoise
|
||||
|
||||
# Default settings
|
||||
-STD=-std=c99 -pedantic
|
||||
-WARN=-Wall -W
|
||||
+STD=-std=c99
|
||||
+WARN=
|
||||
OPT=$(OPTIMIZATION)
|
||||
|
||||
PREFIX?=/usr/local
|
||||
Index: src/mkreleasehdr.sh
|
||||
--- src/mkreleasehdr.sh.orig 2016-01-02 16:23:53.000000000 +0100
|
||||
+++ src/mkreleasehdr.sh 2016-01-03 13:15:19.065626902 +0100
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
GIT_SHA1=`(git show-ref --head --hash=8 2> /dev/null || echo 00000000) | head -n1`
|
||||
-GIT_DIRTY=`git diff --no-ext-diff 2> /dev/null | wc -l`
|
||||
+GIT_DIRTY=`(git diff --no-ext-diff) 2>/dev/null | wc -l`
|
||||
BUILD_ID=`uname -n`"-"`date +%s`
|
||||
test -f release.h || touch release.h
|
||||
(cat release.h | grep SHA1 | grep $GIT_SHA1) && \
|
||||
@ -0,0 +1,133 @@
|
||||
## |
||||
## disque.spec -- OpenPKG RPM Package Specification |
||||
## Copyright (c) 2000-2016 OpenPKG Foundation e.V. <http://openpkg.net/> |
||||
## |
||||
## 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 1.0rc1 |
||||
%define V_dist 1.0-rc1 |
||||
|
||||
# package information |
||||
Name: disque |
||||
Summary: Distributed In-Memory Message Queue |
||||
URL: https://github.com/antirez/disque |
||||
Vendor: Salvatore Sanfilippo |
||||
Packager: OpenPKG Foundation e.V. |
||||
Distribution: OpenPKG Community |
||||
Class: PLUS |
||||
Group: Database |
||||
License: BSD |
||||
Version: %{V_opkg} |
||||
Release: 20160103 |
||||
|
||||
# list of sources |
||||
Source0: https://github.com/antirez/disque/archive/%{V_dist}.tar.gz |
||||
Source1: rc.disque |
||||
Source2: disque.conf |
||||
Patch0: disque.patch |
||||
|
||||
# build information |
||||
BuildPreReq: OpenPKG, openpkg >= 20140101, config |
||||
PreReq: OpenPKG, openpkg >= 20140101 |
||||
|
||||
%description |
||||
Disque is ongoing experiment to build a distributed, in memory, |
||||
message broker. Its goal is to capture the essence of the "Redis as |
||||
a jobs queue" use case, which is usually implemented using blocking |
||||
list operations, and move it into an ad-hoc, self-contained, |
||||
scalable, and fault tolerant design, with simple to understand |
||||
properties and guarantees, but still resembling Redis in terms of |
||||
simplicity, performances, and implementation as a C non-blocking |
||||
networked server. |
||||
|
||||
%track |
||||
prog disque = { |
||||
version = %{V_dist} |
||||
url = https://github.com/antirez/disque/releases |
||||
regex = (\d+\.\d+\.\d+)\.tar\.gz |
||||
} |
||||
|
||||
%prep |
||||
%setup -q -n disque-%{V_dist} |
||||
%patch -p0 |
||||
|
||||
%build |
||||
# build program |
||||
%{l_shtool} subst \ |
||||
-e 's;/var/run/disque\.pid;%{l_prefix}/var/disque/run/disque.pid;' \ |
||||
src/server.h |
||||
%{l_make} %{l_mflags -O} \ |
||||
CC="%{l_cc} %{l_cflags -O}" \ |
||||
DEBUG="" |
||||
|
||||
%install |
||||
# create installation directories |
||||
%{l_shtool} mkdir -f -p -m 755 \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/bin \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/etc/disque \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/var/disque/run \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/var/disque/log \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/var/disque/db |
||||
|
||||
# install programs |
||||
%{l_shtool} install -c -s -m 755 \ |
||||
src/disque-server \ |
||||
src/disque \ |
||||
src/disque-check-aof \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/bin/ |
||||
|
||||
# install run-command script |
||||
%{l_shtool} install -c -m 755 %{l_value -s -a} \ |
||||
%{SOURCE rc.disque} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
||||
|
||||
# install default configuration |
||||
%{l_shtool} install -c -m 644 %{l_value -s -a} \ |
||||
%{SOURCE disque.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/disque/ |
||||
|
||||
# determine installation files |
||||
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
||||
%{l_files_std} \ |
||||
'%config %{l_prefix}/etc/disque/*' \ |
||||
'%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/disque/*' |
||||
|
||||
%files -f files |
||||
|
||||
%clean |
||||
|
||||
%post |
||||
# after upgrade, restart service |
||||
if [ $1 -eq 2 ]; then |
||||
eval `%{l_rc} disque status 2>/dev/null` |
||||
[ ".$disque_active" = .yes ] && %{l_rc} disque restart |
||||
fi |
||||
exit 0 |
||||
|
||||
%preun |
||||
# before erase, stop service and remove log files |
||||
if [ $1 -eq 0 ]; then |
||||
%{l_rc} disque stop 2>/dev/null |
||||
rm -f $RPM_INSTALL_PREFIX/var/disque/run/* >/dev/null 2>&1 || true |
||||
rm -f $RPM_INSTALL_PREFIX/var/disque/log/* >/dev/null 2>&1 || true |
||||
rm -rf $RPM_INSTALL_PREFIX/var/disque/db/* >/dev/null 2>&1 || true |
||||
fi |
||||
exit 0 |
||||
|
||||
@ -0,0 +1,55 @@
|
||||
#!@l_prefix@/bin/openpkg rc |
||||
## |
||||
## rc.disque -- Run-Commands |
||||
## |
||||
|
||||
%config |
||||
disque_enable="$openpkg_rc_def" |
||||
disque_log_prolog="true" |
||||
disque_log_epilog="true" |
||||
disque_log_numfiles="10" |
||||
disque_log_minsize="1M" |
||||
disque_log_complevel="9" |
||||
|
||||
%common |
||||
disque_logfile="@l_prefix@/var/disque/log/disque.log" |
||||
disque_pidfile="@l_prefix@/var/disque/run/disque.pid" |
||||
disque_signal () { |
||||
[ -f $disque_pidfile ] && kill -$1 `cat $disque_pidfile` |
||||
} |
||||
|
||||
%status -u @l_rusr@ -o |
||||
disque_usable="unknown" |
||||
disque_active="no" |
||||
rcService disque enable yes && \ |
||||
disque_signal 0 && disque_active="yes" |
||||
echo "disque_enable=\"$disque_enable\"" |
||||
echo "disque_usable=\"$disque_usable\"" |
||||
echo "disque_active=\"$disque_active\"" |
||||
|
||||
%start -u @l_rusr@ |
||||
rcService disque enable yes || exit 0 |
||||
rcService disque active yes && exit 0 |
||||
@l_prefix@/bin/disque-server @l_prefix@/etc/disque/disque.conf |
||||
|
||||
%stop -u @l_rusr@ |
||||
rcService disque enable yes || exit 0 |
||||
rcService disque active no && exit 0 |
||||
disque_signal TERM |
||||
sleep 2 |
||||
rm -f $disque_pidfile >/dev/null 2>&1 || true |
||||
|
||||
%restart -u @l_rusr@ |
||||
rcService disque enable yes || exit 0 |
||||
rcService disque active no && exit 0 |
||||
rc disque stop start |
||||
|
||||
%daily -u @l_rusr@ |
||||
rcService disque enable yes || exit 0 |
||||
shtool rotate -f \ |
||||
-n ${disque_log_numfiles} -s ${disque_log_minsize} -d \ |
||||
-z ${disque_log_complevel} -m 664 -o @l_susr@ -g @l_mgrp@ \ |
||||
-P "${disque_log_prolog}" \ |
||||
-E "${disque_log_epilog}; rc disque restart" \ |
||||
$disque_logfile |
||||
|
||||
Loading…
Reference in new issue