Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 May 2020 22:13:32 +0000 (UTC)
From:      Dave Cottlehuber <dch@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r537449 - in head/databases/foundationdb: . files
Message-ID:  <202005312213.04VMDWjd028429@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dch
Date: Sun May 31 22:13:32 2020
New Revision: 537449
URL: https://svnweb.freebsd.org/changeset/ports/537449

Log:
  databases/foundationdb: update to 6.3.0
  
  - use new CMake build framework
  - build compatible C libraries by default
  - partial TLS support
  - drop upstreamed patches
  
  Sponsored by:	 SkunkWerks, GmbH

Added:
  head/databases/foundationdb/files/foundationdb.conf.in   (contents, props changed)
Deleted:
  head/databases/foundationdb/files/patch-FDBLibTLS_local.mk
  head/databases/foundationdb/files/patch-Makefile
  head/databases/foundationdb/files/patch-build_link-wrapper.sh
  head/databases/foundationdb/files/patch-fdbbackup_local.mk
  head/databases/foundationdb/files/patch-fdbcli_local.mk
  head/databases/foundationdb/files/patch-fdbclient_local.mk
  head/databases/foundationdb/files/patch-fdbmonitor_fdbmonitor.cpp
  head/databases/foundationdb/files/patch-fdbmonitor_local.mk
  head/databases/foundationdb/files/patch-fdbrpc_AsyncFileCached.actor.cpp
  head/databases/foundationdb/files/patch-fdbrpc_IAsyncFile.actor.cpp
  head/databases/foundationdb/files/patch-fdbrpc_Platform.cpp
  head/databases/foundationdb/files/patch-fdbrpc_local.mk
  head/databases/foundationdb/files/patch-fdbserver_fdbserver.actor.cpp
  head/databases/foundationdb/files/patch-fdbserver_local.mk
  head/databases/foundationdb/files/patch-fdbserver_worker.actor.cpp
  head/databases/foundationdb/files/patch-flow_Deque.h
  head/databases/foundationdb/files/patch-flow_FastAlloc.cpp
  head/databases/foundationdb/files/patch-flow_Net2.actor.cpp
  head/databases/foundationdb/files/patch-flow_Platform.cpp
  head/databases/foundationdb/files/patch-flow_Platform.h
  head/databases/foundationdb/files/patch-flow_ThreadPrimitives.cpp
  head/databases/foundationdb/files/patch-flow_ThreadPrimitives.h
  head/databases/foundationdb/files/patch-flow_local.mk
  head/databases/foundationdb/files/patch-foundationdb.conf
Modified:
  head/databases/foundationdb/Makefile
  head/databases/foundationdb/distinfo
  head/databases/foundationdb/files/foundationdb.in
  head/databases/foundationdb/pkg-descr
  head/databases/foundationdb/pkg-plist

Modified: head/databases/foundationdb/Makefile
==============================================================================
--- head/databases/foundationdb/Makefile	Sun May 31 21:51:42 2020	(r537448)
+++ head/databases/foundationdb/Makefile	Sun May 31 22:13:32 2020	(r537449)
@@ -1,9 +1,7 @@
-# Created by: vanilla@
 # $FreeBSD$
 
 PORTNAME=	foundationdb
-DISTVERSION=	6.1.8
-PORTREVISION=	6
+DISTVERSION=	6.3.0
 CATEGORIES=	databases
 
 MAINTAINER=	dch@FreeBSD.org
@@ -19,45 +17,64 @@ BUILD_DEPENDS=	bash:shells/bash
 LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
 		libeio.so:devel/libeio
 
-USES=		compiler:c++14-lang gmake mono:build python:build shebangfix
+USES=		compiler:c++17-lang cmake mono:build python:build shebangfix ssl
 USE_GITHUB=	yes
 GH_ACCOUNT=	apple
+GH_PROJECT=	foundationdb
+USE_LDCONFIG=	yes
 USE_RC_SUBR=	foundationdb
-SHEBANG_FILES=	build/csprojtom4.py build/link-wrapper.sh build/vcxprojtom4.py \
-		bindings/c/generate_asm.py
-MAKE_ENV+=	PYTHON=${PYTHON_CMD} TLS_DISABLED=yes
-CXXFLAGS+=	-Wno-varargs -DTLS_DISABLED
-CFLAGS+=	-Wno-implicit-int-float-conversion
 
-USERS=		${PORTNAME}
-GROUPS=		${PORTNAME}
+SHEBANG_FILES=	bindings/c/generate_asm.py
+
+CMAKE_ARGS=	-DOPENSSL_ROOT_DIR=${OPENSSLLIB}
+CMAKE_OFF=	USE_DTRACE DISABLE_TLS
+
+USERS=		foundationdb
+GROUPS=		foundationdb
 DBDIR?=		/var/db/foundationdb
 LOGDIR?=	/var/log/foundationdb
 
-PLIST_SUB+=	DB_USER=${USERS} \
+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}
 
 post-patch:
-	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/foundationdb.conf
-	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/flow/Platform.cpp
-
+		${REINPLACE_CMD} 's/OPENSSL_USE_STATIC_LIBS TRUE/OPENSSL_USE_STATIC_LIBS FALSE/' \
+		${WRKSRC}/cmake/FDBComponents.cmake
 do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/bin/fdbbackup ${STAGEDIR}${PREFIX}/bin
-	${INSTALL_PROGRAM} ${WRKSRC}/bin/fdbcli ${STAGEDIR}${PREFIX}/bin
-	${LN} -sf ${PREFIX}/bin/fdbbackup ${STAGEDIR}${PREFIX}/bin/fdbrestore
-	${INSTALL_DATA} ${WRKSRC}/lib/libfdbclient.a ${STAGEDIR}/${PREFIX}/lib
-	${INSTALL_DATA} ${WRKSRC}/lib/libfdbrpc.a ${STAGEDIR}/${PREFIX}/lib
-	${INSTALL_DATA} ${WRKSRC}/lib/libflow.a ${STAGEDIR}/${PREFIX}/lib
-	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/foundationdb
-	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent
-	${LN} -sf ${PREFIX}/bin/fdbbackup ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent/backup_agent
-	@${MKDIR} ${STAGEDIR}${PREFIX}/etc/foundationdb
-	${INSTALL_DATA} ${WRKSRC}/foundationdb.conf ${STAGEDIR}${PREFIX}/etc/foundationdb/foundationdb.conf.sample
-	${INSTALL_PROGRAM} ${WRKSRC}/bin/fdbmonitor ${STAGEDIR}${PREFIX}/sbin
-	${INSTALL_PROGRAM} ${WRKSRC}/bin/fdbserver ${STAGEDIR}${PREFIX}/sbin
-	@${MKDIR} ${STAGEDIR}${DBDIR}
-	@${MKDIR} ${STAGEDIR}${LOGDIR}
+	# 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 fdbconvert fdbdecode mako tutorial
+	${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 fastrestore_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 <bsd.port.mk>

Modified: head/databases/foundationdb/distinfo
==============================================================================
--- head/databases/foundationdb/distinfo	Sun May 31 21:51:42 2020	(r537448)
+++ head/databases/foundationdb/distinfo	Sun May 31 22:13:32 2020	(r537449)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1558679857
-SHA256 (apple-foundationdb-6.1.8_GH0.tar.gz) = 831a2d205b4e44cceac7acde46a1856c073fd2036066031ab77f9a6f52cd1b78
-SIZE (apple-foundationdb-6.1.8_GH0.tar.gz) = 4879159
+TIMESTAMP = 1590876916
+SHA256 (apple-foundationdb-6.3.0_GH0.tar.gz) = 307f99014fe0bb8fbb05399c303f5a7a5007ceee207810857a7b5e6a7df7c8e8
+SIZE (apple-foundationdb-6.3.0_GH0.tar.gz) = 5440880

Added: head/databases/foundationdb/files/foundationdb.conf.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/foundationdb/files/foundationdb.conf.in	Sun May 31 22:13:32 2020	(r537449)
@@ -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]

Modified: head/databases/foundationdb/files/foundationdb.in
==============================================================================
--- head/databases/foundationdb/files/foundationdb.in	Sun May 31 21:51:42 2020	(r537448)
+++ head/databases/foundationdb/files/foundationdb.in	Sun May 31 22:13:32 2020	(r537449)
@@ -22,7 +22,7 @@
 name="foundationdb"
 rcvar="${name}_enable"
 foundationdb_enable=${foundationdb_enable:-"NO"}
-command=/usr/local/sbin/fdbmonitor
+command=%%PREFIX%%/bin/fdbmonitor
 pidfile="/var/run/fdbmonitor.pid"
 
 load_rc_config "$name"

Modified: head/databases/foundationdb/pkg-descr
==============================================================================
--- head/databases/foundationdb/pkg-descr	Sun May 31 21:51:42 2020	(r537448)
+++ head/databases/foundationdb/pkg-descr	Sun May 31 22:13:32 2020	(r537449)
@@ -1,3 +1,16 @@
-A distributed, transactional key-value store.
+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/

Modified: head/databases/foundationdb/pkg-plist
==============================================================================
--- head/databases/foundationdb/pkg-plist	Sun May 31 21:51:42 2020	(r537448)
+++ head/databases/foundationdb/pkg-plist	Sun May 31 22:13:32 2020	(r537449)
@@ -1,12 +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
-@sample etc/foundationdb/foundationdb.conf.sample
-lib/foundationdb/backup_agent/backup_agent
+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
-sbin/fdbmonitor
-sbin/fdbserver
-@dir(%%DB_USER%%,%%DB_GROUP%%,) %%DB_DIR%%
-@dir(%%DB_USER%%,%%DB_GROUP%%,) %%LOG_DIR%%
+lib/libthirdparty.a



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202005312213.04VMDWjd028429>