5 changed files with 371 additions and 0 deletions
@ -0,0 +1,56 @@ |
|||||||
|
Index: _build/default/lib/eleveldb/c_src/build_deps.sh
|
||||||
|
--- _build/default/lib/eleveldb/c_src/build_deps.sh.orig 2016-07-20 01:31:35.000000000 +0200
|
||||||
|
+++ _build/default/lib/eleveldb/c_src/build_deps.sh 2017-12-26 00:55:46.772790000 +0100
|
||||||
|
@@ -67,7 +67,8 @@
|
||||||
|
*)
|
||||||
|
if [ ! -d snappy-$SNAPPY_VSN ]; then
|
||||||
|
tar -xzf snappy-$SNAPPY_VSN.tar.gz
|
||||||
|
- (cd snappy-$SNAPPY_VSN && ./configure --prefix=$BASEDIR/system --libdir=$BASEDIR/system/lib --with-pic)
|
||||||
|
+ patch -d snappy-$SNAPPY_VSN <snappy.patch
|
||||||
|
+ (cd snappy-$SNAPPY_VSN && ./configure --prefix=$BASEDIR/system --libdir=$BASEDIR/system/lib --with-pic --disable-shared)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f system/lib/libsnappy.a ]; then
|
||||||
|
Index: _build/default/lib/eleveldb/c_src/snappy.patch
|
||||||
|
--- _build/default/lib/eleveldb/c_src/snappy.patch.orig 2017-12-26 00:55:46.772938000 +0100
|
||||||
|
+++ _build/default/lib/eleveldb/c_src/snappy.patch 2017-12-26 00:55:46.772923000 +0100
|
||||||
|
@@ -0,0 +1,14 @@
|
||||||
|
+Index: Makefile.in
|
||||||
|
+--- Makefile.in.orig 2011-03-18 18:15:18.000000000 +0100
|
||||||
|
++++ Makefile.in 2011-03-23 19:37:27.000000000 +0100
|
||||||
|
+@@ -37,8 +37,8 @@
|
||||||
|
+ POST_UNINSTALL = :
|
||||||
|
+ build_triplet = @build@
|
||||||
|
+ host_triplet = @host@
|
||||||
|
+-TESTS = snappy_unittest$(EXEEXT)
|
||||||
|
+-noinst_PROGRAMS = $(am__EXEEXT_1)
|
||||||
|
++TESTS =
|
||||||
|
++noinst_PROGRAMS =
|
||||||
|
+ subdir = .
|
||||||
|
+ DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \
|
||||||
|
+ $(include_HEADERS) $(noinst_HEADERS) $(srcdir)/Makefile.am \
|
||||||
|
Index: _build/default/lib/mcache/rebar.config
|
||||||
|
--- _build/default/lib/mcache/rebar.config.orig 2017-08-08 18:05:48.000000000 +0200
|
||||||
|
+++ _build/default/lib/mcache/rebar.config 2017-12-26 00:55:46.773029000 +0100
|
||||||
|
@@ -21,7 +21,7 @@
|
||||||
|
{post, [{compile, {pc, compile}}]}
|
||||||
|
]}.
|
||||||
|
|
||||||
|
-%{port_env, [{"CFLAGS", "$CFLAGS -g3 -std=c99 -Werror"}]}.
|
||||||
|
+%{port_env, [{"CFLAGS", "$CFLAGS -g3 -std=c99"}]}.
|
||||||
|
{port_env, [{"CFLAGS", "$CFLAGS -g3 -std=c99"}]}.
|
||||||
|
|
||||||
|
{port_specs, [
|
||||||
|
Index: _build/default/lib/ranch/erlang.mk
|
||||||
|
--- _build/default/lib/ranch/erlang.mk.orig 2015-07-02 16:06:33.000000000 +0200
|
||||||
|
+++ _build/default/lib/ranch/erlang.mk 2017-12-26 00:58:30.288875000 +0100
|
||||||
|
@@ -206,8 +206,7 @@
|
||||||
|
|
||||||
|
# Configuration.
|
||||||
|
|
||||||
|
-ERLC_OPTS ?= -Werror +debug_info +warn_export_all +warn_export_vars \
|
||||||
|
- +warn_shadow_vars +warn_obsolete_guard # +bin_opt_info +warn_missing_spec
|
||||||
|
+ERLC_OPTS ?= +debug_info
|
||||||
|
COMPILE_FIRST ?=
|
||||||
|
COMPILE_FIRST_PATHS = $(addprefix src/,$(addsuffix .erl,$(COMPILE_FIRST)))
|
||||||
|
|
@ -0,0 +1,158 @@ |
|||||||
|
## |
||||||
|
## dalmatinerdb.spec -- OpenPKG RPM Package Specification |
||||||
|
## Copyright (c) 2000-2017 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 0.3.3 |
||||||
|
%define V_dist 20171226 |
||||||
|
|
||||||
|
# package information |
||||||
|
Name: dalmatinerdb |
||||||
|
Summary: Distributed Time-Series Database |
||||||
|
URL: http://dalmatinerdb.io/ |
||||||
|
Vendor: Heinz N. Gies |
||||||
|
Packager: OpenPKG Foundation e.V. |
||||||
|
Distribution: OpenPKG Community |
||||||
|
Class: EVAL |
||||||
|
Group: Database |
||||||
|
License: MIT |
||||||
|
Version: %{V_opkg}.%{V_dist} |
||||||
|
Release: 20171226 |
||||||
|
|
||||||
|
# list of sources |
||||||
|
Source0: http://download.openpkg.org/components/versioned/dalmatinerdb/dalmatinerdb-%{V_dist}.tar.xz |
||||||
|
Source1: rc.dalmatinerdb |
||||||
|
Source2: ddb.conf |
||||||
|
Source3: ddb-rules.ot |
||||||
|
Patch0: dalmatinerdb.patch |
||||||
|
|
||||||
|
# build information |
||||||
|
BuildPreReq: OpenPKG, openpkg >= 20160101, erlang19, gcc, gcc::with_cxx = yes |
||||||
|
PreReq: OpenPKG, openpkg >= 20160101 |
||||||
|
|
||||||
|
%description |
||||||
|
DalmatinerDB is a distributed Time-Series/Metric Database based on |
||||||
|
the Riak Core platform and Erlang. It provides: a highly optimized |
||||||
|
network protocol, sequential reads/writes for metrics and a |
||||||
|
client-server model that takes as much load from the actual store as |
||||||
|
possible. |
||||||
|
|
||||||
|
%track |
||||||
|
prog dalmatinerdb:release = { |
||||||
|
version = %{V_opkg} |
||||||
|
url = https://github.com/dalmatinerdb/dalmatinerdb/releases |
||||||
|
regex = (__VER__)\.tar\.gz |
||||||
|
} |
||||||
|
prog dalmatinerdb:snapshot = { |
||||||
|
version = %{V_dist} |
||||||
|
url = http://download.openpkg.org/components/versioned/dalmatinerdb/ |
||||||
|
regex = dalmatinerdb-(__VER__)\.tar\.xz |
||||||
|
} |
||||||
|
|
||||||
|
%prep |
||||||
|
%setup -q -n dalmatinerdb |
||||||
|
%patch -p0 |
||||||
|
|
||||||
|
%build |
||||||
|
# build program |
||||||
|
export CC="%{l_cc}" |
||||||
|
export CXX="%{l_cxx}" |
||||||
|
export CFLAGS="%{l_cflags -O} -Wno-unused-function -Wno-maybe-uninitialized" |
||||||
|
export CXXFLAGS="%{l_cxxflags -O} -Wno-unused-function -Wno-maybe-uninitialized" |
||||||
|
export CPPFLAGS="%{l_cppflags}" |
||||||
|
export LDFLAGS="%{l_ldflags}" |
||||||
|
export PATH=%{l_prefix}/lib/erlang19/erlang/bin:$PATH |
||||||
|
export HOME=`pwd` |
||||||
|
./rebar3 as smartos release |
||||||
|
|
||||||
|
%install |
||||||
|
# create installation 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/dalmatinerdb \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/lib/dalmatinerdb \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/var/dalmatinerdb/db \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/var/dalmatinerdb/log \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/var/dalmatinerdb/run |
||||||
|
|
||||||
|
# install program |
||||||
|
rm -rf _build/smartos/rel/ddb/lib/*/c_src |
||||||
|
cp -rp _build/smartos/rel/ddb/* \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/lib/dalmatinerdb/ |
||||||
|
for prog in ddb ddb-admin; do |
||||||
|
( echo "#!/bin/sh" |
||||||
|
echo "RUNNER_USER=\"\`id -u -n\`\"" |
||||||
|
echo "export RUNNER_USER" |
||||||
|
echo "RUNNER_ETC_DIR=%{l_prefix}/etc/dalmatinerdb" |
||||||
|
echo "export RUNNER_ETC_DIR" |
||||||
|
echo "RUNNER_LOG_DIR=%{l_prefix}/var/dalmatinerdb/log" |
||||||
|
echo "export RUNNER_LOG_DIR" |
||||||
|
echo "RUNNER_GEN_DIR=%{l_prefix}/var/dalmatinerdb/db" |
||||||
|
echo "export RUNNER_GEN_DIR" |
||||||
|
echo "exec %{l_prefix}/lib/dalmatinerdb/bin/$prog \${1+\"\$@\"}" |
||||||
|
) >$RPM_BUILD_ROOT%{l_prefix}/sbin/$prog |
||||||
|
chmod 755 $RPM_BUILD_ROOT%{l_prefix}/sbin/$prog |
||||||
|
done |
||||||
|
|
||||||
|
# install default configuration |
||||||
|
%{l_shtool} install -c -m 644 %{l_value -s -a} \ |
||||||
|
%{SOURCE ddb.conf} \ |
||||||
|
%{SOURCE ddb-rules.ot} \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/etc/dalmatinerdb/ |
||||||
|
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/dalmatinerdb/etc/ddb.conf |
||||||
|
ln -s ../../../etc/dalmatinerdb/ddb.conf \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/lib/dalmatinerdb/etc/ |
||||||
|
|
||||||
|
# install run-command script |
||||||
|
%{l_shtool} install -c -m 755 %{l_value -s -a} \ |
||||||
|
%{SOURCE rc.dalmatinerdb} $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/dalmatinerdb' \ |
||||||
|
'%config %attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/etc/dalmatinerdb/*' \ |
||||||
|
'%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/dalmatinerdb/*' |
||||||
|
|
||||||
|
%files -f files |
||||||
|
|
||||||
|
%clean |
||||||
|
|
||||||
|
%post |
||||||
|
if [ $1 -eq 2 ]; then |
||||||
|
# after upgrade, restart service |
||||||
|
eval `%{l_rc} dalmatinerdb status 2>/dev/null` |
||||||
|
[ ".$dalmatinerdb_active" = .yes ] && %{l_rc} dalmatinerdb restart |
||||||
|
fi |
||||||
|
exit 0 |
||||||
|
|
||||||
|
%preun |
||||||
|
if [ $1 -eq 0 ]; then |
||||||
|
# before erase, stop service and remove log files |
||||||
|
%{l_rc} dalmatinerdb stop 2>/dev/null |
||||||
|
rm -rf $RPM_INSTALL_PREFIX/var/dalmatinerdb/log/* >/dev/null 2>&1 || true |
||||||
|
rm -rf $RPM_INSTALL_PREFIX/var/dalmatinerdb/run/* >/dev/null 2>&1 || true |
||||||
|
rm -rf $RPM_INSTALL_PREFIX/var/dalmatinerdb/db/* >/dev/null 2>&1 || true |
||||||
|
fi |
||||||
|
exit 0 |
||||||
|
|
@ -0,0 +1,98 @@ |
|||||||
|
## |
||||||
|
## ddb.conf -- DalmatinerDB Server Configuration |
||||||
|
## |
||||||
|
|
||||||
|
tcp_port = 5555 |
||||||
|
tcp_listeners = 100 |
||||||
|
tcp_max_connections = 1024 |
||||||
|
tcp.max_batch_size = 500 |
||||||
|
|
||||||
|
async_workers = 5 |
||||||
|
|
||||||
|
handoff_max_chunk_size = 1KB |
||||||
|
points_per_file = 604800 |
||||||
|
lifetime = infinity |
||||||
|
mstore.max_files = 2 |
||||||
|
vacuum_interval = 1h |
||||||
|
|
||||||
|
n = 1 |
||||||
|
r = 1 |
||||||
|
w = 1 |
||||||
|
|
||||||
|
schema_dir = @l_prefix@/lib/dalmatinerdb/share/schema |
||||||
|
self_monitor = on |
||||||
|
metrics.transport_compression = snappy |
||||||
|
|
||||||
|
read_repair.delay = 1m |
||||||
|
read_repair.partial_read_repair = on |
||||||
|
|
||||||
|
io.max_async = 20 |
||||||
|
io.timeout = 30s |
||||||
|
io.parallel_reads = off |
||||||
|
io.parallel_reads.queue_size = 5 |
||||||
|
io.parallel_reads.min_size = 1000 |
||||||
|
io.parallel_reads.queue_strategy = fifo |
||||||
|
|
||||||
|
vnode.cache.size = 10MB |
||||||
|
vnode.cache.buckets = 128 |
||||||
|
vnode.cache.initial_entries = 2 |
||||||
|
vnode.cache.initial_data = 32 |
||||||
|
vnode.cache.age_cycle = 1000000 |
||||||
|
vnode.cache.max_gap = 10 |
||||||
|
|
||||||
|
nodename = dalmatinerdb@127.0.0.1 |
||||||
|
distributed_cookie = erlang |
||||||
|
|
||||||
|
erlang.async_threads = 64 |
||||||
|
erlang.max_ports = 65536 |
||||||
|
|
||||||
|
anti_entropy = on |
||||||
|
|
||||||
|
anti_entropy.build_limit.number = 1 |
||||||
|
anti_entropy.build_limit.per_timespan = 1h |
||||||
|
anti_entropy.expire = 1w |
||||||
|
anti_entropy.concurrency = 2 |
||||||
|
anti_entropy.tick = 15s |
||||||
|
anti_entropy.data_dir = @l_prefix@/var/dalmatinerdb/db/anti_entropy |
||||||
|
anti_entropy.total_leveldb_mem_percent = 80 |
||||||
|
anti_entropy.bloomfilter = on |
||||||
|
|
||||||
|
ring_size = 64 |
||||||
|
transfer_limit = 2 |
||||||
|
|
||||||
|
#ssl.certfile = $(platform_etc_dir)/cert.pem |
||||||
|
#ssl.keyfile = $(platform_etc_dir)/key.pem |
||||||
|
#ssl.cacertfile = $(platform_etc_dir)/cacertfile.pem |
||||||
|
|
||||||
|
handoff.ip = 127.0.0.1 |
||||||
|
handoff.inactivity_timeout = 1m |
||||||
|
dtrace = off |
||||||
|
|
||||||
|
platform_etc_dir = @l_prefix@/etc/dalmatinerdb |
||||||
|
platform_bin_dir = @l_prefix@/lib/dalmatinerdb/bin |
||||||
|
platform_lib_dir = @l_prefix@/lib/dalmatinerdb/lib |
||||||
|
platform_data_dir = @l_prefix@/var/dalmatinerdb/db |
||||||
|
platform_log_dir = @l_prefix@/var/dalmatinerdb/log |
||||||
|
|
||||||
|
strong_consistency = on |
||||||
|
worker.queue_strategy = fifo |
||||||
|
|
||||||
|
log.service = dalmatinerdb |
||||||
|
log.console = file |
||||||
|
log.console.level = info |
||||||
|
log.console.file = @l_prefix@/var/dalmatinerdb/log/ddb.console.log |
||||||
|
log.error.file = @l_prefix@/var/dalmatinerdb/log/ddb.error.log |
||||||
|
log.syslog = off |
||||||
|
log.error.redirect = on |
||||||
|
log.error.messages_per_second = 100 |
||||||
|
|
||||||
|
otters.batch_interval = 100ms |
||||||
|
otters.zapkin_url = http://127.0.0.1:9411/api/v1/spans |
||||||
|
otters.host = 127.0.0.1:0 |
||||||
|
otters.service = dalmatinerdb |
||||||
|
otters.add_service_to_log = off |
||||||
|
otters.add_service_to_tags = off |
||||||
|
otters.default_key = lc |
||||||
|
otters.default_value = v |
||||||
|
otters.filter = @l_prefix@/etc/dalmatinerdb/ddb-rules.ot |
||||||
|
|
@ -0,0 +1,56 @@ |
|||||||
|
#!@l_prefix@/bin/openpkg rc |
||||||
|
## |
||||||
|
## rc.dalmatinerdb -- Run-Commands |
||||||
|
## |
||||||
|
|
||||||
|
%config |
||||||
|
dalmatinerdb_enable="$openpkg_rc_def" |
||||||
|
dalmatinerdb_flags="" |
||||||
|
dalmatinerdb_log_prolog="true" |
||||||
|
dalmatinerdb_log_epilog="true" |
||||||
|
dalmatinerdb_log_numfiles="10" |
||||||
|
dalmatinerdb_log_minsize="1M" |
||||||
|
dalmatinerdb_log_complevel="9" |
||||||
|
|
||||||
|
%common |
||||||
|
dalmatinerdb_pidfile="@l_prefix@/var/dalmatinerdb/run/dalmatinerdb.pid" |
||||||
|
dalmatinerdb_logfile="@l_prefix@/var/dalmatinerdb/log/dalmatinerdb.console.log" |
||||||
|
dalmatinerdb_signal () { |
||||||
|
[ -f $dalmatinerdb_pidfile ] && kill -$1 `cat $dalmatinerdb_pidfile` |
||||||
|
} |
||||||
|
|
||||||
|
%status -u @l_rusr@ -o |
||||||
|
dalmatinerdb_usable="no" |
||||||
|
dalmatinerdb_active="no" |
||||||
|
rcService nats-board enable yes && \ |
||||||
|
dalmatinerdb_signal 0 && dalmatinerdb_active="yes" |
||||||
|
echo "dalmatinerdb_enable=\"$dalmatinerdb_enable\"" |
||||||
|
echo "dalmatinerdb_usable=\"$dalmatinerdb_usable\"" |
||||||
|
echo "dalmatinerdb_active=\"$dalmatinerdb_active\"" |
||||||
|
|
||||||
|
%start -u @l_rusr@ |
||||||
|
rcService dalmatinerdb enable yes || exit 0 |
||||||
|
rcService dalmatinerdb active yes && exit 0 |
||||||
|
@l_prefix@/sbin/ddb start $dalmatinerdb_flags |
||||||
|
@l_prefix@/sbin/ddb-admin wait-for-service metric |
||||||
|
@l_prefix@/sbin/ddb-admin wait-for-service even |
||||||
|
|
||||||
|
%stop -u @l_rusr@ |
||||||
|
rcService dalmatinerdb enable yes || exit 0 |
||||||
|
rcService dalmatinerdb active no && exit 0 |
||||||
|
@l_prefix@/sbin/ddb stop |
||||||
|
|
||||||
|
%restart -u @l_rusr@ |
||||||
|
rcService dalmatinerdb enable yes || exit 0 |
||||||
|
rcService dalmatinerdb active no && exit 0 |
||||||
|
@l_prefix@/sbin/ddb restart |
||||||
|
|
||||||
|
%daily -u @l_rusr@ |
||||||
|
rcService dalmatinerdb enable yes || exit 0 |
||||||
|
shtool rotate -f \ |
||||||
|
-n ${dalmatinerdb_log_numfiles} -s ${dalmatinerdb_log_minsize} -d \ |
||||||
|
-z ${dalmatinerdb_log_complevel} -m 664 -o @l_rusr@ -g @l_rgrp@ \ |
||||||
|
-P "${dalmatinerdb_log_prolog}" \ |
||||||
|
-E "${dalmatinerdb_log_epilog}; rc dalmatinerdb restart" \ |
||||||
|
$dalmatinerdb_logfile |
||||||
|
|
Loading…
Reference in new issue