From 82227773e91290846f075e6f80198e6bb5fe3a95 Mon Sep 17 00:00:00 2001 From: Veniamin Gvozdikov <vgvozdikov@tarantool.org> Date: Mon, 6 Jul 2015 21:57:17 +0300 Subject: [PATCH] Updated FreeBSD ports files --- .gitignore | 1 + FreeBSD/databases/tarantool/Makefile | 43 ++++++++++++ FreeBSD/databases/tarantool/distinfo | 4 +- .../databases/tarantool/files/pkg-message.in | 14 ++-- .../databases/tarantool/files/tarantool.in | 30 +++++++- FreeBSD/databases/tarantool/pkg-plist | 68 ++++--------------- 6 files changed, 97 insertions(+), 63 deletions(-) create mode 100644 FreeBSD/databases/tarantool/Makefile diff --git a/.gitignore b/.gitignore index 1c7d39299f..9165f52aa3 100644 --- a/.gitignore +++ b/.gitignore @@ -62,6 +62,7 @@ third_party/luajit/src/lj_libdef.h third_party/luajit/src/lj_recdef.h third_party/luajit/src/lj_vm.s VERSION +!FreeBSD/databases/tarantool/Makefile src/00000000000000000001.snap doc/sphinx/_build/* diff --git a/FreeBSD/databases/tarantool/Makefile b/FreeBSD/databases/tarantool/Makefile new file mode 100644 index 0000000000..983586be85 --- /dev/null +++ b/FreeBSD/databases/tarantool/Makefile @@ -0,0 +1,43 @@ +# Created by: Veniamin Gvozdikov <vg@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= tarantool +PORTVERSION= 1.6.5 +CATEGORIES= databases +MASTER_SITES= http://tarantool.org/dist/master/ +DISTNAME= ${PORTNAME}-${PORTVERSION}-${TR_REV}-src + +MAINTAINER= vg@FreeBSD.org +COMMENT= High performance key/value storage server + +LICENSE= BSD2CLAUSE + +TR_REV= 212-g49781b3 +MAKE_JOBS_UNSAFE=yes +USES= cmake compiler:c++11-lang gmake perl5 readline +USE_GCC= 4.9+ +USE_LDCONFIG= yes +USE_RC_SUBR= ${PORTNAME} +SUB_FILES= pkg-message +CMAKE_ARGS= -DCMAKE_INSTALL_MANDIR=man \ + -DCMAKE_INSTALL_SYSCONFDIR=${ETCDIR} \ + -DCMAKE_LOCALSTATE_DIR=${DATADIR} + +OPTIONS_DEFINE= DEBUG +DEBUG_DESC= Enable debug + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MDEBUG} +CMAKE_BUILD_TYPE= RelWithDebugInfo +CMAKE_ARGS+= -DENABLE_BACKTRACE=ON +.else +CMAKE_BUILD_TYPE= Rel +CMAKE_ARGS+= -DENABLE_BACKTRACE=OFF +.endif + +.if ${OSVERSION} < 900000 +BROKEN= Does not build on FreeBSD < 9.0 +.endif + +.include <bsd.port.mk> diff --git a/FreeBSD/databases/tarantool/distinfo b/FreeBSD/databases/tarantool/distinfo index 4ff5f33476..688970297f 100644 --- a/FreeBSD/databases/tarantool/distinfo +++ b/FreeBSD/databases/tarantool/distinfo @@ -1,2 +1,2 @@ -SHA256 (tarantool-1.4.9-45-g2f7b3f9-src.tar.gz) = 45c37824c0f2cef8746523347ba727ced98e8c21eec17e11729d6ff38d1f7bbd -SIZE (tarantool-1.4.9-45-g2f7b3f9-src.tar.gz) = 2772012 +SHA256 (tarantool-1.6.5-212-g49781b3-src.tar.gz) = 922c38bfca523f27696ed64e6aaeb100224a92709057c567e840059188e109a0 +SIZE (tarantool-1.6.5-212-g49781b3-src.tar.gz) = 3671835 diff --git a/FreeBSD/databases/tarantool/files/pkg-message.in b/FreeBSD/databases/tarantool/files/pkg-message.in index fa50213a37..c793ccc58b 100644 --- a/FreeBSD/databases/tarantool/files/pkg-message.in +++ b/FreeBSD/databases/tarantool/files/pkg-message.in @@ -3,11 +3,15 @@ # # After install you'll need: # -# Edit example config: -# %%ETCDIR%%/tarantool.cfg.sample -# Init storage: -# %%PREFIX%%/bin/tarantool_box --init-storage \ -# -c %%ETCDIR%%/tarantool.cfg +# Configuration at /etc/rc.conf: +# +# * Enable tarantool on startup: +# tarantool_enable="YES" +# * Change config (Default %%ETCDIR%%/default/tarantool): +# tarantool_config="%%ETCDIR%%/default/tarantool" +# * Path to storage, depended by option work_dir at: +# %%ETCDIR%%/default/tarantool +# tarantool_data="/var/db/tarantool" # # ######################################################### diff --git a/FreeBSD/databases/tarantool/files/tarantool.in b/FreeBSD/databases/tarantool/files/tarantool.in index 993869385d..12500db02a 100755 --- a/FreeBSD/databases/tarantool/files/tarantool.in +++ b/FreeBSD/databases/tarantool/files/tarantool.in @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: databases/tarantool/files/tarantool.in 308708 2012-12-11 20:00:36Z rm $ +# $FreeBSD$ # PROVIDE: tarantool # REQUIRE: LOGIN @@ -8,6 +8,7 @@ # # tarantool_enable="YES" # tarantool_config="" +# tarantool_data="/var/db/tarantool" # . /etc/rc.subr @@ -19,9 +20,34 @@ load_rc_config "$name" tarantool_enable=${tarantool_enable:-"NO"} tarantool_config=${tarantool_config:-"%%ETCDIR%%/$name.cfg"} +tarantool_data=${tarantool_data:-"/var/db/tarantool"} command="%%PREFIX%%/bin/tarantool_box" -command_args="--daemonize --config ${tarantool_config}" +command_args="--config=${tarantool_config} --background" pidfile="/var/run/$name.pid" +start_precmd="${name}_prestart" + +tarantool_prestart() +{ + if ! [ -d ${tarantool_data} ] + then + eval mkdir -p ${tarantool_data} + fi + + if ! [ -f "${tarantool_data}/00000000000000000001.snap" ] + then + if ! [ -f ${tarantool_config} ] + then + echo "===> Install default config file." + eval cp "%%ETCDIR%%/tarantool.cfg.sample" ${tarantool_config} + echo "===> Install default snapshot." + eval cp "%%DATADIR%%/00000000000000000001.snap" ${tarantool_data} + else + echo "===> Init tarantool storage by ${tarantool_config}" + eval ${command} --config=${tarantool_config} --init-storage + fi + fi +} + run_rc_command "$1" diff --git a/FreeBSD/databases/tarantool/pkg-plist b/FreeBSD/databases/tarantool/pkg-plist index 5089168473..4e325383e4 100644 --- a/FreeBSD/databases/tarantool/pkg-plist +++ b/FreeBSD/databases/tarantool/pkg-plist @@ -1,54 +1,14 @@ -bin/tarantool_box -bin/tarancheck -%%CLIENT%%bin/tarantool -etc/tarantool.cfg.sample -include/tarantool/tnt.h -include/tarantool/tnt_buf.h -include/tarantool/tnt_call.h -include/tarantool/tnt_delete.h -include/tarantool/tnt_dir.h -include/tarantool/tnt_enc.h -include/tarantool/tnt_insert.h -include/tarantool/tnt_io.h -include/tarantool/tnt_iob.h -include/tarantool/tnt_iter.h -include/tarantool/tnt_lex.h -include/tarantool/tnt_log.h -include/tarantool/tnt_mem.h -include/tarantool/tnt_net.h -include/tarantool/tnt_opt.h -include/tarantool/tnt_ping.h -include/tarantool/tnt_proto.h -include/tarantool/tnt_queue.h -include/tarantool/tnt_reply.h -include/tarantool/tnt_request.h -include/tarantool/tnt_rpl.h -include/tarantool/tnt_select.h -include/tarantool/tnt_snapshot.h -include/tarantool/tnt_sql.h -include/tarantool/tnt_stream.h -include/tarantool/tnt_tuple.h -include/tarantool/tnt_update.h -include/tarantool/tnt_utf8.h -include/tarantool/tnt_xlog.h -lib/libtarantoolnet.so.1.1 -lib/libtarantoolrpl.so.1 -lib/libtarantoolnet.a -lib/libtarantoolnet.so -lib/libtarantool.a -lib/libtarantoolnet.so.1 -lib/libtarantoolrpl.so -lib/libtarantoolsql.so.1.1 -lib/libtarantoolsql.a -lib/libtarantoolsql.so.1 -lib/libtarantoolrpl.so.1.1 -lib/libtarantool.so.1 -lib/libtarantoolsql.so -lib/libtarantool.so.1.1 -lib/libtarantoolrpl.a -lib/libtarantool.so -%%DOCSDIR%%/README.md -%%DOCSDIR%%/box-protocol.txt -%%DOCSDIR%%/LICENSE -@dirrm %%DOCSDIR%% -@dirrm include/tarantool +bin/tarantool +bin/tarantoolctl +%%ETCDIR%%/default/tarantool +include/tarantool/lauxlib.h +include/tarantool/lua.h +include/tarantool/lua.hpp +include/tarantool/luaconf.h +include/tarantool/luajit.h +include/tarantool/lualib.h +include/tarantool/tarantool.h +man/man1/tarantool.1.gz +man/man1/tarantoolctl.1.gz +%%PORTDOCS%%%%DOCSDIR%%/LICENSE +%%PORTDOCS%%%%DOCSDIR%%/README.md -- GitLab