This is a new, tested port of Basho Riak distributed database, that doesnt exist in FreeBSD Ports tree. Basho is providing binary package for FreeBSD, but it is only working with legacy pkg tools, has unnecessary dependencies, doesnt have rc scripts. This port is fixing all of these issues. Fix: Commit this port to FreeBSD Ports tree. Patch attached with submission follows: How-To-Repeat: Install the port in /usr/ports/databases/riak, cwd to /usr/ports/databases/riak and run make install package deinstall clean, to verify the entire process.
Responsible Changed From-To: freebsd-ports-bugs->bdrewery I'll take it.
Author: bdrewery Date: Fri Sep 27 12:04:42 2013 New Revision: 328458 URL: http://svnweb.freebsd.org/changeset/ports/328458 Log: - Add new port databases/riak - Did not convert to staging as it fails to build when enabled currently Riak is a distributed database designed for maximum availability: so long as your client can reach one server, it should be able to write data. In most failure scenarios the data you want to read should be available, albeit possibly stale. WWW: http://basho.com/riak/ PR: ports/182317 Submitted by: Bartek Rutkowski <ports@robakdesign.com> Added: head/databases/riak/ head/databases/riak/Makefile (contents, props changed) head/databases/riak/distinfo (contents, props changed) head/databases/riak/files/ head/databases/riak/files/patch-deps-eleveldb-c_src-leveldb-build_detect_platform (contents, props changed) head/databases/riak/files/patch-deps-eleveldb-c_src-leveldb-db-version_set.cc (contents, props changed) head/databases/riak/files/patch-deps-erlang_js-c_src-patches-js-src-config-FreeBSD.mk.patch (contents, props changed) head/databases/riak/files/patch-deps-node_package-priv-base-env.sh (contents, props changed) head/databases/riak/files/patch-rel-reltool.config (contents, props changed) head/databases/riak/files/patch-rel-vars.config (contents, props changed) head/databases/riak/files/riak.in (contents, props changed) head/databases/riak/pkg-descr (contents, props changed) head/databases/riak/pkg-plist (contents, props changed) Modified: head/GIDs head/UIDs head/databases/Makefile Modified: head/GIDs ============================================================================== --- head/GIDs Fri Sep 27 11:38:48 2013 (r328457) +++ head/GIDs Fri Sep 27 12:04:42 2013 (r328458) @@ -188,6 +188,7 @@ _pkcs11:*:602:_pkcs11 freeswitch:*:610: monkeysphere:*:641: aox:*:666: +riak:*:667: bnetd:*:700: bopm:*:717: openxpki:*:777: Modified: head/UIDs ============================================================================== --- head/UIDs Fri Sep 27 11:38:48 2013 (r328457) +++ head/UIDs Fri Sep 27 12:04:42 2013 (r328458) @@ -196,6 +196,7 @@ freeswitch:*:610:610::0:0:Freeswitch use _pla:*:636:80::0:0:phpLDAPAdmin Owner:/nonexistent:/usr/sbin/nologin monkeysphere:*:641:641::0:0:Monkeysphere User:/var/monkeysphere:/usr/local/bin/bash aox:*:666:666::0:0:Archiveopteryx user:/nonexistent:/usr/sbin/nologin +riak:*:667:667::0:0:Riak user:/usr/local/lib/riak:/bin/sh bnetd:*:700:700::0:0:Bnetd user:/nonexistent:/usr/sbin/nologin bopm:*:717:717::0:0:Blitzed Open Proxy Monitor:/nonexistent:/bin/sh openxpki:*:777:777::0:0:OpenXPKI Owner:/nonexistent:/usr/sbin/nologin Modified: head/databases/Makefile ============================================================================== --- head/databases/Makefile Fri Sep 27 11:38:48 2013 (r328457) +++ head/databases/Makefile Fri Sep 27 12:04:42 2013 (r328458) @@ -806,6 +806,7 @@ SUBDIR += redigo SUBDIR += redis SUBDIR += redis-devel + SUBDIR += riak SUBDIR += rrdman SUBDIR += rrdmerge SUBDIR += rrdtool Added: head/databases/riak/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/riak/Makefile Fri Sep 27 12:04:42 2013 (r328458) @@ -0,0 +1,99 @@ +# $FreeBSD$ + +PORTNAME= riak +PORTVERSION= 1.4.2 +CATEGORIES= databases +MASTER_SITES= http://s3.amazonaws.com/downloads.basho.com/riak/${PORTVERSION:R}/${PORTVERSION}/ \ + http://downloads.basho.com.s3.amazonaws.com/riak/${PORTVERSION:R}/${PORTVERSION}/ + +MAINTAINER= ports@robakdesign.com +COMMENT= Riak is an open source, distributed database + +BUILD_DEPENDS= ${LOCALBASE}/lib/erlang15/bin/erlc:${PORTSDIR}/lang/erlang-runtime15 + +USES= gmake +USE_RC_SUBR= riak + +PLIST= ${WRKDIR}/pkg-plist +PLIST_SUB+= RIAK_LOGDIR=${RIAK_LOGDIR} \ + RIAK_DBDIR=${RIAK_DBDIR} \ + RIAK_CONFDIR=${RIAK_CONFDIR} \ + RIAK_HOMEDIR=${RIAK_HOMEDIR} + +USERS= riak +GROUPS= riak + +RIAK_CONFDIR?= ${PREFIX}/etc/${PORTNAME} +RIAK_LOGDIR?= /var/log/${PORTNAME} +RIAK_DBDIR?= /var/db/${PORTNAME} +RIAK_LIBDIR?= ${PREFIX}/lib/${PORTNAME}/lib +RIAK_HOMEDIR?= ${PREFIX}/lib/${PORTNAME} + +MAN1= riak.1 riak-admin.1 riak-debug.1 search-cmd.1 +MANCOMPRESSED= yes + +ALL_TARGET= rel +MAKE_JOBS_UNSAFE=yes +MAKE_ENV= PATH=${LOCALBASE}/lib/erlang15/bin:${PATH} +NO_STAGE= yes + +pre-install: + ${RM} -f ${PLIST} + ${CAT} ${PKGDIR}/pkg-plist >> ${PLIST} + cd ${WRKSRC}/rel/${PORTNAME}; ${FIND} releases -type f \ + | ${AWK} '{print length, $$0}' | ${SORT} -rn | ${SED} -e 's/^/lib\//' \ + | ${AWK} '{print "lib/riak/"$$2 }' >> ${PLIST} + cd ${WRKSRC}/rel/${PORTNAME}; ${FIND} erts-* -type f \ + | ${AWK} '{print length, $$0}' | ${SORT} -rn \ + | ${AWK} '{print "lib/riak/"$$2 }' >> ${PLIST} + cd ${WRKSRC}/rel; ${FIND} ${PORTNAME}/lib -type f \ + | ${AWK} '{print length, $$0}' | ${SORT} -rn | ${SED} -e 's/^/lib\//' \ + | ${AWK} '{print "lib/"$$2 }' >> ${PLIST} + cd ${WRKSRC}/rel/${PORTNAME}; ${FIND} releases -type d \ + | ${AWK} '{print length, $$0}' | ${SORT} -rn | ${SED} -e 's/^/lib\//' \ + | ${AWK} '{print "lib/riak/"$$2 }' | ${SED} -e "s/^/@dirrm\ /" >> ${PLIST} + cd ${WRKSRC}/rel/${PORTNAME}; ${FIND} erts-* -type d \ + | ${AWK} '{print length, $$0}' | ${SORT} -rn | ${SED} -e 's/^/lib\//' \ + | ${AWK} '{print "lib/riak/"$$2 }' | ${SED} -e "s/^/@dirrm\ /" >> ${PLIST} + cd ${WRKSRC}/rel; ${FIND} ${PORTNAME}/lib -type d \ + | ${AWK} '{print length, $$0}' | ${SORT} -rn | ${SED} -e 's/^/lib\//' \ + | ${AWK} '{print "lib/"$$2 }' | ${SED} -e "s/^/@dirrm\ /" >> ${PLIST} + ${ECHO} "@dirrm lib/riak" >> ${PLIST} + ${ECHO} "@cwd /" >> ${PLIST} + ${ECHO} "@dirrmtry %%RIAK_DBDIR%%" >> ${PLIST} + ${ECHO} "@dirrmtry %%RIAK_LOGDIR%%" >> ${PLIST} + +do-install: +.for d in ${RIAK_CONFDIR} ${RIAK_LOGDIR} ${RIAK_DBDIR} ${RIAK_LIBDIR} ${RIAK_HOMEDIR} + [ -d ${d} ] || ${MKDIR} ${d} && ${CHOWN} ${USERS}:${GROUPS} ${d} +.endfor + ${INSTALL_DATA} ${WRKSRC}/rel/riak/etc/vm.args ${RIAK_CONFDIR}/vm.args.sample + ${INSTALL_DATA} ${WRKSRC}/rel/riak/etc/app.config ${RIAK_CONFDIR}/app.config.sample + ${INSTALL_DATA} ${WRKSRC}/rel/riak/etc/cert.pem ${RIAK_CONFDIR}/cert.pem.sample + ${INSTALL_DATA} ${WRKSRC}/rel/riak/etc/key.pem ${RIAK_CONFDIR}/key.pem.sample + (cd ${WRKSRC}/rel/riak/lib/ && ${COPYTREE_BIN} . ${RIAK_LIBDIR}) + (cd ${WRKSRC}/rel/riak/bin/ && ${COPYTREE_BIN} . ${PREFIX}/sbin/) + (cd ${WRKSRC}/rel/riak/lib/basho-patches && ${COPYTREE_SHARE} . ${RIAK_LIBDIR}/basho-patches) + (cd ${WRKSRC}/rel/riak/releases && ${COPYTREE_SHARE} . ${RIAK_HOMEDIR}/releases) + ${CP} -R ${WRKSRC}/rel/riak/erts-* ${RIAK_HOMEDIR} + ${CHOWN} -R ${USERS}:${GROUPS} ${PREFIX}/lib/${PORTNAME} + ${INSTALL_MAN} ${WRKSRC}/doc/man/man1/riak.1.gz ${MANPREFIX}/man/man1/ + ${INSTALL_MAN} ${WRKSRC}/doc/man/man1/riak-admin.1.gz ${MANPREFIX}/man/man1/ + ${INSTALL_MAN} ${WRKSRC}/doc/man/man1/riak-debug.1.gz ${MANPREFIX}/man/man1/ + ${INSTALL_MAN} ${WRKSRC}/doc/man/man1/search-cmd.1.gz ${MANPREFIX}/man/man1/ + +post-install: + @if [ ! -f ${RIAK_CONFDIR}/vm.args ]; then \ + ${CP} -p ${RIAK_CONFDIR}/vm.args.sample ${RIAK_CONFDIR}/vm.args; \ + fi + @if [ ! -f ${RIAK_CONFDIR}/app.config ]; then \ + ${CP} -p ${RIAK_CONFDIR}/app.config.sample ${RIAK_CONFDIR}/app.config; \ + fi + @if [ ! -f ${RIAK_CONFDIR}/cert.pem ]; then \ + ${CP} -p ${RIAK_CONFDIR}/cert.pem.sample ${RIAK_CONFDIR}/cert.pem; \ + fi + @if [ ! -f ${RIAK_CONFDIR}/key.pem ]; then \ + ${CP} -p ${RIAK_CONFDIR}/key.pem.sample ${RIAK_CONFDIR}/key.pem; \ + fi + +.include <bsd.port.mk> Added: head/databases/riak/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/riak/distinfo Fri Sep 27 12:04:42 2013 (r328458) @@ -0,0 +1,2 @@ +SHA256 (riak-1.4.2.tar.gz) = 6a1fdcfc1f3f0357eeb377ead6638db4187379e3b40121cef16b517e03c6fd11 +SIZE (riak-1.4.2.tar.gz) = 13738074 Added: head/databases/riak/files/patch-deps-eleveldb-c_src-leveldb-build_detect_platform ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/riak/files/patch-deps-eleveldb-c_src-leveldb-build_detect_platform Fri Sep 27 12:04:42 2013 (r328458) @@ -0,0 +1,31 @@ +Don't remove /dev/null on 8.x (see kern/139014) +-bdrewery 09/27/2013 +--- deps/eleveldb/c_src/leveldb/build_detect_platform.orig 2013-09-27 06:53:42.527133646 -0500 ++++ deps/eleveldb/c_src/leveldb/build_detect_platform 2013-09-27 06:54:01.360134865 -0500 +@@ -134,7 +134,7 @@ + true + else + # If -std=c++0x works, use <cstdatomic>. Otherwise use port_posix.h. +- $CXX $CFLAGS -std=c++0x -x c++ - -o /dev/null 2>/dev/null <<EOF ++ $CXX $CFLAGS -std=c++0x -x c++ - 2>/dev/null <<EOF + #include <cstdatomic> + int main() {} + EOF +@@ -147,7 +147,7 @@ + + # Test whether Snappy library is installed + # http://code.google.com/p/snappy/ +- $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF ++ $CXX $CFLAGS -x c++ - 2>/dev/null <<EOF + #include <snappy.h> + int main() {} + EOF +@@ -157,7 +157,7 @@ + fi + + # Test whether tcmalloc is available +- $CXX $CFLAGS -x c++ - -o /dev/null -ltcmalloc 2>/dev/null <<EOF ++ $CXX $CFLAGS -x c++ - -ltcmalloc 2>/dev/null <<EOF + int main() {} + EOF + if [ "$?" = 0 ]; then Added: head/databases/riak/files/patch-deps-eleveldb-c_src-leveldb-db-version_set.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/riak/files/patch-deps-eleveldb-c_src-leveldb-db-version_set.cc Fri Sep 27 12:04:42 2013 (r328458) @@ -0,0 +1,34 @@ +--- deps/eleveldb/c_src/leveldb/db/version_set.cc.orig 2013-08-29 23:03:04.000000000 +0200 ++++ deps/eleveldb/c_src/leveldb/db/version_set.cc 2013-09-22 14:38:08.000000000 +0200 +@@ -2,10 +2,12 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. See the AUTHORS file for names of contributors. + ++#define __STDC_CONSTANT_MACROS + #include "db/version_set.h" + + #include <algorithm> + #include <stdio.h> ++#include <stdint.h> + #include "db/filename.h" + #include "db/log_reader.h" + #include "db/log_writer.h" +@@ -53,13 +55,13 @@ + + // WARNING: m_OverlappedFiles flags need to match config::kNumOverlapFiles ... until unified + { +- {10485760, 262144000, 57671680, 209715200, 0, 300000000, true}, +- {10485760, 82914560, 57671680, 419430400, 0, 209715200, true}, +- {10485760, 104371840, 57671680, 1006632960, 200000000, 314572800, false}, +- {10485760, 125829120, 57671680, 4094304000, 3355443200, 419430400, false}, +- {10485760, 147286400, 57671680, 41943040000, 33554432000, 524288000, false}, +- {10485760, 188743680, 57671680, 419430400000, 335544320000, 629145600, false}, +- {10485760, 220200960, 57671680, 4194304000000, 3355443200000, 734003200, false} ++ {UINT64_C(10485760), UINT64_C(262144000), INT64_C(57671680), UINT64_C( 209715200), UINT64_C( 0), UINT64_C(300000000), true}, ++ {UINT64_C(10485760), UINT64_C( 82914560), INT64_C(57671680), UINT64_C( 419430400), UINT64_C( 0), UINT64_C(209715200), true}, ++ {UINT64_C(10485760), UINT64_C(104371840), INT64_C(57671680), UINT64_C( 1006632960), UINT64_C( 200000000), UINT64_C(314572800), false}, ++ {UINT64_C(10485760), UINT64_C(125829120), INT64_C(57671680), UINT64_C( 4094304000), UINT64_C( 3355443200), UINT64_C(419430400), false}, ++ {UINT64_C(10485760), UINT64_C(147286400), INT64_C(57671680), UINT64_C( 41943040000), UINT64_C( 33554432000), UINT64_C(524288000), false}, ++ {UINT64_C(10485760), UINT64_C(188743680), INT64_C(57671680), UINT64_C( 419430400000), UINT64_C( 335544320000), UINT64_C(629145600), false}, ++ {UINT64_C(10485760), UINT64_C(220200960), INT64_C(57671680), UINT64_C(4194304000000), UINT64_C(3355443200000), UINT64_C(734003200), false} + }; Added: head/databases/riak/files/patch-deps-erlang_js-c_src-patches-js-src-config-FreeBSD.mk.patch ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/riak/files/patch-deps-erlang_js-c_src-patches-js-src-config-FreeBSD.mk.patch Fri Sep 27 12:04:42 2013 (r328458) @@ -0,0 +1,18 @@ +--- deps/erlang_js/c_src/patches/js-src-config-FreeBSD.mk.patch.orig 2013-01-29 21:13:01.000000000 +0100 ++++ deps/erlang_js/c_src/patches/js-src-config-FreeBSD.mk.patch 2013-09-12 14:59:29.000000000 +0200 +@@ -1,6 +1,6 @@ + --- c_src.orig/js/src/config/FreeBSD.mk 1969-12-31 19:00:00.000000000 -0500 + +++ c_src/js/src/config/FreeBSD.mk 2011-03-30 20:12:51.000000000 -0400 +-@@ -0,0 +1,99 @@ ++@@ -0,0 +1,100 @@ + +# -*- Mode: makefile -*- + +# + +# ***** BEGIN LICENSE BLOCK ***** +@@ -46,6 +46,7 @@ + + + +CC ?= gcc + +CCC ?= g++ +++LD = $(CC) + +CFLAGS += -Wall -Wno-format + +OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R + + Added: head/databases/riak/files/patch-deps-node_package-priv-base-env.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/riak/files/patch-deps-node_package-priv-base-env.sh Fri Sep 27 12:04:42 2013 (r328458) @@ -0,0 +1,27 @@ +--- deps/node_package/priv/base/env.sh.orig 2013-09-13 10:22:32.000000000 +0200 ++++ deps/node_package/priv/base/env.sh 2013-09-13 10:27:16.000000000 +0200 +@@ -100,7 +100,7 @@ + # read/write/delete .pid files during startup/shutdown + create_pid_dir() { + # Validate RUNNER_USER is set and they have permissions to write to /var/run +- # Don't continue if we've already sudo'd to RUNNER_USER ++ # Don't continue if we've already su'd to RUNNER_USER + if ([ "$RUNNER_USER" ] && [ "x$WHOAMI" != "x$RUNNER_USER" ]); then + if [ -w $RUN_DIR ]; then + mkdir -p $PID_DIR +@@ -161,12 +161,12 @@ + # Validate that the user running the script is the owner of the + # RUN_DIR. + if ([ "$RUNNER_USER" ] && [ "x$WHOAMI" != "x$RUNNER_USER" ]); then +- type sudo > /dev/null 2>&1 ++ type su > /dev/null 2>&1 + if [ "$?" -ne 0 ]; then +- echoerr "sudo doesn't appear to be installed and your EUID isn't $RUNNER_USER" 1>&2 ++ echoerr "su doesn't appear to be installed and your EUID isn't $RUNNER_USER" 1>&2 + exit 1 + fi +- exec sudo -H -u $RUNNER_USER -i $RUNNER_SCRIPT_DIR/$RUNNER_SCRIPT $@ ++ exec su - $RUNNER_USER -c "$RUNNER_SCRIPT_DIR/$RUNNER_SCRIPT $@" + fi + } + Added: head/databases/riak/files/patch-rel-reltool.config ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/riak/files/patch-rel-reltool.config Fri Sep 27 12:04:42 2013 (r328458) @@ -0,0 +1,16 @@ +--- rel/reltool.config.orig 2013-09-17 20:53:23.000000000 +0200 ++++ rel/reltool.config 2013-09-17 20:55:40.000000000 +0200 +@@ -37,8 +37,12 @@ + {boot_rel, "riak"}, + {profile, embedded}, + {excl_sys_filters, ["^bin/.*", +- "^erts.*/bin/(dialyzer|typer)"]}, ++ "^erts.*/bin/(dialyzer|typer)", ++ "^erts.*/bin/(dialyzer|typer)", ++ "^erts.*/doc", ++ "^erts.*/man"]}, + {excl_archive_filters, [".*"]}, ++ {app, mnesia, [{incl_app_filters, ["ebin/*"]}]}, + {app, cluster_info, [{incl_cond, include}]}, + {app, erlang_js, [{incl_cond, include}]}, + {app, ebloom, []}, Added: head/databases/riak/files/patch-rel-vars.config ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/riak/files/patch-rel-vars.config Fri Sep 27 12:04:42 2013 (r328458) @@ -0,0 +1,41 @@ +--- rel/vars.config.orig 2013-08-29 20:13:02.000000000 +0200 ++++ rel/vars.config 2013-09-11 23:04:34.000000000 +0200 +@@ -2,11 +2,12 @@ + %% ex: ft=erlang ts=4 sw=4 et + + %% Platform-specific installation paths +-{platform_bin_dir, "./bin"}. +-{platform_data_dir, "./data"}. +-{platform_etc_dir, "./etc"}. +-{platform_lib_dir, "./lib"}. +-{platform_log_dir, "./log"}. ++{platform_bin_dir, "/usr/local/sbin"}. ++{platform_data_dir, "/var/db/riak"}. ++{platform_etc_dir, "/usr/local/etc/riak"}. ++{platform_base_dir, "/usr/local/lib/riak"}. ++{platform_lib_dir, "/usr/local/lib/riak/lib"}. ++{platform_log_dir, "/var/log/riak"}. + + %% + %% etc/app.config +@@ -47,12 +48,12 @@ + %% + %% bin/riak + %% +-{runner_script_dir, "$(cd ${0%/*} && pwd)"}. +-{runner_base_dir, "{{runner_script_dir}}/.."}. +-{runner_etc_dir, "$RUNNER_BASE_DIR/etc"}. +-{runner_log_dir, "$RUNNER_BASE_DIR/log"}. +-{runner_lib_dir, "$RUNNER_BASE_DIR/lib"}. +-{runner_patch_dir, "$RUNNER_BASE_DIR/lib/basho-patches"}. +-{pipe_dir, "/tmp/$RUNNER_BASE_DIR/"}. +-{runner_user, ""}. ++{runner_script_dir, "{{platform_bin_dir}}"}. ++{runner_base_dir, "{{platform_base_dir}}"}. ++{runner_etc_dir, "{{platform_etc_dir}}"}. ++{runner_log_dir, "{{platform_log_dir}}"}. ++{runner_lib_dir, "{{platform_lib_dir}}"}. ++{runner_patch_dir, "{{platform_lib_dir}}/basho-patches"}. ++{pipe_dir, "/tmp/riak"}. ++{runner_user, "riak"}. + {runner_wait_process, "riak_core_node_watcher"}. Added: head/databases/riak/files/riak.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/riak/files/riak.in Fri Sep 27 12:04:42 2013 (r328458) @@ -0,0 +1,84 @@ +#!/bin/sh +# $FreeBSD$ + +# PROVIDE: riak +# REQUIRE: LOGIN cleanvar +# KEYWORD: shutdown + +# +# Add the following lines to /etc/rc.conf to enable riak: +# riak_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable riak on boot. +# + +. /etc/rc.subr + +name="riak" +rcvar=riak_enable + +pidfile=/var/run/riak/riak.pid + +start_cmd="riak_start" +stop_cmd="riak_stop" +restart_cdm="riak_restart" +status_cmd="riak_status" +command="/usr/local/sbin/riak" + +load_rc_config $name + +# Read rc.d config and set defaults +load_rc_config "$name" +: ${riak_enable="NO"} + +riak_start() +{ + echo "Starting Riak." + /usr/local/sbin/riak start + return 0 +} + +riak_stop() +{ + echo "Stopping Riak processes" + /usr/local/sbin/riak stop + killall -9 epmd + return 0 +} + +riak_restart() +{ + riak_stop + riak_start + return 0 +} + +riak_status() +{ + if riak_running; then + echo "Riak is running." + return 0 + else + echo "Riak is not running" + return 1 + fi +} + +riak_running() +{ + local pid result ps + pid=`/usr/local/sbin/riak getpid` + result=`echo $?` + if [ "$result" == 0 ]; then + ps=`ps -waux | grep ${pid} | grep riak` + result=`echo $?` + if [ "$result" ]; then + return 0 + else + return 1 + fi + else + return 1 + fi +} + +run_rc_command "$1" Added: head/databases/riak/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/riak/pkg-descr Fri Sep 27 12:04:42 2013 (r328458) @@ -0,0 +1,6 @@ +Riak is a distributed database designed for maximum availability: +so long as your client can reach one server, it should be able to +write data. In most failure scenarios the data you want to read +should be available, albeit possibly stale. + +WWW: http://basho.com/riak/ Added: head/databases/riak/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/riak/pkg-plist Fri Sep 27 12:04:42 2013 (r328458) @@ -0,0 +1,23 @@ +sbin/riak +sbin/riak-admin +sbin/riak-debug +sbin/search-cmd +@exec mkdir -p %%RIAK_CONFDIR%% +@exec mkdir -p %%RIAK_LOGDIR%% +@exec mkdir -p %%RIAK_DBDIR%% +@exec mkdir -p %%RIAK_HOMEDIR%% +@exec mkdir -p %%RIAK_LIBDIR%% +@unexec if cmp -s %D/%%ETCDIR%%/vm.args.sample %D/%%ETCDIR%%/vm.args; then rm -f %D/%%ETCDIR%%/vm.args; fi +%%ETCDIR%%/vm.args.sample +@exec if [ ! -f %D/%%ETCDIR%%/vm.args ] ; then cp -p %D/%F %B/vm.args; fi +@unexec if cmp -s %D/%%ETCDIR%%/app.config.sample %D/%%ETCDIR%%/app.config; then rm -f %D/%%ETCDIR%%/app.config; fi +%%ETCDIR%%/app.config.sample +@exec if [ ! -f %D/%%ETCDIR%%/app.config ] ; then cp -p %D/%F %B/app.config; fi +@unexec if cmp -s %D/%%ETCDIR%%/cert.pem.sample %D/%%ETCDIR%%/cert.pem; then rm -f %D/%%ETCDIR%%/cert.pem; fi +%%ETCDIR%%/cert.pem.sample +@exec if [ ! -f %D/%%ETCDIR%%/cert.pem ] ; then cp -p %D/%F %B/cert.pem; fi +@unexec if cmp -s %D/%%ETCDIR%%/key.pem.sample %D/%%ETCDIR%%/key.pem; then rm -f %D/%%ETCDIR%%/key.pem; fi +%%ETCDIR%%/key.pem.sample +@exec if [ ! -f %D/%%ETCDIR%%/key.pem ] ; then cp -p %D/%F %B/key.pem; fi +@dirrmtry %%ETCDIR%% +@unexec if [ -f %%RIAK_HOMEDIR%%/.erlang.cookie ] ; then rm -f %%RIAK_HOMEDIR%%/.erlang.cookie ; fi _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed! Made some minor fixes. No need for bsd.port.pre.mk. Fixed /dev/null being deleted on 8.3 (files/patch-deps-eleveldb-c_src-leveldb-build_detect_platform), removed deprecated @stopdaemon from pkg-plist. Add @dirrmtry %%RIAK_LOGDIR%%.
This port fails to install - suspected install path generation failure. I think trying to create /lib/riak is a bug. -- Kenji Rikitake uname -a output here: FreeBSD minimax.priv.k2r.org 9.2-PRERELEASE FreeBSD 9.2-PRERELEASE #12 r255623: Tue Sep 17 16:59:31 JST 2013 root@minimax.priv.k2r.org:/usr/obj/usr/src/sys/K2RKERNEL amd64 Part of `portmaster databases/riak` build log: ===> Installing for riak-1.4.2 /bin/rm -f /usr/ports/databases/riak/work/pkg-plist /bin/cat /usr/ports/databases/riak/pkg-plist >> /usr/ports/databases/riak/work/pkg-plist cd /usr/ports/databases/riak/work/riak-1.4.2/rel/riak; /usr/bin/find releases -type f | /usr/bin/awk '{print length, $0}' | /usr/bin/sort -rn | /usr/ bin/sed -e 's/^/lib\//' | /usr/bin/awk '{print "lib/riak/"$2 }' >> /usr/ports/databases/riak/work/pkg-plist cd /usr/ports/databases/riak/work/riak-1.4.2/rel/riak; /usr/bin/find erts-* -type f | /usr/bin/awk '{print length, $0}' | /usr/bin/sort -rn | /usr/ bin/awk '{print "lib/riak/"$2 }' >> /usr/ports/databases/riak/work/pkg-plist cd /usr/ports/databases/riak/work/riak-1.4.2/rel; /usr/bin/find riak/lib -type f | /usr/bin/awk '{print length, $0}' | /usr/bin/sort -rn | /usr/bin/s ed -e 's/^/lib\//' | /usr/bin/awk '{print "lib/"$2 }' >> /usr/ports/databases/riak/work/pkg-plist cd /usr/ports/databases/riak/work/riak-1.4.2/rel/riak; /usr/bin/find releases -type d | /usr/bin/awk '{print length, $0}' | /usr/bin/sort -rn | /usr/ bin/sed -e 's/^/lib\//' | /usr/bin/awk '{print "lib/riak/"$2 }' | /usr/bin/sed -e "s/^/@dirrm\ /" >> /usr/ports/databases/riak/work/pkg-plist cd /usr/ports/databases/riak/work/riak-1.4.2/rel/riak; /usr/bin/find erts-* -type d | /usr/bin/awk '{print length, $0}' | /usr/bin/sort -rn | /usr/bi n/sed -e 's/^/lib\//' | /usr/bin/awk '{print "lib/riak/"$2 }' | /usr/bin/sed -e "s/^/@dirrm\ /" >> /usr/ports/databases/riak/work/pkg-plist cd /usr/ports/databases/riak/work/riak-1.4.2/rel; /usr/bin/find riak/lib -type d | /usr/bin/awk '{print length, $0}' | /usr/bin/sort -rn | /usr/bin/s ed -e 's/^/lib\//' | /usr/bin/awk '{print "lib/"$2 }' | /usr/bin/sed -e "s/^/@dirrm\ /" >> /usr/ports/databases/riak/work/pkg-plist echo "@dirrm lib/riak" >> /usr/ports/databases/riak/work/pkg-plist echo "@cwd /" >> /usr/ports/databases/riak/work/pkg-plist echo "@dirrmtry %%RIAK_DBDIR%%" >> /usr/ports/databases/riak/work/pkg-plist echo "@dirrmtry %%RIAK_LOGDIR%%" >> /usr/ports/databases/riak/work/pkg-plist ===> Generating temporary packing list ===> Checking if databases/riak already installed ===> Creating users and/or groups. Using existing group `riak'. Using existing user `riak'. [ -d /etc/riak ] || /bin/mkdir -p /etc/riak && /usr/sbin/chown riak:riak /etc/riak [ -d /var/log/riak ] || /bin/mkdir -p /var/log/riak && /usr/sbin/chown riak:riak /var/log/riak [ -d /var/db/riak ] || /bin/mkdir -p /var/db/riak && /usr/sbin/chown riak:riak /var/db/riak [ -d /lib/riak/lib ] || /bin/mkdir -p /lib/riak/lib && /usr/sbin/chown riak:riak /lib/riak/lib [ -d /lib/riak ] || /bin/mkdir -p /lib/riak && /usr/sbin/chown riak:riak /lib/riak install -o root -g wheel -m 444 /usr/ports/databases/riak/work/riak-1.4.2/rel/riak/etc/vm.args /usr/local/etc/riak/vm.args.sample install: /usr/local/etc/riak/vm.args.sample: No such file or directory *** [do-install] Error code 71 Stop in /usr/ports/databases/riak.
The further investigation suggests the .for loop at target "do-install" in the Makefile does not function properly. I submitted another PR to fix this. http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/182453 Regards, Kenji Rikitake