From owner-svn-ports-head@freebsd.org Tue Jan 28 08:08:03 2020 Return-Path: Delivered-To: svn-ports-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 67BBB1F8A16; Tue, 28 Jan 2020 08:08:03 +0000 (UTC) (envelope-from dch@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 486K431yfsz4qBm; Tue, 28 Jan 2020 08:08:03 +0000 (UTC) (envelope-from dch@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3E92F1FD84; Tue, 28 Jan 2020 08:08:03 +0000 (UTC) (envelope-from dch@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 00S8832T039220; Tue, 28 Jan 2020 08:08:03 GMT (envelope-from dch@FreeBSD.org) Received: (from dch@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 00S881hC039213; Tue, 28 Jan 2020 08:08:01 GMT (envelope-from dch@FreeBSD.org) Message-Id: <202001280808.00S881hC039213@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dch set sender to dch@FreeBSD.org using -f From: Dave Cottlehuber Date: Tue, 28 Jan 2020 08:08:01 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r524463 - in head/databases: . foundationdb-devel foundationdb-devel/files X-SVN-Group: ports-head X-SVN-Commit-Author: dch X-SVN-Commit-Paths: in head/databases: . foundationdb-devel foundationdb-devel/files X-SVN-Commit-Revision: 524463 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2020 08:08:03 -0000 Author: dch Date: Tue Jan 28 08:08:01 2020 New Revision: 524463 URL: https://svnweb.freebsd.org/changeset/ports/524463 Log: databases/foundationdb-devel: [NEW PORT] distributed ACID transactions FDB 7.x has a new cmake-derive build system, and upstreamed patches that already supports C client bindings for other languages. While the upstreamed patches are still under development, this port allows FoundationDB users and committers to easily test and work with FreeBSD, and also enables FreeBSD-based clients to work out of the box. Approved by: vanilla Sponsored by: SkunkWerks, GmbH Differential Revision: https://reviews.freebsd.org/D23287 Added: head/databases/foundationdb-devel/ head/databases/foundationdb-devel/Makefile (contents, props changed) head/databases/foundationdb-devel/distinfo (contents, props changed) head/databases/foundationdb-devel/files/ head/databases/foundationdb-devel/files/foundationdb.conf.in (contents, props changed) head/databases/foundationdb-devel/files/foundationdb.in (contents, props changed) head/databases/foundationdb-devel/pkg-descr (contents, props changed) head/databases/foundationdb-devel/pkg-plist (contents, props changed) Modified: head/databases/Makefile Modified: head/databases/Makefile ============================================================================== --- head/databases/Makefile Tue Jan 28 07:48:57 2020 (r524462) +++ head/databases/Makefile Tue Jan 28 08:08:01 2020 (r524463) @@ -77,6 +77,7 @@ SUBDIR += firebird25-server SUBDIR += fortytwo-bdb SUBDIR += foundationdb + SUBDIR += foundationdb-devel SUBDIR += fpc-dblib SUBDIR += fpc-fpindexer SUBDIR += fpc-gdbm Added: head/databases/foundationdb-devel/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/foundationdb-devel/Makefile Tue Jan 28 08:08:01 2020 (r524463) @@ -0,0 +1,72 @@ +# $FreeBSD$ + +PORTNAME= foundationdb-devel +DISTVERSION= 7.0.0 +CATEGORIES= databases + +MAINTAINER= dch@FreeBSD.org +COMMENT= Distributed, transactional key-value store + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= bash:shells/bash +LIB_DEPENDS= libboost_system.so:devel/boost-libs \ + libeio.so:devel/libeio + +USES= compiler:c++17-lang cmake mono:build python:build shebangfix ssl +USE_GITHUB= yes +GH_ACCOUNT= wolfspider +GH_PROJECT= foundationdb +GH_TAGNAME= bc56b13 + +USE_RC_SUBR= foundationdb + +SHEBANG_FILES= build/csprojtom4.py build/link-wrapper.sh build/vcxprojtom4.py \ + bindings/c/generate_asm.py + +USERS= foundationdb +GROUPS= foundationdb +DBDIR?= /var/db/foundationdb +LOGDIR?= /var/log/foundationdb + +SUB_FDB= DB_USER=${USERS} \ + DB_GROUP=${GROUPS} \ + DB_DIR=${DBDIR} \ + LOG_DIR=${LOGDIR} +SUB_FILES+= foundationdb.conf +SUB_LIST+= ${SUB_FDB} +PLIST_SUB+= ${SUB_FDB} + +do-install: + # commands on first line, dev tools on next two +.for f in fdbbackup fdbcli fdbmonitor fdbserver \ + actor_flamegraph fdb_c_performance_test fdb_c_ryw_benchmark \ + fdb_c_txn_size_test fdb_flow_tester mako + ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/${f} ${STAGEDIR}${PREFIX}/bin/ +.endfor + # confirm with upstream if these are actually needed +.for s in backup_agent dr_agent fdbr fdbrestore + ${RLN} ${STAGEDIR}${PREFIX}/bin/fdbbackup ${STAGEDIR}${PREFIX}/bin/${s} +.endfor + # exposed libraries - confirm with upstream +.for l in libfdb_c.so libfdb_flow.a libfdb_sqlite.a libfdbclient.a libfdbrpc.a libflow.a libthirdparty.a + ${STRIP_CMD} ${WRKDIR}/.build/lib/${l} + ${INSTALL_DATA} ${WRKDIR}/.build/lib/${l} ${STAGEDIR}/${PREFIX}/lib/ +.endfor + # exposed headers - confirm with upstream + ${MKDIR} ${STAGEDIR}${PREFIX}/include/foundationdb + ${INSTALL_DATA} ${WRKSRC}/bindings/c/foundationdb/fdb_c.h \ + ${STAGEDIR}/${PREFIX}/include/foundationdb/ + ${INSTALL_DATA} ${WRKSRC}/fdbclient/vexillographer/fdb.options \ + ${STAGEDIR}/${PREFIX}/include/foundationdb/ + ${INSTALL_DATA} ${WRKDIR}/.build/bindings/c/foundationdb/fdb_c_options.g.h \ + ${STAGEDIR}/${PREFIX}/include/foundationdb/ + # runtime related + ${MKDIR} ${STAGEDIR}${DBDIR} \ + ${STAGEDIR}${LOGDIR} \ + ${STAGEDIR}${PREFIX}/etc/foundationdb + ${INSTALL_DATA} ${WRKDIR}/foundationdb.conf \ + ${STAGEDIR}${PREFIX}/etc/foundationdb/foundationdb.conf.sample + +.include Added: head/databases/foundationdb-devel/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/foundationdb-devel/distinfo Tue Jan 28 08:08:01 2020 (r524463) @@ -0,0 +1,3 @@ +TIMESTAMP = 1579515168 +SHA256 (wolfspider-foundationdb-7.0.0-bc56b13_GH0.tar.gz) = 70b380a3fa8d4eea94a03ef1874cdd39bd9c705d9a1c902bab758004557343b0 +SIZE (wolfspider-foundationdb-7.0.0-bc56b13_GH0.tar.gz) = 5049549 Added: head/databases/foundationdb-devel/files/foundationdb.conf.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/foundationdb-devel/files/foundationdb.conf.in Tue Jan 28 08:08:01 2020 (r524463) @@ -0,0 +1,47 @@ +## foundationdb.conf +## +## Configuration file for FoundationDB server processes +## Full documentation is available at +## https://apple.github.io/foundationdb/configuration.html#the-configuration-file + +[fdbmonitor] +user = %%DB_USER%% +group = %%DB_GROUP%% + +[general] +restart_delay = 60 +## by default, restart_backoff = restart_delay_reset_interval = restart_delay +# initial_restart_delay = 0 +# restart_backoff = 60 +# restart_delay_reset_interval = 60 +cluster_file = %%PREFIX%%/etc/foundationdb/fdb.cluster +# delete_envvars = +# kill_on_configuration_change = true + +## Default parameters for individual fdbserver processes +[fdbserver] +command = %%PREFIX%%/bin/fdbserver +public_address = auto:$ID +listen_address = public +datadir = %%DB_DIR%%/data/$ID +logdir = %%LOG_DIR%% +# logsize = 10MiB +# maxlogssize = 100MiB +# machine_id = +# datacenter_id = +# class = +# memory = 8GiB +# storage_memory = 1GiB +# cache_memory = 2GiB +# metrics_cluster = +# metrics_prefix = + +## An individual fdbserver process with id 4500 +## Parameters set here override defaults from the [fdbserver] section +[fdbserver.4500] + +[backup_agent] +command = %%PREFIX%%/bin/backup_agent +logdir = %%LOG_DIR%% + +[backup_agent.1] Added: head/databases/foundationdb-devel/files/foundationdb.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/foundationdb-devel/files/foundationdb.in Tue Jan 28 08:08:01 2020 (r524463) @@ -0,0 +1,33 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: foundationdb +# REQUIRE: LOGIN +# BEFORE: securelevel +# KEYWORD: shutdown + +# Add the following line to /etc/rc.conf to enable `foundationdb': +# +#foundationdb_enable="YES" +# +# Define config file here to run with different config file: +# +#foundationdb_config="xxxxx" +# + +. /etc/rc.subr + +name="foundationdb" +rcvar="${name}_enable" +foundationdb_enable=${foundationdb_enable:-"NO"} +command=%%PREFIX%%/bin/fdbmonitor +pidfile="/var/run/fdbmonitor.pid" + +load_rc_config "$name" +: ${foundationdb_enable="NO"} +: ${foundationdb_config="%%PREFIX%%/etc/foundationdb/foundationdb.conf"} + +command_args="--conffile ${foundationdb_config} --lockfile ${pidfile} --daemonize" +run_rc_command $1 Added: head/databases/foundationdb-devel/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/foundationdb-devel/pkg-descr Tue Jan 28 08:08:01 2020 (r524463) @@ -0,0 +1,16 @@ +A massively distributed, transactional key-value store, extensible by +design, with unparalleled reliability and performance. + +FoundationDB is multi-model, meaning you can store many types of data in a +single database. All data is safely stored, distributed, and replicated +in the Key-Value Store component. It is easy to install, grow, and +manage, with a distributed architecture that gracefully scales out, and +handles faults while acting like a single ACID database. FoundationDB +provides amazing performance on commodity hardware, allowing you to +support very heavy loads at low cost. It has been running in production +for years and been hardened with lessons learned in some of the world's +largest database deployments. Backing FoundationDB up is an unmatched +testing system based on a deterministic simulation engine that ensures +optimal reliability of operations. + +WWW: https://www.foundationdb.org/ Added: head/databases/foundationdb-devel/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/foundationdb-devel/pkg-plist Tue Jan 28 08:08:01 2020 (r524463) @@ -0,0 +1,27 @@ +@dir(%%DB_USER%%,%%DB_GROUP%%,) %%DB_DIR%% +@dir(%%DB_USER%%,%%DB_GROUP%%,) %%LOG_DIR%% +@sample etc/foundationdb/foundationdb.conf.sample +bin/actor_flamegraph +bin/backup_agent +bin/dr_agent +bin/fdb_c_performance_test +bin/fdb_c_ryw_benchmark +bin/fdb_c_txn_size_test +bin/fdb_flow_tester +bin/fdbbackup +bin/fdbcli +bin/fdbmonitor +bin/fdbr +bin/fdbrestore +bin/fdbserver +bin/mako +include/foundationdb/fdb.options +include/foundationdb/fdb_c.h +include/foundationdb/fdb_c_options.g.h +lib/libfdb_c.so +lib/libfdb_flow.a +lib/libfdb_sqlite.a +lib/libfdbclient.a +lib/libfdbrpc.a +lib/libflow.a +lib/libthirdparty.a