View | Details | Raw Unified | Return to bug 277262 | Differences between
and this patch

Collapse All | Expand All

(-)b/MOVED (+1 lines)
Lines 3182-3184 sysutils/msyslog||2024-04-13|Has expired: Unmaintained and last upstream release Link Here
3182
x11/xdtm||2024-04-13|Has expired: Unmaintained, last upstream release was in 2000 or earlier
3182
x11/xdtm||2024-04-13|Has expired: Unmaintained, last upstream release was in 2000 or earlier
3183
x11/multi-aterm||2024-04-13|Has expired: Unmaintained, last upstream release in 2004
3183
x11/multi-aterm||2024-04-13|Has expired: Unmaintained, last upstream release in 2004
3184
devel/py-dateutil|devel/py-python-dateutil|2024-04-13|Move devel/py-dateutil to devel/py-python-dateutil
3184
devel/py-dateutil|devel/py-python-dateutil|2024-04-13|Move devel/py-dateutil to devel/py-python-dateutil
3185
databases/foundationdb|databases/foundationdb71-server|2024-04-13|Reintegrated into databases/foundationdb71-server
(-)b/UIDs (-1 / +1 lines)
Lines 176-182 _hfm:*:227:227::0:0:hfm daemon:/nonexistent:/usr/sbin/nologin Link Here
176
osrm:*:228:228::0:0:osrm:/nonexistent:/usr/sbin/nologin
176
osrm:*:228:228::0:0:osrm:/nonexistent:/usr/sbin/nologin
177
# free: 229, GID used
177
# free: 229, GID used
178
carbon:*:230:230::0:0:osrm:/nonexistent:/usr/sbin/nologin
178
carbon:*:230:230::0:0:osrm:/nonexistent:/usr/sbin/nologin
179
foundationdb:*:231:231::0:0:foundationdb:/nonexistent:/usr/sbin/nologin
179
foundationdb:*:231:231::0:0:FoundationDB user:/nonexistent:/usr/sbin/nologin
180
archiva:*:232:232::0:0:Archiva Daemon User:/usr/local/archiva:/bin/sh
180
archiva:*:232:232::0:0:Archiva Daemon User:/usr/local/archiva:/bin/sh
181
_ntp:*:233:233::0:0:NTP Daemon:/var/empty:/usr/sbin/nologin
181
_ntp:*:233:233::0:0:NTP Daemon:/var/empty:/usr/sbin/nologin
182
kafka:*:234:234::0:0:Apache Kafka user:/nonexistent:/usr/sbin/nologin
182
kafka:*:234:234::0:0:Apache Kafka user:/nonexistent:/usr/sbin/nologin
(-)b/databases/Makefile (-1 / +4 lines)
Lines 69-75 Link Here
69
    SUBDIR += firebird40-client
69
    SUBDIR += firebird40-client
70
    SUBDIR += firebird40-server
70
    SUBDIR += firebird40-server
71
    SUBDIR += fortytwo-bdb
71
    SUBDIR += fortytwo-bdb
72
    SUBDIR += foundationdb
72
    SUBDIR += foundationdb71-client
73
    SUBDIR += foundationdb71-server
74
    SUBDIR += foundationdb73-client
75
    SUBDIR += foundationdb73-server
73
    SUBDIR += frece
76
    SUBDIR += frece
74
    SUBDIR += freetds
77
    SUBDIR += freetds
75
    SUBDIR += freetds-devel
78
    SUBDIR += freetds-devel
(-)b/databases/erlfdb/Makefile (-1 / +1 lines)
Lines 9-15 WWW= https://github.com/apache/couchdb-erlfdb Link Here
9
9
10
LICENSE=	APACHE20
10
LICENSE=	APACHE20
11
11
12
LIB_DEPENDS=	libfdb_c.so:databases/foundationdb
12
LIB_DEPENDS=	libfdb_c.so:databases/foundationdb71-client
13
13
14
USES=		erlang:rebar3,enc
14
USES=		erlang:rebar3,enc
15
USE_GITHUB=	yes
15
USE_GITHUB=	yes
(-)a/databases/foundationdb/Makefile (-98 lines)
Removed Link Here
1
PORTNAME=	foundationdb
2
DISTVERSION=	7.1.29
3
CATEGORIES=	databases
4
5
# PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/pull/
6
7
MAINTAINER=	dmitry.wagin@ya.ru
8
COMMENT=	Distributed, transactional key-value store
9
WWW=		https://www.foundationdb.org/
10
11
LICENSE=	APACHE20
12
LICENSE_FILE=	${WRKSRC}/LICENSE
13
14
BROKEN_aarch64=	invalid asm rdtsc
15
ONLY_FOR_ARCHS=	aarch64 amd64
16
ONLY_FOR_ARCHS_REASON=	not yet ported to anything else
17
18
BUILD_DEPENDS=	${LOCALBASE}/include/msgpack.hpp:devel/msgpack-cxx \
19
		${LOCALBASE}/include/toml.hpp:devel/toml11 \
20
		bash:shells/bash \
21
		git:devel/git
22
LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
23
		libeio.so:devel/libeio
24
25
USES=		cmake compiler:c++20-lang mono:build python:build shebangfix \
26
		ssl
27
USE_GITHUB=	yes
28
GH_ACCOUNT=	apple
29
GH_PROJECT=	foundationdb
30
USE_LDCONFIG=	yes
31
USE_RC_SUBR=	foundationdb
32
33
SHEBANG_FILES=	bindings/c/generate_asm.py
34
35
CMAKE_ARGS=	-DOPENSSL_ROOT_DIR=${OPENSSLLIB}
36
CMAKE_OFF=	DISABLE_TLS USE_DTRACE USE_JEMALLOC WITH_CONTRIB WITH_FLOWBENCH
37
38
MAKE_ENV=	MONO_REGISTRY_PATH=/tmp/registry
39
40
SUB_FILES=	foundationdb.conf
41
SUB_LIST=	${SUB_FDB}
42
43
USERS=		foundationdb
44
GROUPS=		foundationdb
45
46
PLIST_SUB=	${SUB_FDB}
47
48
FOUNDATIONDB_DBDIR?=	/var/db/foundationdb
49
FOUNDATIONDB_ETCDIR?=	${PREFIX}/etc/foundationdb
50
FOUNDATIONDB_GROUP?=	foundationdb
51
FOUNDATIONDB_LOGDIR?=	/var/log/foundationdb
52
FOUNDATIONDB_USER?=	foundationdb
53
54
SUB_FDB=	FOUNDATIONDB_DBDIR=${FOUNDATIONDB_DBDIR} \
55
		FOUNDATIONDB_ETCDIR=${FOUNDATIONDB_ETCDIR} \
56
		FOUNDATIONDB_GROUP=${FOUNDATIONDB_GROUP} \
57
		FOUNDATIONDB_LOGDIR=${FOUNDATIONDB_LOGDIR} \
58
		FOUNDATIONDB_USER=${FOUNDATIONDB_USER}
59
60
post-patch:
61
		${REINPLACE_CMD} 's/OPENSSL_USE_STATIC_LIBS TRUE/OPENSSL_USE_STATIC_LIBS FALSE/' \
62
		${WRKSRC}/cmake/FDBComponents.cmake
63
		${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' \
64
		${WRKSRC}/bindings/c/test/unit/third_party/CMakeLists.txt
65
66
do-install:
67
# commands on first line, dev tools on next two
68
.for f in fdbbackup fdbcli fdbmonitor fdbserver actor_flamegraph fdb_flow_tester \
69
	fdbconvert fdbdecode tutorial
70
	${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/${f} ${STAGEDIR}${PREFIX}/bin/
71
.endfor
72
.for s in backup_agent dr_agent fastrestore_agent fdbr fdbrestore
73
	${RLN} ${STAGEDIR}${PREFIX}/bin/fdbbackup ${STAGEDIR}${PREFIX}/bin/${s}
74
.endfor
75
# exposed libraries - confirm with upstream
76
.for l in libfdb_c.so libfdb_flow.a libfdb_sqlite.a libfdbclient.a libfdbrpc.a \
77
	libflow.a
78
	${STRIP_CMD} ${WRKDIR}/.build/lib/${l}
79
	${INSTALL_DATA} ${WRKDIR}/.build/lib/${l} ${STAGEDIR}/${PREFIX}/lib/
80
.endfor
81
# exposed headers - confirm with upstream
82
	${MKDIR} ${STAGEDIR}${PREFIX}/include/foundationdb
83
	${INSTALL_DATA} ${WRKSRC}/bindings/c/foundationdb/fdb_c.h \
84
	    ${STAGEDIR}/${PREFIX}/include/foundationdb/
85
	${INSTALL_DATA} ${WRKSRC}/bindings/c/foundationdb/fdb_c_types.h \
86
	    ${STAGEDIR}/${PREFIX}/include/foundationdb/
87
	${INSTALL_DATA} ${WRKSRC}/fdbclient/vexillographer/fdb.options \
88
	    ${STAGEDIR}/${PREFIX}/include/foundationdb/
89
	${INSTALL_DATA} ${WRKDIR}/.build/bindings/c/foundationdb/fdb_c_options.g.h \
90
	    ${STAGEDIR}/${PREFIX}/include/foundationdb/
91
# runtime related
92
	${MKDIR} ${STAGEDIR}${FOUNDATIONDB_ETCDIR}
93
	${MKDIR} ${STAGEDIR}${FOUNDATIONDB_DBDIR}
94
	${MKDIR} ${STAGEDIR}${FOUNDATIONDB_LOGDIR}
95
	${INSTALL_DATA} ${WRKDIR}/foundationdb.conf \
96
	    ${STAGEDIR}${FOUNDATIONDB_ETCDIR}/foundationdb.conf.sample
97
98
.include <bsd.port.mk>
(-)a/databases/foundationdb/distinfo (-3 lines)
Removed Link Here
1
TIMESTAMP = 1679567621
2
SHA256 (apple-foundationdb-7.1.29_GH0.tar.gz) = ad608ddb781eea3ef4607ab9abb41282ca93383814d8149346bf3440cc9f46d5
3
SIZE (apple-foundationdb-7.1.29_GH0.tar.gz) = 11676677
(-)a/databases/foundationdb/files/patch-cmake_CompileBoost.cmake (-11 lines)
Removed Link Here
1
--- cmake/CompileBoost.cmake.orig	2022-09-19 11:42:41 UTC
2
+++ cmake/CompileBoost.cmake
3
@@ -113,7 +113,7 @@ endif()
4
   return()
5
 endif()
6
 
7
-find_package(Boost 1.78.0 EXACT QUIET COMPONENTS context CONFIG PATHS ${BOOST_HINT_PATHS})
8
+find_package(Boost 1.78.0 COMPONENTS context CONFIG PATHS ${BOOST_HINT_PATHS})
9
 set(FORCE_BOOST_BUILD OFF CACHE BOOL "Forces cmake to build boost and ignores any installed boost")
10
 
11
 if(Boost_FOUND AND NOT FORCE_BOOST_BUILD)
(-)a/databases/foundationdb/files/patch-cmake_GetMsgpack.cmake (-24 lines)
Removed Link Here
1
--- cmake/GetMsgpack.cmake.orig	2022-09-19 11:42:41 UTC
2
+++ cmake/GetMsgpack.cmake
3
@@ -1,20 +1,7 @@
4
-find_package(msgpack 3.3.0 EXACT QUIET CONFIG)
5
+find_package(msgpack-cxx REQUIRED QUIET CONFIG)
6
 
7
 add_library(msgpack INTERFACE)
8
 
9
 if(msgpack_FOUND)
10
   target_link_libraries(msgpack INTERFACE msgpackc-cxx)
11
-else()
12
-  include(ExternalProject)
13
-  ExternalProject_add(msgpackProject
14
-    URL "https://github.com/msgpack/msgpack-c/releases/download/cpp-3.3.0/msgpack-3.3.0.tar.gz"
15
-    URL_HASH SHA256=6e114d12a5ddb8cb11f669f83f32246e484a8addd0ce93f274996f1941c1f07b
16
-    CONFIGURE_COMMAND ""
17
-    BUILD_COMMAND ""
18
-    INSTALL_COMMAND ""
19
-  )
20
-
21
-  ExternalProject_Get_property(msgpackProject SOURCE_DIR)
22
-  target_include_directories(msgpack SYSTEM INTERFACE "${SOURCE_DIR}/include")
23
-  add_dependencies(msgpack msgpackProject)
24
 endif()
(-)a/databases/foundationdb/files/patch-fdbmonitor_CMakeLists.txt (-11 lines)
Removed Link Here
1
--- fdbmonitor/CMakeLists.txt.orig	2022-09-19 11:42:41 UTC
2
+++ fdbmonitor/CMakeLists.txt
3
@@ -56,8 +56,3 @@ endif()
4
   configure_file(${CMAKE_SOURCE_DIR}/contrib/generate_profile.sh
5
     ${CMAKE_BINARY_DIR}/contrib/generate_profile.sh)
6
 endif()
7
-
8
-add_custom_target(generate_profile
9
-  COMMAND  ${CMAKE_BINARY_DIR}/contrib/generate_profile.sh ${CMAKE_BINARY_DIR})
10
-
11
-add_dependencies(generate_profile fdbmonitor fdbserver mako fdbcli)
(-)a/databases/foundationdb/pkg-descr (-14 lines)
Removed Link Here
1
A massively distributed, transactional key-value store, extensible by
2
design, with unparalleled reliability and performance.
3
4
FoundationDB is multi-model, meaning you can store many types of data in a
5
single database. All data is safely stored, distributed, and replicated
6
in the Key-Value Store component. It is easy to install, grow, and
7
manage, with a distributed architecture that gracefully scales out, and
8
handles faults while acting like a single ACID database. FoundationDB
9
provides amazing performance on commodity hardware, allowing you to
10
support very heavy loads at low cost. It has been running in production
11
for years and been hardened with lessons learned in some of the world's
12
largest database deployments. Backing FoundationDB up is an unmatched
13
testing system based on a deterministic simulation engine that ensures
14
optimal reliability of operations.
(-)a/databases/foundationdb/pkg-plist (-28 lines)
Removed Link Here
1
@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%FOUNDATIONDB_ETCDIR%%
2
@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%FOUNDATIONDB_DBDIR%%
3
@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%FOUNDATIONDB_LOGDIR%%
4
@sample %%FOUNDATIONDB_ETCDIR%%/foundationdb.conf.sample
5
bin/actor_flamegraph
6
bin/backup_agent
7
bin/dr_agent
8
bin/fastrestore_agent
9
bin/fdb_flow_tester
10
bin/fdbbackup
11
bin/fdbcli
12
bin/fdbconvert
13
bin/fdbdecode
14
bin/fdbmonitor
15
bin/fdbr
16
bin/fdbrestore
17
bin/fdbserver
18
bin/tutorial
19
include/foundationdb/fdb.options
20
include/foundationdb/fdb_c.h
21
include/foundationdb/fdb_c_types.h
22
include/foundationdb/fdb_c_options.g.h
23
lib/libfdb_c.so
24
lib/libfdb_flow.a
25
lib/libfdb_sqlite.a
26
lib/libfdbclient.a
27
lib/libfdbrpc.a
28
lib/libflow.a
(-)b/databases/foundationdb71-client/Makefile (+11 lines)
Added Link Here
1
PORTNAME=	foundationdb
2
PORTREVISION=	0
3
4
COMMENT=	FoundationDB client
5
6
MASTERDIR=	${.CURDIR}/../foundationdb71-server
7
8
_CLIENT_ONLY=	yes
9
_COMPONENT=	client
10
11
.include "${MASTERDIR}/Makefile"
(-)b/databases/foundationdb71-server/Makefile (+103 lines)
Added Link Here
1
PORTNAME?=	foundationdb
2
DISTVERSION=	7.1.59
3
PORTREVISION?=	0
4
CATEGORIES?=	databases
5
PKGNAMESUFFIX?=	${DISTVERSION:C/([0-9]+)\.([0-9]+).*/\1\2/}-${_COMPONENT}
6
7
MAINTAINER?=	dmitry.wagin@ya.ru
8
COMMENT?=	FoundationDB is a distributed database designed to handle large volumes of structured data across clusters of commodity servers
9
WWW=		https://www.foundationdb.org/
10
11
LICENSE=	APACHE20
12
LICENSE_FILE=	${WRKSRC}/LICENSE
13
14
BROKEN_aarch64=	invalid asm rdtsc
15
ONLY_FOR_ARCHS=	aarch64 amd64
16
ONLY_FOR_ARCHS_REASON=	not yet ported to anything else
17
18
BUILD_DEPENDS=	bash:shells/bash \
19
		msgpack-cxx>0:devel/msgpack-cxx \
20
		toml11>0:devel/toml11
21
LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
22
		libeio.so:devel/libeio
23
24
USES=		cmake compiler:c++20-lang llvm:max=16 mono:build python:build \
25
		shebangfix ssl
26
USE_GITHUB=	yes
27
GH_ACCOUNT=	apple
28
GH_PROJECT=	foundationdb
29
USE_LDCONFIG=	yes
30
31
.if !defined(_CLIENT_ONLY)
32
_SERVER_ONLY=	yes
33
_COMPONENT=	server
34
USE_RC_SUBR=	foundationdb
35
RUN_DEPENDS+=	fdbcli:databases/${PORTNAME}${DISTVERSION:C/([0-9]+)\.([0-9]+).*/\1\2/}-client
36
SUB_FILES+=	foundationdb.conf
37
.endif
38
39
SHEBANG_FILES=	bindings/c/generate_asm.py
40
41
CMAKE_ARGS=	-DOPENSSL_ROOT_DIR=${OPENSSLLIB}
42
CMAKE_OFF=	BUILD_DOCUMENTATION BUILD_GO_BINDING BUILD_JAVA_BINDING \
43
		BUILD_PYTHON_BINDING BUILD_RUBY_BINDING DISABLE_TLS \
44
		SSD_ROCKSDB_EXPERIMENTAL USE_DTRACE USE_JEMALLOC
45
46
MAKE_ENV=	MONO_REGISTRY_PATH=/tmp/registry
47
48
CONFLICTS+=	${PORTNAME}*-${_COMPONENT}*
49
50
SUB_LIST=	${SUB_FDB}
51
52
USERS=		${FOUNDATIONDB_USER}
53
GROUPS=		${FOUNDATIONDB_GROUP}
54
55
PLIST=		${PKGDIR}/pkg-plist-${_COMPONENT}
56
PLIST_SUB=	${SUB_FDB}
57
58
FOUNDATIONDB_USER?=	foundationdb
59
FOUNDATIONDB_GROUP?=	foundationdb
60
FOUNDATIONDB_DBDIR?=	/var/db/foundationdb
61
FOUNDATIONDB_LOGDIR?=	/var/log/foundationdb
62
63
SUB_FDB=	FOUNDATIONDB_USER=${FOUNDATIONDB_USER} \
64
		FOUNDATIONDB_GROUP=${FOUNDATIONDB_GROUP} \
65
		FOUNDATIONDB_DBDIR=${FOUNDATIONDB_DBDIR} \
66
		FOUNDATIONDB_LOGDIR=${FOUNDATIONDB_LOGDIR}
67
68
do-install:
69
	@${MKDIR} ${STAGEDIR}${ETCDIR}
70
.if defined(_SERVER_ONLY)
71
	${MKDIR} ${STAGEDIR}${FOUNDATIONDB_DBDIR}
72
	${MKDIR} ${STAGEDIR}${FOUNDATIONDB_LOGDIR}
73
	${INSTALL_DATA} ${WRKDIR}/foundationdb.conf ${STAGEDIR}${ETCDIR}/foundationdb.conf.sample
74
.  for f in fdbserver fdbmonitor
75
	${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/${f} ${STAGEDIR}${PREFIX}/sbin/
76
.  endfor
77
.endif # _SERVER_ONLY
78
.if defined(_CLIENT_ONLY)
79
	${MKDIR} ${STAGEDIR}${PREFIX}/include/foundationdb
80
	${MKDIR} ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent
81
	${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/fdbcli ${STAGEDIR}${PREFIX}/bin/
82
.  for l in libfdb_c.so
83
	${INSTALL_LIB} ${WRKDIR}/.build/lib/${l} ${STAGEDIR}/${PREFIX}/lib/
84
.  endfor
85
.  for i in fdb_c.h fdb_c_internal.h fdb_c_types.h
86
	${INSTALL_DATA} ${WRKSRC}/bindings/c/foundationdb/${i} \
87
		${STAGEDIR}/${PREFIX}/include/foundationdb/
88
.  endfor
89
.  for i in fdb_c_options.g.h
90
	${INSTALL_DATA} ${WRKDIR}/.build/bindings/c/foundationdb/${i} \
91
		${STAGEDIR}/${PREFIX}/include/foundationdb/
92
.  endfor
93
	${INSTALL_DATA} ${WRKSRC}/fdbclient/vexillographer/fdb.options \
94
		${STAGEDIR}/${PREFIX}/include/foundationdb/
95
	${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/fdbbackup \
96
		${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent/backup_agent
97
.  for s in fdbbackup fdbrestore fdbdr dr_agent
98
	${RLN} ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent/backup_agent \
99
		${STAGEDIR}${PREFIX}/bin/${s}
100
.  endfor
101
.endif # _CLIENT_ONLY
102
103
.include <bsd.port.mk>
(-)b/databases/foundationdb71-server/distinfo (+3 lines)
Added Link Here
1
TIMESTAMP = 1711226264
2
SHA256 (apple-foundationdb-7.1.59_GH0.tar.gz) = 8a5b7756b96969505ea94a9c6f6852b1ee1730f75672dc887616b92cc7cd64f1
3
SIZE (apple-foundationdb-7.1.59_GH0.tar.gz) = 11728251
(-)b/databases/foundationdb71-server/files/foundationdb.conf.in (-3 / +3 lines)
Lines 14-26 restart-delay = 60 Link Here
14
# initial-restart-delay = 0
14
# initial-restart-delay = 0
15
# restart-backoff = 60
15
# restart-backoff = 60
16
# restart-delay-reset-interval = 60
16
# restart-delay-reset-interval = 60
17
cluster-file = %%FOUNDATIONDB_ETCDIR%%/fdb.cluster
17
cluster-file = %%ETCDIR%%/fdb.cluster
18
# delete-envvars =
18
# delete-envvars =
19
# kill-on-configuration-change = true
19
# kill-on-configuration-change = true
20
20
21
## Default parameters for individual fdbserver processes
21
## Default parameters for individual fdbserver processes
22
[fdbserver]
22
[fdbserver]
23
command = %%PREFIX%%/bin/fdbserver
23
command = %%PREFIX%%/sbin/fdbserver
24
public-address = auto:$ID
24
public-address = auto:$ID
25
listen-address = public
25
listen-address = public
26
datadir = %%FOUNDATIONDB_DBDIR%%/data/$ID
26
datadir = %%FOUNDATIONDB_DBDIR%%/data/$ID
Lines 41-47 logdir = %%FOUNDATIONDB_LOGDIR%% Link Here
41
[fdbserver.4500]
41
[fdbserver.4500]
42
42
43
[backup_agent]
43
[backup_agent]
44
command = %%PREFIX%%/bin/backup_agent
44
command = %%PREFIX%%/lib/foundationdb/backup_agent/backup_agent
45
logdir = %%FOUNDATIONDB_LOGDIR%%
45
logdir = %%FOUNDATIONDB_LOGDIR%%
46
46
47
[backup_agent.1]
47
[backup_agent.1]
(-)b/databases/foundationdb71-server/files/foundationdb.in (-1 / +1 lines)
Lines 29-35 load_rc_config "$name" Link Here
29
start_precmd="foundationdb_start_precmd"
29
start_precmd="foundationdb_start_precmd"
30
30
31
pidfile="/var/run/fdbmonitor.pid"
31
pidfile="/var/run/fdbmonitor.pid"
32
command=%%PREFIX%%/bin/fdbmonitor
32
command=%%PREFIX%%/sbin/fdbmonitor
33
command_args="--conffile ${foundationdb_config} --lockfile ${pidfile} --daemonize"
33
command_args="--conffile ${foundationdb_config} --lockfile ${pidfile} --daemonize"
34
34
35
foundationdb_start_precmd()
35
foundationdb_start_precmd()
(-)b/databases/foundationdb71-server/files/patch-CMakeLists.txt (-8 / +5 lines)
Lines 1-15 Link Here
1
--- CMakeLists.txt.orig	2022-09-19 11:42:41 UTC
1
--- CMakeLists.txt.orig	2024-01-17 13:58:04 UTC
2
+++ CMakeLists.txt
2
+++ CMakeLists.txt
3
@@ -183,9 +183,13 @@ add_subdirectory(fdbbackup)
3
@@ -184,8 +184,10 @@ else()
4
   add_subdirectory(fdbservice)
5
 endif()
4
 endif()
6
 add_subdirectory(fdbbackup)
5
 add_subdirectory(fdbbackup)
7
-add_subdirectory(contrib)
6
 add_subdirectory(contrib)
8
+if(WITH_CONTRIB)
7
-add_subdirectory(tests)
9
+  add_subdirectory(contrib)
10
+endif()
11
 add_subdirectory(tests)
12
-add_subdirectory(flowbench EXCLUDE_FROM_ALL)
8
-add_subdirectory(flowbench EXCLUDE_FROM_ALL)
9
+#add_subdirectory(tests)
13
+if(WITH_FLOWBENCH)
10
+if(WITH_FLOWBENCH)
14
+  add_subdirectory(flowbench EXCLUDE_FROM_ALL)
11
+  add_subdirectory(flowbench EXCLUDE_FROM_ALL)
15
+endif()
12
+endif()
(-)b/databases/foundationdb71-server/files/patch-bindings_CMakeLists.txt (+10 lines)
Added Link Here
1
--- bindings/CMakeLists.txt.orig	2024-01-17 13:58:04 UTC
2
+++ bindings/CMakeLists.txt
3
@@ -15,6 +15,6 @@ endif()
4
 if(WITH_RUBY_BINDING)
5
   add_subdirectory(ruby)
6
 endif()
7
-if(NOT WIN32 AND NOT OPEN_FOR_IDE)
8
+if(FALSE)
9
   package_bindingtester()
10
 endif()
(-)b/databases/foundationdb71-server/files/patch-bindings_c_CMakeLists.txt (-3 / +3 lines)
Lines 1-11 Link Here
1
--- bindings/c/CMakeLists.txt.orig	2022-09-19 11:42:41 UTC
1
--- bindings/c/CMakeLists.txt.orig	2024-01-17 13:58:04 UTC
2
+++ bindings/c/CMakeLists.txt
2
+++ bindings/c/CMakeLists.txt
3
@@ -78,7 +78,7 @@ endif()
3
@@ -78,7 +78,7 @@ if(WIN32)
4
 endif()
4
 endif()
5
 
5
 
6
 # The tests don't build on windows
6
 # The tests don't build on windows
7
-if(NOT WIN32)
7
-if(NOT WIN32)
8
+if(NOT WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
8
+if(FALSE)
9
   set(MAKO_SRCS
9
   set(MAKO_SRCS
10
     test/mako/mako.c
10
     test/mako/mako.c
11
     test/mako/mako.h
11
     test/mako/mako.h
(-)b/databases/foundationdb71-server/files/patch-cmake_CompileBoost.cmake (+20 lines)
Added Link Here
1
--- cmake/CompileBoost.cmake.orig	2024-01-17 13:58:04 UTC
2
+++ cmake/CompileBoost.cmake
3
@@ -85,7 +85,7 @@ if(USE_SANITIZER)
4
 endif()
5
 
6
 # since boost 1.72 boost installs cmake configs. We will enforce config mode
7
-set(Boost_USE_STATIC_LIBS ON)
8
+set(Boost_USE_STATIC_LIBS OFF)
9
 
10
 # Clang and Gcc will have different name mangling to std::call_once, etc.
11
 if (UNIX AND CMAKE_CXX_COMPILER_ID MATCHES "Clang$")
12
@@ -113,7 +113,7 @@ if(WIN32)
13
   return()
14
 endif()
15
 
16
-find_package(Boost 1.78.0 EXACT QUIET COMPONENTS context CONFIG PATHS ${BOOST_HINT_PATHS})
17
+find_package(Boost 1.78.0 COMPONENTS context CONFIG PATHS ${BOOST_HINT_PATHS})
18
 set(FORCE_BOOST_BUILD OFF CACHE BOOL "Forces cmake to build boost and ignores any installed boost")
19
 
20
 if(Boost_FOUND AND NOT FORCE_BOOST_BUILD)
(-)b/databases/foundationdb71-server/files/patch-cmake_FDBComponents.cmake (-5 / +3 lines)
Lines 1-4 Link Here
1
--- cmake/FDBComponents.cmake.orig	2023-03-14 19:59:33 UTC
1
--- cmake/FDBComponents.cmake.orig	2024-01-17 13:58:04 UTC
2
+++ cmake/FDBComponents.cmake
2
+++ cmake/FDBComponents.cmake
3
@@ -24,7 +24,7 @@ set(DISABLE_TLS OFF CACHE BOOL "Don't try to find Open
3
@@ -24,7 +24,7 @@ set(DISABLE_TLS OFF CACHE BOOL "Don't try to find Open
4
 if(DISABLE_TLS)
4
 if(DISABLE_TLS)
Lines 9-33 Link Here
9
   if(WIN32)
9
   if(WIN32)
10
     set(OPENSSL_MSVC_STATIC_RT ON)
10
     set(OPENSSL_MSVC_STATIC_RT ON)
11
   endif()
11
   endif()
12
@@ -201,6 +201,13 @@ else()
12
@@ -202,6 +202,12 @@ else()
13
 endif()
13
 endif()
14
 
14
 
15
 ################################################################################
15
 ################################################################################
16
+# misc optional components
16
+# misc optional components
17
+################################################################################
17
+################################################################################
18
+
18
+
19
+set(WITH_CONTRIB ON)
20
+set(WITH_FLOWBENCH OFF)
19
+set(WITH_FLOWBENCH OFF)
21
+
20
+
22
+################################################################################
21
+################################################################################
23
 # Coroutine implementation
22
 # Coroutine implementation
24
 ################################################################################
23
 ################################################################################
25
 
24
 
26
@@ -245,6 +252,8 @@ function(print_components)
25
@@ -246,6 +252,7 @@ function(print_components)
27
   message(STATUS "Build Documentation (make html):      ${WITH_DOCUMENTATION}")
26
   message(STATUS "Build Documentation (make html):      ${WITH_DOCUMENTATION}")
28
   message(STATUS "Build Python sdist (make package):    ${WITH_PYTHON_BINDING}")
27
   message(STATUS "Build Python sdist (make package):    ${WITH_PYTHON_BINDING}")
29
   message(STATUS "Configure CTest (depends on Python):  ${WITH_PYTHON}")
28
   message(STATUS "Configure CTest (depends on Python):  ${WITH_PYTHON}")
30
+  message(STATUS "Build contrib:                        ${WITH_CONTRIB}")
31
+  message(STATUS "Build with FlowBench:                 ${WITH_FLOWBENCH}")
29
+  message(STATUS "Build with FlowBench:                 ${WITH_FLOWBENCH}")
32
   message(STATUS "Build with RocksDB:                   ${WITH_ROCKSDB_EXPERIMENTAL}")
30
   message(STATUS "Build with RocksDB:                   ${WITH_ROCKSDB_EXPERIMENTAL}")
33
   message(STATUS "Build with AWS SDK:                   ${WITH_AWS_BACKUP}")
31
   message(STATUS "Build with AWS SDK:                   ${WITH_AWS_BACKUP}")
(-)b/databases/foundationdb71-server/files/patch-cmake_GetMsgpack.cmake (+17 lines)
Added Link Here
1
--- cmake/GetMsgpack.cmake.orig	2023-09-26 04:25:05 UTC
2
+++ cmake/GetMsgpack.cmake
3
@@ -1,9 +1,13 @@
4
 find_package(msgpack 3.3.0 EXACT QUIET CONFIG)
5
+find_package(msgpackc-cxx 4.0.0...<6 QUIET CONFIG)
6
+find_package(msgpack-cxx 6 QUIET CONFIG)
7
 
8
 add_library(msgpack INTERFACE)
9
 
10
-if(msgpack_FOUND)
11
+if(msgpack_FOUND OR msgpackc-cxx_FOUND)
12
   target_link_libraries(msgpack INTERFACE msgpackc-cxx)
13
+elseif(msgpack-cxx_FOUND)
14
+  target_link_libraries(msgpack INTERFACE msgpack-cxx)
15
 else()
16
   include(ExternalProject)
17
   ExternalProject_add(msgpackProject
(-)b/databases/foundationdb71-server/files/patch-fdbmonitor_CMakeLists.txt (+8 lines)
Added Link Here
1
--- fdbmonitor/CMakeLists.txt.orig	2024-01-17 13:58:04 UTC
2
+++ fdbmonitor/CMakeLists.txt
3
@@ -60,4 +60,4 @@ endif()
4
 add_custom_target(generate_profile
5
   COMMAND  ${CMAKE_BINARY_DIR}/contrib/generate_profile.sh ${CMAKE_BINARY_DIR})
6
 
7
-add_dependencies(generate_profile fdbmonitor fdbserver mako fdbcli)
8
+add_dependencies(generate_profile fdbmonitor fdbserver fdbcli)
(-)b/databases/foundationdb71-server/files/patch-fdbserver_fdbserver.actor.cpp (-2 / +2 lines)
Lines 1-4 Link Here
1
--- fdbserver/fdbserver.actor.cpp.orig	2022-09-19 11:42:41 UTC
1
--- fdbserver/fdbserver.actor.cpp.orig	2024-01-17 13:58:04 UTC
2
+++ fdbserver/fdbserver.actor.cpp
2
+++ fdbserver/fdbserver.actor.cpp
3
@@ -84,7 +84,11 @@
3
@@ -84,7 +84,11 @@
4
 #if defined(__linux__) || defined(__FreeBSD__)
4
 #if defined(__linux__) || defined(__FreeBSD__)
Lines 12-18 Link Here
12
 #ifdef ALLOC_INSTRUMENTATION
12
 #ifdef ALLOC_INSTRUMENTATION
13
 #include <cxxabi.h>
13
 #include <cxxabi.h>
14
 #endif
14
 #endif
15
@@ -2225,9 +2229,14 @@ int main(int argc, char* argv[]) {
15
@@ -2238,9 +2242,14 @@ int main(int argc, char* argv[]) {
16
 			f = result;
16
 			f = result;
17
 		} else if (role == ServerRole::FlowProcess) {
17
 		} else if (role == ServerRole::FlowProcess) {
18
 			TraceEvent(SevDebug, "StartingFlowProcess").detail("From", "fdbserver");
18
 			TraceEvent(SevDebug, "StartingFlowProcess").detail("From", "fdbserver");
(-)b/databases/foundationdb71-server/pkg-descr (+8 lines)
Added Link Here
1
FoundationDB is a distributed database designed to handle large volumes of
2
structured data across clusters of commodity servers. It organizes data as an
3
ordered key-value store and employs ACID transactions for all operations. It is
4
especially well-suited for read/write workloads but also has excellent
5
performance for write-intensive workloads. Users interact with the database
6
using API language binding.
7
8
To learn more about FoundationDB, visit https://www.foundationdb.org
(-)b/databases/foundationdb71-server/pkg-plist-client (+13 lines)
Added Link Here
1
bin/dr_agent
2
bin/fdbbackup
3
bin/fdbcli
4
bin/fdbdr
5
bin/fdbrestore
6
include/foundationdb/fdb_c.h
7
include/foundationdb/fdb_c_internal.h
8
include/foundationdb/fdb_c_options.g.h
9
include/foundationdb/fdb_c_types.h
10
include/foundationdb/fdb.options
11
lib/foundationdb/backup_agent/backup_agent
12
lib/libfdb_c.so
13
@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%ETCDIR%%
(-)b/databases/foundationdb71-server/pkg-plist-server (+6 lines)
Added Link Here
1
sbin/fdbmonitor
2
sbin/fdbserver
3
@sample %%ETCDIR%%/foundationdb.conf.sample
4
@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%ETCDIR%%
5
@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%FOUNDATIONDB_DBDIR%%
6
@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%FOUNDATIONDB_LOGDIR%%
(-)b/databases/foundationdb73-client/Makefile (+11 lines)
Added Link Here
1
PORTNAME=	foundationdb
2
PORTREVISION=	0
3
4
COMMENT=	FoundationDB client
5
6
MASTERDIR=	${.CURDIR}/../foundationdb73-server
7
8
_CLIENT_ONLY=	yes
9
_COMPONENT=	client
10
11
.include "${MASTERDIR}/Makefile"
(-)b/databases/foundationdb73-server/Makefile (+104 lines)
Added Link Here
1
PORTNAME?=	foundationdb
2
DISTVERSION=	7.3.37
3
PORTREVISION?=	0
4
CATEGORIES?=	databases
5
PKGNAMESUFFIX?=	${DISTVERSION:C/([0-9]+)\.([0-9]+).*/\1\2/}-${_COMPONENT}
6
7
MAINTAINER?=	dmitry.wagin@ya.ru
8
COMMENT?=	FoundationDB is a distributed database designed to handle large volumes of structured data across clusters of commodity servers
9
WWW=		https://www.foundationdb.org/
10
11
LICENSE=	APACHE20
12
LICENSE_FILE=	${WRKSRC}/LICENSE
13
14
BROKEN_aarch64=	invalid asm rdtsc
15
ONLY_FOR_ARCHS=	aarch64 amd64
16
ONLY_FOR_ARCHS_REASON=	not yet ported to anything else
17
18
BUILD_DEPENDS=	bash:shells/bash \
19
		msgpack-cxx>0:devel/msgpack-cxx \
20
		toml11>0:devel/toml11
21
LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
22
		libeio.so:devel/libeio \
23
		libfmt.so:devel/libfmt
24
25
USES=		cmake compiler:c++20-lang llvm:max=16 mono:build python:build \
26
		shebangfix ssl
27
USE_GITHUB=	yes
28
GH_ACCOUNT=	apple
29
GH_PROJECT=	foundationdb
30
USE_LDCONFIG=	yes
31
32
.if !defined(_CLIENT_ONLY)
33
_SERVER_ONLY=	yes
34
_COMPONENT=	server
35
USE_RC_SUBR=	foundationdb
36
RUN_DEPENDS+=	fdbcli:databases/${PORTNAME}${DISTVERSION:C/([0-9]+)\.([0-9]+).*/\1\2/}-client
37
SUB_FILES+=	foundationdb.conf
38
.endif
39
40
SHEBANG_FILES=	bindings/c/generate_asm.py
41
42
CMAKE_ARGS=	-DOPENSSL_ROOT_DIR=${OPENSSLLIB}
43
CMAKE_OFF=	BUILD_DOCUMENTATION BUILD_GO_BINDING BUILD_JAVA_BINDING \
44
		BUILD_PYTHON_BINDING BUILD_RUBY_BINDING DISABLE_TLS \
45
		SSD_ROCKSDB_EXPERIMENTAL USE_DTRACE USE_JEMALLOC
46
47
MAKE_ENV=	MONO_REGISTRY_PATH=/tmp/registry
48
49
CONFLICTS+=	${PORTNAME}*-${_COMPONENT}*
50
51
SUB_LIST=	${SUB_FDB}
52
53
USERS=		${FOUNDATIONDB_USER}
54
GROUPS=		${FOUNDATIONDB_GROUP}
55
56
PLIST=		${PKGDIR}/pkg-plist-${_COMPONENT}
57
PLIST_SUB=	${SUB_FDB}
58
59
FOUNDATIONDB_USER?=	foundationdb
60
FOUNDATIONDB_GROUP?=	foundationdb
61
FOUNDATIONDB_DBDIR?=	/var/db/foundationdb
62
FOUNDATIONDB_LOGDIR?=	/var/log/foundationdb
63
64
SUB_FDB=	FOUNDATIONDB_USER=${FOUNDATIONDB_USER} \
65
		FOUNDATIONDB_GROUP=${FOUNDATIONDB_GROUP} \
66
		FOUNDATIONDB_DBDIR=${FOUNDATIONDB_DBDIR} \
67
		FOUNDATIONDB_LOGDIR=${FOUNDATIONDB_LOGDIR}
68
69
do-install:
70
	@${MKDIR} ${STAGEDIR}${ETCDIR}
71
.if defined(_SERVER_ONLY)
72
	${MKDIR} ${STAGEDIR}${FOUNDATIONDB_DBDIR}
73
	${MKDIR} ${STAGEDIR}${FOUNDATIONDB_LOGDIR}
74
	${INSTALL_DATA} ${WRKDIR}/foundationdb.conf ${STAGEDIR}${ETCDIR}/foundationdb.conf.sample
75
.  for f in fdbserver fdbmonitor
76
	${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/${f} ${STAGEDIR}${PREFIX}/sbin/
77
.  endfor
78
.endif # _SERVER_ONLY
79
.if defined(_CLIENT_ONLY)
80
	${MKDIR} ${STAGEDIR}${PREFIX}/include/foundationdb
81
	${MKDIR} ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent
82
	${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/fdbcli ${STAGEDIR}${PREFIX}/bin/
83
.  for l in libfdb_c.so libfdb_c_shim.so
84
	${INSTALL_LIB} ${WRKDIR}/.build/lib/${l} ${STAGEDIR}/${PREFIX}/lib/
85
.  endfor
86
.  for i in fdb_c.h fdb_c_internal.h fdb_c_shim.h fdb_c_types.h
87
	${INSTALL_DATA} ${WRKSRC}/bindings/c/foundationdb/${i} \
88
		${STAGEDIR}/${PREFIX}/include/foundationdb/
89
.  endfor
90
.  for i in fdb_c_apiversion.g.h fdb_c_options.g.h
91
	${INSTALL_DATA} ${WRKDIR}/.build/bindings/c/foundationdb/${i} \
92
		${STAGEDIR}/${PREFIX}/include/foundationdb/
93
.  endfor
94
	${INSTALL_DATA} ${WRKSRC}/fdbclient/vexillographer/fdb.options \
95
		${STAGEDIR}/${PREFIX}/include/foundationdb/
96
	${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/fdbbackup \
97
		${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent/backup_agent
98
.  for s in fdbbackup fdbrestore fdbdr dr_agent
99
	${RLN} ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent/backup_agent \
100
		${STAGEDIR}${PREFIX}/bin/${s}
101
.  endfor
102
.endif # _CLIENT_ONLY
103
104
.include <bsd.port.mk>
(-)b/databases/foundationdb73-server/distinfo (+3 lines)
Added Link Here
1
TIMESTAMP = 1713035982
2
SHA256 (apple-foundationdb-7.3.37_GH0.tar.gz) = fe35233411daaab8f78bae480dc8ad1c5956fa3a0993c09d4bd0fd79109bd5f0
3
SIZE (apple-foundationdb-7.3.37_GH0.tar.gz) = 13097091
(-)b/databases/foundationdb73-server/files/foundationdb.conf.in (+47 lines)
Added Link Here
1
## foundationdb.conf
2
##
3
## Configuration file for FoundationDB server processes
4
## Full documentation is available at
5
## https://apple.github.io/foundationdb/configuration.html#the-configuration-file
6
7
[fdbmonitor]
8
user = %%FOUNDATIONDB_USER%%
9
group = %%FOUNDATIONDB_GROUP%%
10
11
[general]
12
restart-delay = 60
13
## by default, restart-backoff = restart-delay-reset-interval = restart-delay
14
# initial-restart-delay = 0
15
# restart-backoff = 60
16
# restart-delay-reset-interval = 60
17
cluster-file = %%ETCDIR%%/fdb.cluster
18
# delete-envvars =
19
# kill-on-configuration-change = true
20
21
## Default parameters for individual fdbserver processes
22
[fdbserver]
23
command = %%PREFIX%%/sbin/fdbserver
24
public-address = auto:$ID
25
listen-address = public
26
datadir = %%FOUNDATIONDB_DBDIR%%/data/$ID
27
logdir = %%FOUNDATIONDB_LOGDIR%%
28
# logsize = 10MiB
29
# maxlogssize = 100MiB
30
# machine-id =
31
# datacenter-id =
32
# class = 
33
# memory = 8GiB
34
# storage-memory = 1GiB
35
# cache-memory = 2GiB
36
# metrics-cluster =
37
# metrics-prefix =
38
39
## An individual fdbserver process with id 4500
40
## Parameters set here override defaults from the [fdbserver] section
41
[fdbserver.4500]
42
43
[backup_agent]
44
command = %%PREFIX%%/lib/foundationdb/backup_agent/backup_agent
45
logdir = %%FOUNDATIONDB_LOGDIR%%
46
47
[backup_agent.1]
(-)b/databases/foundationdb73-server/files/foundationdb.in (+42 lines)
Added Link Here
1
#!/bin/sh
2
3
# PROVIDE: foundationdb
4
# REQUIRE: LOGIN
5
# BEFORE:  securelevel
6
# KEYWORD: shutdown
7
8
# Add the following line to /etc/rc.conf to enable `foundationdb':
9
#
10
#foundationdb_enable="YES"
11
#
12
# Define config file here to run with different config file:
13
#
14
#foundationdb_config="xxxxx"
15
#
16
17
. /etc/rc.subr
18
19
name="foundationdb"
20
rcvar="${name}_enable"
21
22
load_rc_config "$name"
23
24
: ${foundationdb_enable="NO"}
25
: ${foundationdb_user="%%FOUNDATIONDB_USER%%"}
26
: ${foundationdb_group="%%FOUNDATIONDB_GROUP%%"}
27
: ${foundationdb_config="%%PREFIX%%/etc/foundationdb/foundationdb.conf"}
28
29
start_precmd="foundationdb_start_precmd"
30
31
pidfile="/var/run/fdbmonitor.pid"
32
command=%%PREFIX%%/sbin/fdbmonitor
33
command_args="--conffile ${foundationdb_config} --lockfile ${pidfile} --daemonize"
34
35
foundationdb_start_precmd()
36
{
37
	if [ ! -e "${pidfile}" ]; then
38
		install -m 0600 -o "${foundationdb_user}" -g "${foundationdb_group}" /dev/null "${pidfile}"
39
	fi
40
}
41
42
run_rc_command $1
(-)b/databases/foundationdb73-server/files/patch-CMakeLists.txt (+15 lines)
Added Link Here
1
--- CMakeLists.txt.orig	2024-01-09 21:06:41 UTC
2
+++ CMakeLists.txt
3
@@ -193,8 +193,10 @@ else()
4
 endif()
5
 add_subdirectory(fdbbackup)
6
 add_subdirectory(metacluster)
7
-add_subdirectory(tests)
8
-add_subdirectory(flowbench EXCLUDE_FROM_ALL)
9
+#add_subdirectory(tests)
10
+if(WITH_FLOWBENCH)
11
+  add_subdirectory(flowbench EXCLUDE_FROM_ALL)
12
+endif()
13
 if(WITH_PYTHON AND WITH_C_BINDING)
14
   add_subdirectory(bindings)
15
 endif()
(-)b/databases/foundationdb73-server/files/patch-bindings_CMakeLists.txt (+11 lines)
Added Link Here
1
--- bindings/CMakeLists.txt.orig	2024-01-09 21:06:41 UTC
2
+++ bindings/CMakeLists.txt
3
@@ -15,7 +15,7 @@ endif()
4
 if(WITH_RUBY_BINDING)
5
   add_subdirectory(ruby)
6
 endif()
7
-if(NOT WIN32 AND NOT OPEN_FOR_IDE)
8
+if(FALSE)
9
   package_bindingtester()
10
   package_bindingtester2()
11
 endif()
(-)b/databases/foundationdb73-server/files/patch-bindings_c_CMakeLists.txt (+64 lines)
Added Link Here
1
--- bindings/c/CMakeLists.txt.orig	2024-01-09 21:06:41 UTC
2
+++ bindings/c/CMakeLists.txt
3
@@ -100,7 +100,7 @@ if(WIN32)
4
 endif()
5
 
6
 # The tests don't build on windows
7
-if(NOT WIN32)
8
+if(FALSE)
9
   set(MAKO_SRCS
10
     test/mako/admin_server.hpp
11
     test/mako/admin_server.cpp
12
@@ -212,7 +212,7 @@ if(NOT WIN32)
13
 
14
   target_include_directories(fdb_c_api_tester_impl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/foundationdb/ ${CMAKE_SOURCE_DIR}/flow/include ${CMAKE_BINARY_DIR}/flow/include)
15
   target_link_libraries(fdb_c_api_tester_impl PRIVATE fdb_cpp toml11_target Threads::Threads fmt::fmt boost_target)
16
-  if(NOT APPLE)
17
+  if(NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang")
18
     target_link_libraries(fdb_c_api_tester_impl PRIVATE stdc++fs)
19
   endif()
20
   target_link_libraries(fdb_c_api_tester_impl PRIVATE SimpleOpt)
21
@@ -439,6 +439,11 @@ elseif(NOT WIN32 AND NOT APPLE) # Linux Only
22
     ${SHIM_LIB_OUTPUT_DIR}/libfdb_c.so.tramp.S)
23
 
24
   set(IMPLIBSO_SRC_DIR ${CMAKE_SOURCE_DIR}/contrib/Implib.so)
25
+
26
+  if(CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64")
27
+    set(CMAKE_SYSTEM_PROCESSOR "x86_64")
28
+  endif()
29
+
30
   set(IMPLIBSO_SRC
31
     ${IMPLIBSO_SRC_DIR}/implib-gen.py
32
     ${IMPLIBSO_SRC_DIR}/arch/common/init.cpp.tpl
33
@@ -464,31 +469,6 @@ elseif(NOT WIN32 AND NOT APPLE) # Linux Only
34
     $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
35
     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
36
     $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/foundationdb>)
37
-
38
-  add_executable(fdb_c_shim_unit_tests)
39
-  target_link_libraries(fdb_c_shim_unit_tests PRIVATE fdb_c_shim fdb_c_unit_tests_impl)
40
-
41
-  add_executable(fdb_c_shim_api_tester)
42
-  target_link_libraries(fdb_c_shim_api_tester PRIVATE fdb_c_shim fdb_c_api_tester_impl)
43
-
44
-  add_executable(fdb_c_shim_lib_tester test/shim_lib_tester.cpp)
45
-  target_link_libraries(fdb_c_shim_lib_tester PRIVATE fdb_c_shim SimpleOpt fdb_cpp Threads::Threads)
46
-  target_include_directories(fdb_c_shim_lib_tester PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/foundationdb/ ${CMAKE_SOURCE_DIR}/flow/include)
47
-
48
-  set(SHIM_LIB_TEST_EXTRA_OPTIONS "")
49
-  if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR USE_SANITIZER)
50
-    list(APPEND SHIM_LIB_TEST_EXTRA_OPTIONS --disable-prev-version-tests)
51
-  endif()  
52
-
53
-  add_python_venv_test(NAME fdb_c_shim_library_tests
54
-    COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/test/fdb_c_shim_tests.py
55
-    --build-dir ${CMAKE_BINARY_DIR}
56
-    --unit-tests-bin $<TARGET_FILE:fdb_c_shim_unit_tests>
57
-    --api-tester-bin $<TARGET_FILE:fdb_c_shim_api_tester>
58
-    --shim-lib-tester-bin $<TARGET_FILE:fdb_c_shim_lib_tester>
59
-    --api-test-dir ${CMAKE_SOURCE_DIR}/bindings/c/test/apitester/tests
60
-    ${SHIM_LIB_TEST_EXTRA_OPTIONS}
61
-    )
62
 
63
 endif() # End Linux only
64
 
(-)b/databases/foundationdb73-server/files/patch-bindings_c_test_apitester_TesterWorkload.cpp (+11 lines)
Added Link Here
1
--- bindings/c/test/apitester/TesterWorkload.cpp.orig	2023-11-07 15:13:56 UTC
2
+++ bindings/c/test/apitester/TesterWorkload.cpp
3
@@ -172,7 +172,7 @@ void WorkloadBase::error(const std::string& msg) {
4
 	fmt::print(stderr, "[{}] ERROR: {}\n", workloadId, msg);
5
 	numErrors++;
6
 	if (numErrors > maxErrors && !failed) {
7
-		fmt::print(stderr, "[{}] ERROR: Stopping workload after {} errors\n", workloadId, numErrors);
8
+		fmt::print(stderr, "[{}] ERROR: Stopping workload after {} errors\n", workloadId, numErrors.load());
9
 		failed = true;
10
 	}
11
 }
(-)b/databases/foundationdb73-server/files/patch-bindings_c_test_mako_mako.cpp (+11 lines)
Added Link Here
1
--- bindings/c/test/mako/mako.cpp.orig	2023-11-07 15:13:56 UTC
2
+++ bindings/c/test/mako/mako.cpp
3
@@ -2378,7 +2378,7 @@ int statsProcessMain(Arguments const& args,
4
 		fmt::fprintf(fp, "\"txntrace\": %d,", args.txntrace);
5
 		fmt::fprintf(fp, "\"txntagging\": %d,", args.txntagging);
6
 		fmt::fprintf(fp, "\"txntagging_prefix\": \"%s\",", args.txntagging_prefix);
7
-		fmt::fprintf(fp, "\"streaming_mode\": %d,", args.streaming_mode);
8
+		fmt::fprintf(fp, "\"streaming_mode\": %d,", static_cast<int>(args.streaming_mode));
9
 		fmt::fprintf(fp, "\"disable_ryw\": %d,", args.disable_ryw);
10
 		fmt::fprintf(fp, "\"transaction_timeout_db\": %d,", args.transaction_timeout_db);
11
 		fmt::fprintf(fp, "\"transaction_timeout_tx\": %d,", args.transaction_timeout_tx);
(-)b/databases/foundationdb73-server/files/patch-cmake_CompileBoost.cmake (+20 lines)
Added Link Here
1
--- cmake/CompileBoost.cmake.orig	2023-06-01 02:57:35 UTC
2
+++ cmake/CompileBoost.cmake
3
@@ -123,7 +123,7 @@ if(USE_SANITIZER)
4
 endif()
5
 
6
 # since boost 1.72 boost installs cmake configs. We will enforce config mode
7
-set(Boost_USE_STATIC_LIBS ON)
8
+set(Boost_USE_STATIC_LIBS OFF)
9
 
10
 # Clang and Gcc will have different name mangling to std::call_once, etc.
11
 if (UNIX AND CMAKE_CXX_COMPILER_ID MATCHES "Clang$")
12
@@ -151,7 +151,7 @@ if(WIN32)
13
   return()
14
 endif()
15
 
16
-find_package(Boost 1.78.0 EXACT QUIET COMPONENTS context filesystem iostreams serialization system CONFIG PATHS ${BOOST_HINT_PATHS})
17
+find_package(Boost 1.78.0 COMPONENTS context filesystem iostreams serialization system CONFIG PATHS ${BOOST_HINT_PATHS})
18
 set(FORCE_BOOST_BUILD OFF CACHE BOOL "Forces cmake to build boost and ignores any installed boost")
19
 
20
 # The precompiled boost silently broke in CI.  While investigating, I considered extending
(-)b/databases/foundationdb73-server/files/patch-cmake_FDBComponents.cmake (+32 lines)
Added Link Here
1
--- cmake/FDBComponents.cmake.orig	2024-01-09 21:06:41 UTC
2
+++ cmake/FDBComponents.cmake
3
@@ -24,7 +24,7 @@ set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
4
 # Statically link OpenSSL to FDB, see
5
 #    https://cmake.org/cmake/help/v3.24/module/FindOpenSSL.html
6
 # Without the flags, OpenSSL is dynamically linked.
7
-set(OPENSSL_USE_STATIC_LIBS TRUE)
8
+set(OPENSSL_USE_STATIC_LIBS FALSE)
9
 if (WIN32)
10
   set(OPENSSL_MSVC_STATIC_RT ON)
11
 endif()
12
@@ -193,6 +193,12 @@ else()
13
 endif()
14
 
15
 ################################################################################
16
+# misc optional components
17
+################################################################################
18
+
19
+set(WITH_FLOWBENCH OFF)
20
+
21
+################################################################################
22
 # Coroutine implementation
23
 ################################################################################
24
 
25
@@ -236,6 +242,7 @@ function(print_components)
26
   message(STATUS "Build Documentation (make html):      ${WITH_DOCUMENTATION}")
27
   message(STATUS "Build Python sdist (make package):    ${WITH_PYTHON_BINDING}")
28
   message(STATUS "Configure CTest (depends on Python):  ${WITH_PYTHON}")
29
+  message(STATUS "Build with FlowBench:                 ${WITH_FLOWBENCH}")
30
   message(STATUS "Build with RocksDB:                   ${WITH_ROCKSDB_EXPERIMENTAL}")
31
   message(STATUS "Build with AWS SDK:                   ${WITH_AWS_BACKUP}")
32
   message(STATUS "=========================================")
(-)b/databases/foundationdb73-server/files/patch-cmake_GetMsgpack.cmake (+17 lines)
Added Link Here
1
--- cmake/GetMsgpack.cmake.orig	2023-09-26 04:25:05 UTC
2
+++ cmake/GetMsgpack.cmake
3
@@ -1,9 +1,13 @@
4
 find_package(msgpack 3.3.0 EXACT QUIET CONFIG)
5
+find_package(msgpackc-cxx 4.0.0...<6 QUIET CONFIG)
6
+find_package(msgpack-cxx 6 QUIET CONFIG)
7
 
8
 add_library(msgpack INTERFACE)
9
 
10
-if(msgpack_FOUND)
11
+if(msgpack_FOUND OR msgpackc-cxx_FOUND)
12
   target_link_libraries(msgpack INTERFACE msgpackc-cxx)
13
+elseif(msgpack-cxx_FOUND)
14
+  target_link_libraries(msgpack INTERFACE msgpack-cxx)
15
 else()
16
   include(ExternalProject)
17
   ExternalProject_add(msgpackProject
(-)b/databases/foundationdb73-server/files/patch-fdbcli_CMakeLists.txt (+11 lines)
Added Link Here
1
--- fdbcli/CMakeLists.txt.orig	2024-01-09 21:06:41 UTC
2
+++ fdbcli/CMakeLists.txt
3
@@ -25,7 +25,7 @@ if(NOT OPEN_FOR_IDE)
4
   endif()
5
 endif()
6
 
7
-if (NOT WIN32 AND NOT OPEN_FOR_IDE)
8
+if(FALSE)
9
   add_dependencies(fdbcli external_client)
10
 
11
   add_fdbclient_test(
(-)b/databases/foundationdb73-server/files/patch-fdbclient_SpecialKeySpace.actor.cpp (+11 lines)
Added Link Here
1
--- fdbclient/SpecialKeySpace.actor.cpp.orig	2023-11-07 15:13:56 UTC
2
+++ fdbclient/SpecialKeySpace.actor.cpp
3
@@ -2996,7 +2996,7 @@ ACTOR Future<Void> validateSpecialSubrangeRead(ReadYou
4
 	// Test
5
 	RangeResult testResult = wait(ryw->getRange(testBegin, testEnd, limits, Snapshot::True, reverse));
6
 	if (testResult != expectedResult) {
7
-		fmt::print("Reverse: {}\n", reverse);
8
+		fmt::print("Reverse: {}\n", static_cast<bool>(reverse));
9
 		fmt::print("Original range: [{}, {})\n", begin.toString(), end.toString());
10
 		fmt::print("Original result:\n");
11
 		for (const auto& kr : result) {
(-)b/databases/foundationdb73-server/files/patch-fdbmonitor_CMakeLists.txt (+8 lines)
Added Link Here
1
--- fdbmonitor/CMakeLists.txt.orig	2024-01-09 21:06:41 UTC
2
+++ fdbmonitor/CMakeLists.txt
3
@@ -62,4 +62,4 @@ endif()
4
 add_custom_target(generate_profile
5
   COMMAND ${CMAKE_BINARY_DIR}/contrib/generate_profile.sh ${CMAKE_BINARY_DIR})
6
 
7
-add_dependencies(generate_profile fdbmonitor fdbserver mako fdbcli)
8
+add_dependencies(generate_profile fdbmonitor fdbserver fdbcli)
(-)b/databases/foundationdb73-server/files/patch-fdbmonitor_fdbmonitor.cpp (+44 lines)
Added Link Here
1
--- fdbmonitor/fdbmonitor.cpp.orig	2024-01-09 21:06:41 UTC
2
+++ fdbmonitor/fdbmonitor.cpp
3
@@ -27,6 +27,8 @@
4
 
5
 #ifdef __linux__
6
 #include <sys/prctl.h>
7
+#elif defined(__FreeBSD__)
8
+#include<sys/procctl.h>
9
 #endif
10
 
11
 #include <sys/wait.h>
12
@@ -758,7 +760,10 @@ void start_process(Command* cmd, ProcessID id, uid_t u
13
 		signal(SIGHUP, SIG_DFL);
14
 		signal(SIGINT, SIG_DFL);
15
 		signal(SIGTERM, SIG_DFL);
16
-
17
+#ifdef __linux__
18
+		signal(SIGCHLD, SIG_DFL);
19
+#endif
20
+		sigprocmask(SIG_SETMASK, mask, nullptr);
21
 		/* All output in this block should be to stdout (for SevInfo messages) or stderr (for SevError messages) */
22
 		/* Using log_msg() or log_err() from the child will cause the logs to be written incorrectly */
23
 		dup2(cmd->pipes[0][1], fileno(stdout));
24
@@ -787,14 +792,16 @@ void start_process(Command* cmd, ProcessID id, uid_t u
25
 		}
26
 
27
 #ifdef __linux__
28
-		signal(SIGCHLD, SIG_DFL);
29
-
30
-		sigprocmask(SIG_SETMASK, mask, nullptr);
31
-
32
 		/* death of our parent raises SIGHUP */
33
 		prctl(PR_SET_PDEATHSIG, SIGHUP);
34
 		if (getppid() == 1) /* parent already died before prctl */
35
 			exit(0);
36
+#elif defined(__FreeBSD__)
37
+		/* death of our parent raises SIGHUP */
38
+		const int sig = SIGHUP;
39
+		procctl(P_PID, 0, PROC_PDEATHSIG_CTL, (void*)&sig);
40
+		if (getppid() == 1) /* parent already died before procctl */
41
+			exit(0);
42
 #endif
43
 
44
 		if (delay)
(-)b/databases/foundationdb73-server/files/patch-fdbserver_BlobWorker.actor.cpp (+33 lines)
Added Link Here
1
--- fdbserver/BlobWorker.actor.cpp.orig	2023-11-07 15:13:56 UTC
2
+++ fdbserver/BlobWorker.actor.cpp
3
@@ -585,8 +585,8 @@ ACTOR Future<Void> updateGranuleSplitState(Transaction
4
 			fmt::print("Updating granule {0} split state from {1} {2} -> {3}\n",
5
 			           currentGranuleID.toString(),
6
 			           parentGranuleID.toString(),
7
-			           currentState,
8
-			           newState);
9
+			           static_cast<int>(currentState),
10
+			           static_cast<int>(newState));
11
 		}
12
 
13
 		Key myStateKey = blobGranuleSplitKeyFor(parentGranuleID, currentGranuleID);
14
@@ -631,8 +631,8 @@ ACTOR Future<Void> updateGranuleSplitState(Transaction
15
 		fmt::print("Ignoring granule {0} split state from {1} {2} -> {3}\n",
16
 		           currentGranuleID.toString(),
17
 		           parentGranuleID.toString(),
18
-		           currentState,
19
-		           newState);
20
+		           static_cast<int>(currentState),
21
+		           static_cast<int>(newState));
22
 	}
23
 
24
 	return Void();
25
@@ -5422,7 +5422,7 @@ ACTOR Future<Void> blobWorkerCore(BlobWorkerInterface 
26
 					           assignReq.keyRange.end.printable(),
27
 					           assignReq.managerEpoch,
28
 					           assignReq.managerSeqno,
29
-					           assignReq.type);
30
+					           static_cast<int>(assignReq.type));
31
 				}
32
 
33
 				if (self->managerEpochOk(assignReq.managerEpoch)) {
(-)b/databases/foundationdb73-server/files/patch-fdbserver_storageserver.actor.cpp (+20 lines)
Added Link Here
1
--- fdbserver/storageserver.actor.cpp.orig	2024-01-09 21:06:41 UTC
2
+++ fdbserver/storageserver.actor.cpp
3
@@ -3615,7 +3615,7 @@ ACTOR Future<std::pair<ChangeFeedStreamReply, bool>> g
4
 			           req.rangeID.printable().substr(0, 6),
5
 			           req.id.toString().substr(0, 8),
6
 			           foundVersion ? "key" : "version",
7
-			           DEBUG_CF_MISSING_VERSION,
8
+			           static_cast<int64_t>(DEBUG_CF_MISSING_VERSION),
9
 			           req.range.begin.printable(),
10
 			           req.range.end.printable(),
11
 			           req.begin,
12
@@ -3635,7 +3635,7 @@ ACTOR Future<std::pair<ChangeFeedStreamReply, bool>> g
13
 			           data->thisServerID.toString().substr(0, 4),
14
 			           req.rangeID.printable().substr(0, 6),
15
 			           req.id.toString().substr(0, 8),
16
-			           DEBUG_CF_MISSING_VERSION,
17
+			           static_cast<int64_t>(DEBUG_CF_MISSING_VERSION),
18
 			           req.range.begin.printable(),
19
 			           req.range.end.printable(),
20
 			           req.begin,
(-)b/databases/foundationdb73-server/files/patch-flow_MkCertCli.cpp (+11 lines)
Added Link Here
1
--- flow/MkCertCli.cpp.orig	2023-11-07 15:13:56 UTC
2
+++ flow/MkCertCli.cpp
3
@@ -216,7 +216,7 @@ int main(int argc, char** argv) {
4
 				fmt::print(stderr, "ERROR: unknown option '{}'\n", args.OptionText());
5
 				return FDB_EXIT_ERROR;
6
 			default:
7
-				fmt::print(stderr, "ERROR: unknown error {} with option '{}'\n", err, args.OptionText());
8
+				fmt::print(stderr, "ERROR: unknown error {} with option '{}'\n", static_cast<int>(err), args.OptionText());
9
 				return FDB_EXIT_ERROR;
10
 			}
11
 		} else {
(-)b/databases/foundationdb73-server/files/patch-flow_Platform.actor.cpp (+21 lines)
Added Link Here
1
--- flow/Platform.actor.cpp.orig	2023-09-26 04:25:05 UTC
2
+++ flow/Platform.actor.cpp
3
@@ -1979,6 +1979,9 @@ std::string epochsToGMTString(double epochs) {
4
 }
5
 
6
 std::vector<std::string> getEnvironmentKnobOptions() {
7
+#if defined(__FreeBSD__)
8
+	extern char** environ;
9
+#endif
10
 	constexpr const size_t ENVKNOB_PREFIX_LEN = sizeof(ENVIRONMENT_KNOB_OPTION_PREFIX) - 1;
11
 	std::vector<std::string> knobOptions;
12
 #if defined(_WIN32)
13
@@ -1994,7 +1997,7 @@ std::vector<std::string> getEnvironmentKnobOptions() {
14
 	}
15
 #else
16
 	char** e = nullptr;
17
-#ifdef __linux__
18
+#if defined(__linux__) || defined(__FreeBSD__)
19
 	e = environ;
20
 #elif defined(__APPLE__)
21
 	e = *_NSGetEnviron();
(-)b/databases/foundationdb73-server/pkg-descr (+8 lines)
Added Link Here
1
FoundationDB is a distributed database designed to handle large volumes of
2
structured data across clusters of commodity servers. It organizes data as an
3
ordered key-value store and employs ACID transactions for all operations. It is
4
especially well-suited for read/write workloads but also has excellent
5
performance for write-intensive workloads. Users interact with the database
6
using API language binding.
7
8
To learn more about FoundationDB, visit https://www.foundationdb.org
(-)b/databases/foundationdb73-server/pkg-plist-client (+16 lines)
Added Link Here
1
bin/dr_agent
2
bin/fdbbackup
3
bin/fdbcli
4
bin/fdbdr
5
bin/fdbrestore
6
include/foundationdb/fdb_c.h
7
include/foundationdb/fdb_c_apiversion.g.h
8
include/foundationdb/fdb_c_internal.h
9
include/foundationdb/fdb_c_options.g.h
10
include/foundationdb/fdb_c_shim.h
11
include/foundationdb/fdb_c_types.h
12
include/foundationdb/fdb.options
13
lib/foundationdb/backup_agent/backup_agent
14
lib/libfdb_c.so
15
lib/libfdb_c_shim.so
16
@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%ETCDIR%%
(-)b/databases/foundationdb73-server/pkg-plist-server (+6 lines)
Added Link Here
1
sbin/fdbmonitor
2
sbin/fdbserver
3
@sample %%ETCDIR%%/foundationdb.conf.sample
4
@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%ETCDIR%%
5
@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%FOUNDATIONDB_DBDIR%%
6
@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%FOUNDATIONDB_LOGDIR%%

Return to bug 277262