diff options
author | Vanilla I. Shu <vanilla@FreeBSD.org> | 2019-04-12 13:04:58 +0000 |
---|---|---|
committer | Vanilla I. Shu <vanilla@FreeBSD.org> | 2019-04-12 13:04:58 +0000 |
commit | 5f0593e970ce542847deaabd7179b6e816f83169 (patch) | |
tree | 9d3ec8187e366ecb394d9820dad5da0cc77204cf /databases/foundationdb | |
parent | c1c546150714fa57efcb4284c8e25c8f8c0d2089 (diff) | |
download | ports-5f0593e970ce542847deaabd7179b6e816f83169.tar.gz ports-5f0593e970ce542847deaabd7179b6e816f83169.zip |
Notes
Diffstat (limited to 'databases/foundationdb')
22 files changed, 161 insertions, 185 deletions
diff --git a/databases/foundationdb/Makefile b/databases/foundationdb/Makefile index c63b3c33fe9e..7e4abcc34dfe 100644 --- a/databases/foundationdb/Makefile +++ b/databases/foundationdb/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= foundationdb -PORTVERSION= 6.0.18 -PORTREVISION= 1 +PORTVERSION= 6.1.1 CATEGORIES= databases MAINTAINER= vanilla@FreeBSD.org @@ -12,7 +11,6 @@ COMMENT= Distributed, transactional key-value store LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE -BROKEN= fails to build with boost 1.70, see bug 236586 ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON= not yet ported to anything other than amd64 diff --git a/databases/foundationdb/distinfo b/databases/foundationdb/distinfo index fbab63a83196..19db601c5020 100644 --- a/databases/foundationdb/distinfo +++ b/databases/foundationdb/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1547178154 -SHA256 (apple-foundationdb-6.0.18_GH0.tar.gz) = d8d0604ccd306e4d52b2a36def27e95504ee7f38a60e75ae16828bdc88ba54a8 -SIZE (apple-foundationdb-6.0.18_GH0.tar.gz) = 4615666 +TIMESTAMP = 1554904793 +SHA256 (apple-foundationdb-6.1.1_GH0.tar.gz) = 20c35b342138e16711d113beb21a32b507ca21ae36f5d701cfa043c82ed67b74 +SIZE (apple-foundationdb-6.1.1_GH0.tar.gz) = 4873842 diff --git a/databases/foundationdb/files/patch-FDBLibTLS_local.mk b/databases/foundationdb/files/patch-FDBLibTLS_local.mk index 5ff1fbcd798a..7b122708c430 100644 --- a/databases/foundationdb/files/patch-FDBLibTLS_local.mk +++ b/databases/foundationdb/files/patch-FDBLibTLS_local.mk @@ -1,10 +1,10 @@ ---- FDBLibTLS/local.mk.orig 2018-09-11 01:21:54 UTC +--- FDBLibTLS/local.mk.orig 2019-04-09 00:11:05 UTC +++ FDBLibTLS/local.mk @@ -23,6 +23,6 @@ FDBLibTLS_BUILD_SOURCES += --FDBLibTLS_CFLAGS := -fPIC -I/usr/local/include -I$(BOOSTDIR) -Iflow -Ifdbrpc -DUSE_UCONTEXT -+FDBLibTLS_CFLAGS := -fPIC -I$(BOOSTDIR)/include -Ifdbrpc -Iflow -DUSE_UCONTEXT +-FDBLibTLS_CFLAGS := -fPIC -I/usr/local/include -I$(BOOSTDIR) -I. -DUSE_UCONTEXT ++FDBLibTLS_CFLAGS := -fPIC -I$(BOOSTDIR)/include -I. -DUSE_UCONTEXT lib/libFDBLibTLS.a: bin/coverage.FDBLibTLS.xml diff --git a/databases/foundationdb/files/patch-Makefile b/databases/foundationdb/files/patch-Makefile index 1348bf944ad9..12c39d7ea2bf 100644 --- a/databases/foundationdb/files/patch-Makefile +++ b/databases/foundationdb/files/patch-Makefile @@ -1,6 +1,6 @@ ---- Makefile.orig 2019-01-09 22:28:32 UTC +--- Makefile.orig 2019-04-09 00:11:05 UTC +++ Makefile -@@ -6,6 +6,8 @@ TOPDIR := $(shell pwd) +@@ -11,6 +11,8 @@ TOPDIR := $(shell pwd) ifeq ($(ARCH),x86_64) ARCH := x64 @@ -9,19 +9,7 @@ else $(error Not prepared to compile on $(ARCH)) endif -@@ -15,11 +17,7 @@ ifeq ($(MONO),) - MONO := /usr/bin/mono - endif - --DMCS := $(shell which dmcs) - MCS := $(shell which mcs) --ifneq ($(DMCS),) -- MCS := $(DMCS) --endif - ifeq ($(MCS),) - MCS := /usr/bin/dmcs - endif -@@ -45,6 +43,15 @@ ifeq ($(PLATFORM),Linux) +@@ -50,6 +52,15 @@ ifeq ($(PLATFORM),Linux) DLEXT := so java_DLEXT := so TARGET_LIBC_VERSION ?= 2.11 @@ -37,16 +25,16 @@ else ifeq ($(PLATFORM),Darwin) PLATFORM := osx -@@ -108,7 +115,7 @@ STATIC_LIBS := +@@ -120,7 +131,7 @@ STATIC_LIBS := VPATH += $(addprefix :,$(filter-out lib,$(patsubst -L%,%,$(filter -L%,$(LDFLAGS))))) CS_PROJECTS := flow/actorcompiler flow/coveragetool fdbclient/vexillographer --CPP_PROJECTS := flow fdbrpc fdbclient fdbbackup fdbserver fdbcli bindings/c bindings/java fdbmonitor bindings/flow/tester bindings/flow FDBLibTLS +-CPP_PROJECTS := flow fdbrpc fdbclient fdbbackup fdbserver fdbcli bindings/c bindings/java fdbmonitor bindings/flow/tester bindings/flow +CPP_PROJECTS := flow fdbrpc fdbclient fdbbackup fdbserver fdbcli bindings/c fdbmonitor bindings/flow/tester bindings/flow - OTHER_PROJECTS := bindings/python bindings/ruby bindings/go - - CS_MK_GENERATED := $(CS_PROJECTS:=/generated.mk) -@@ -117,7 +124,7 @@ CPP_MK_GENERATED := $(CPP_PROJECTS:=/generated.mk) + ifndef TLS_DISABLED + CPP_PROJECTS += FDBLibTLS + endif +@@ -132,7 +143,7 @@ CPP_MK_GENERATED := $(CPP_PROJECTS:=/generated.mk) MK_GENERATED := $(CS_MK_GENERATED) $(CPP_MK_GENERATED) # build/valgrind.mk needs to be included before any _MK_GENERATED (which in turn includes local.mk) @@ -55,7 +43,7 @@ ALL_MAKEFILES := Makefile $(MK_INCLUDE) $(patsubst %/generated.mk,%/local.mk,$(MK_GENERATED)) -@@ -127,7 +134,7 @@ TARGETS = +@@ -142,7 +153,7 @@ TARGETS = default: fdbserver fdbbackup fdbcli fdb_c fdb_python fdb_python_sdist @@ -64,7 +52,7 @@ # These are always defined and ready to use. Any target that uses them and needs them up to date # should depend on versions.target -@@ -149,11 +156,11 @@ Makefiles: $(MK_GENERATED) +@@ -164,11 +175,11 @@ Makefiles: $(MK_GENERATED) $(CS_MK_GENERATED): build/csprojtom4.py build/csproj.mk Makefile @echo "Creating $@" diff --git a/databases/foundationdb/files/patch-fdbbackup_local.mk b/databases/foundationdb/files/patch-fdbbackup_local.mk index 5c350aac8330..f6a883b4e3a6 100644 --- a/databases/foundationdb/files/patch-fdbbackup_local.mk +++ b/databases/foundationdb/files/patch-fdbbackup_local.mk @@ -1,6 +1,6 @@ ---- fdbbackup/local.mk.orig 2018-09-11 01:21:54 UTC +--- fdbbackup/local.mk.orig 2019-04-09 00:11:05 UTC +++ fdbbackup/local.mk -@@ -35,6 +35,8 @@ ifeq ($(PLATFORM),linux) +@@ -34,6 +34,8 @@ ifeq ($(PLATFORM),linux) # fdbbackup_STATIC_LIBS += -ltcmalloc -lunwind -lprofiler else ifeq ($(PLATFORM),osx) fdbbackup_LDFLAGS += -lc++ diff --git a/databases/foundationdb/files/patch-fdbcli_local.mk b/databases/foundationdb/files/patch-fdbcli_local.mk index e8b78d1da51e..05de37f0bbc8 100644 --- a/databases/foundationdb/files/patch-fdbcli_local.mk +++ b/databases/foundationdb/files/patch-fdbcli_local.mk @@ -1,16 +1,7 @@ ---- fdbcli/local.mk.orig 2018-09-11 01:21:54 UTC +--- fdbcli/local.mk.orig 2019-04-09 00:11:05 UTC +++ fdbcli/local.mk -@@ -22,7 +22,7 @@ - - fdbcli_CFLAGS := $(fdbclient_CFLAGS) - fdbcli_LDFLAGS := $(fdbrpc_LDFLAGS) --fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a -ldl $(FDB_TLS_LIB) -+fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a $(FDB_TLS_LIB) - fdbcli_STATIC_LIBS := $(TLS_LIBS) - - fdbcli_GENERATED_SOURCES += versions.h -@@ -32,6 +32,8 @@ ifeq ($(PLATFORM),linux) - fdbcli_LIBS += -lpthread -lrt +@@ -31,9 +31,11 @@ ifeq ($(PLATFORM),linux) + fdbcli_LDFLAGS += -static-libstdc++ -static-libgcc -lpthread -lrt -ldl else ifeq ($(PLATFORM),osx) fdbcli_LDFLAGS += -lc++ +else ifeq ($(PLATFORM),freebsd) @@ -18,3 +9,7 @@ endif test_fdbcli_status: fdbcli +- python scripts/test_status.py ++ $(PYTHON) scripts/test_status.py + + bin/fdbcli.debug: bin/fdbcli diff --git a/databases/foundationdb/files/patch-fdbclient_BlobStore.h b/databases/foundationdb/files/patch-fdbclient_BlobStore.h deleted file mode 100644 index 887998667678..000000000000 --- a/databases/foundationdb/files/patch-fdbclient_BlobStore.h +++ /dev/null @@ -1,11 +0,0 @@ ---- fdbclient/BlobStore.h.orig 2019-02-23 13:23:11 UTC -+++ fdbclient/BlobStore.h -@@ -36,7 +36,7 @@ class BlobStoreEndpoint : public ReferenceCounted<Blob - struct Stats { - Stats() : requests_successful(0), requests_failed(0), bytes_sent(0) {} - Stats operator-(const Stats &rhs); -- void clear() { memset(this, sizeof(*this), 0); } -+ void clear() { memset(this, 0, sizeof(*this)); } - json_spirit::mObject getJSON(); - - int64_t requests_successful; diff --git a/databases/foundationdb/files/patch-fdbmonitor_fdbmonitor.cpp b/databases/foundationdb/files/patch-fdbmonitor_fdbmonitor.cpp index 9619048abadc..69cc268496c4 100644 --- a/databases/foundationdb/files/patch-fdbmonitor_fdbmonitor.cpp +++ b/databases/foundationdb/files/patch-fdbmonitor_fdbmonitor.cpp @@ -1,6 +1,6 @@ ---- fdbmonitor/fdbmonitor.cpp.orig 2019-01-09 22:28:32 UTC +--- fdbmonitor/fdbmonitor.cpp.orig 2019-04-09 00:11:05 UTC +++ fdbmonitor/fdbmonitor.cpp -@@ -35,6 +35,10 @@ +@@ -37,6 +37,10 @@ #include <linux/limits.h> #endif @@ -11,7 +11,7 @@ #ifdef __APPLE__ #include <sys/event.h> #include <mach/mach.h> -@@ -72,7 +76,7 @@ +@@ -77,7 +81,7 @@ #ifdef __linux__ typedef fd_set* fdb_fd_set; @@ -20,7 +20,7 @@ typedef int fdb_fd_set; #endif -@@ -83,7 +87,7 @@ void monitor_fd( fdb_fd_set list, int fd, int* maxfd, +@@ -88,7 +92,7 @@ void monitor_fd( fdb_fd_set list, int fd, int* maxfd, FD_SET( fd, list ); if ( fd > *maxfd ) *maxfd = fd; @@ -29,7 +29,7 @@ /* ignore maxfd */ struct kevent ev; EV_SET( &ev, fd, EVFILT_READ, EV_ADD, 0, 0, cmd ); -@@ -94,7 +98,7 @@ void monitor_fd( fdb_fd_set list, int fd, int* maxfd, +@@ -99,7 +103,7 @@ void monitor_fd( fdb_fd_set list, int fd, int* maxfd, void unmonitor_fd( fdb_fd_set list, int fd ) { #ifdef __linux__ FD_CLR( fd, list ); @@ -38,7 +38,7 @@ struct kevent ev; EV_SET( &ev, fd, EVFILT_READ, EV_DELETE, 0, 0, NULL ); kevent( list, &ev, 1, NULL, 0, NULL ); // FIXME: check? -@@ -188,7 +192,7 @@ const char* get_value_multi(const CSimpleIni& ini, con +@@ -193,7 +197,7 @@ const char* get_value_multi(const CSimpleIni& ini, con } double timer() { @@ -47,7 +47,7 @@ struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); return double(ts.tv_sec) + (ts.tv_nsec * 1e-9); -@@ -824,7 +828,7 @@ void read_child_output( Command* cmd, int pipe_idx, fd +@@ -912,7 +916,7 @@ void read_child_output( Command* cmd, int pipe_idx, fd } } @@ -56,16 +56,16 @@ void watch_conf_dir( int kq, int* confd_fd, std::string confdir ) { struct kevent ev; std::string original = confdir; -@@ -841,7 +845,7 @@ void watch_conf_dir( int kq, int* confd_fd, std::strin +@@ -929,7 +933,7 @@ void watch_conf_dir( int kq, int* confd_fd, std::strin std::string child = confdir; /* Find the nearest existing ancestor */ - while( (*confd_fd = open( confdir.c_str(), O_EVTONLY )) < 0 && errno == ENOENT ) { + while( (*confd_fd = open( confdir.c_str(), O_RDONLY )) < 0 && errno == ENOENT ) { child = confdir; - confdir = parentDirectory(confdir); + confdir = parentDirectory(confdir, false); } -@@ -878,7 +882,7 @@ void watch_conf_file( int kq, int* conff_fd, const cha +@@ -966,7 +970,7 @@ void watch_conf_file( int kq, int* conff_fd, const cha } /* Open and watch */ @@ -74,16 +74,16 @@ if ( *conff_fd >= 0 ) { EV_SET( &ev, *conff_fd, EVFILT_VNODE, EV_ADD | EV_CLEAR, NOTE_WRITE | NOTE_ATTRIB, 0, NULL ); kevent( kq, &ev, 1, NULL, 0, NULL ); -@@ -985,7 +989,7 @@ std::unordered_map<int, std::unordered_set<std::string +@@ -1170,7 +1174,7 @@ int main(int argc, char** argv) { + // testPathOps(); return -1; - int main(int argc, char** argv) { std::string lockfile = "/var/run/fdbmonitor.pid"; - std::string _confpath = "/etc/foundationdb/foundationdb.conf"; + std::string _confpath = std::string(PREFIX) + "/etc/foundationdb/foundationdb.conf"; std::vector<const char *> additional_watch_paths; -@@ -1067,7 +1071,7 @@ int main(int argc, char** argv) { +@@ -1252,7 +1256,7 @@ int main(int argc, char** argv) { /* only linux needs this, but... */ int maxfd = 0; @@ -92,7 +92,7 @@ fd_set rfds; watched_fds = &rfds; -@@ -1082,12 +1086,12 @@ int main(int argc, char** argv) { +@@ -1267,12 +1271,12 @@ int main(int argc, char** argv) { CSimpleIniA* ini = NULL; if (daemonize) { @@ -107,7 +107,7 @@ #pragma GCC diagnostic pop #endif log_err("daemon", errno, "Unable to daemonize"); -@@ -1140,12 +1144,12 @@ int main(int argc, char** argv) { +@@ -1325,12 +1329,12 @@ int main(int argc, char** argv) { snprintf(pid_buf, sizeof(pid_buf), "%d\n", getpid()); ssize_t ign = write(lockfile_fd, pid_buf, strlen(pid_buf)); @@ -122,7 +122,7 @@ int kq = kqueue(); if ( kq < 0 ) { log_err( "kqueue", errno, "Unable to create kqueue" ); -@@ -1176,7 +1180,7 @@ int main(int argc, char** argv) { +@@ -1361,7 +1365,7 @@ int main(int argc, char** argv) { #endif @@ -131,7 +131,7 @@ signal(SIGCHLD, child_handler); #endif -@@ -1190,11 +1194,11 @@ int main(int argc, char** argv) { +@@ -1375,11 +1379,11 @@ int main(int argc, char** argv) { /* normal will be restored in our main loop in the call to pselect, but none blocks all signals while processing events */ sigprocmask(SIG_SETMASK, &full_mask, &normal_mask); @@ -145,7 +145,7 @@ struct stat st_buf; struct timespec mtimespec; -@@ -1253,7 +1257,7 @@ int main(int argc, char** argv) { +@@ -1438,7 +1442,7 @@ int main(int argc, char** argv) { load_conf(confpath.c_str(), uid, gid, &normal_mask, &rfds, &maxfd); reload_additional_watches = false; @@ -154,7 +154,7 @@ load_conf( confpath.c_str(), uid, gid, &normal_mask, watched_fds, &maxfd ); watch_conf_file( kq, &conff_fd, confpath.c_str() ); watch_conf_dir( kq, &confd_fd, confdir ); -@@ -1291,7 +1295,7 @@ int main(int argc, char** argv) { +@@ -1476,7 +1480,7 @@ int main(int argc, char** argv) { if(nfds == 0) { reload = true; } diff --git a/databases/foundationdb/files/patch-fdbrpc_AsyncFileCached.actor.cpp b/databases/foundationdb/files/patch-fdbrpc_AsyncFileCached.actor.cpp index 4e726d93290a..2b553e174bb3 100644 --- a/databases/foundationdb/files/patch-fdbrpc_AsyncFileCached.actor.cpp +++ b/databases/foundationdb/files/patch-fdbrpc_AsyncFileCached.actor.cpp @@ -1,4 +1,4 @@ ---- fdbrpc/AsyncFileCached.actor.cpp.orig 2018-05-30 22:33:28 UTC +--- fdbrpc/AsyncFileCached.actor.cpp.orig 2019-04-09 00:11:05 UTC +++ fdbrpc/AsyncFileCached.actor.cpp @@ -31,7 +31,7 @@ EvictablePage::~EvictablePage() { if (pageCache->pageSize == 4096) @@ -9,3 +9,12 @@ } if (index > -1) { pageCache->pages[index] = pageCache->pages.back(); +@@ -155,7 +155,7 @@ void AsyncFileCached::releaseZeroCopy( void* data, int + if (length == 4096) + FastAllocator<4096>::release(data); + else +- aligned_free(data); ++ free(data); + } + } + else { diff --git a/databases/foundationdb/files/patch-fdbrpc_IAsyncFile.actor.cpp b/databases/foundationdb/files/patch-fdbrpc_IAsyncFile.actor.cpp index 12f943787ec0..c7eb47031e31 100644 --- a/databases/foundationdb/files/patch-fdbrpc_IAsyncFile.actor.cpp +++ b/databases/foundationdb/files/patch-fdbrpc_IAsyncFile.actor.cpp @@ -1,7 +1,7 @@ ---- fdbrpc/IAsyncFile.actor.cpp.orig 2019-01-09 22:28:32 UTC +--- fdbrpc/IAsyncFile.actor.cpp.orig 2019-04-09 00:11:05 UTC +++ fdbrpc/IAsyncFile.actor.cpp -@@ -42,7 +42,7 @@ ACTOR static Future<Void> zeroRangeHelper( Reference<I - Void _ = wait( yield() ); +@@ -43,7 +43,7 @@ ACTOR static Future<Void> zeroRangeHelper( Reference<I + wait( yield() ); } - aligned_free(zeros); diff --git a/databases/foundationdb/files/patch-fdbrpc_local.mk b/databases/foundationdb/files/patch-fdbrpc_local.mk index 54fc22d33d0b..ac7edf336142 100644 --- a/databases/foundationdb/files/patch-fdbrpc_local.mk +++ b/databases/foundationdb/files/patch-fdbrpc_local.mk @@ -1,4 +1,4 @@ ---- fdbrpc/local.mk.orig 2018-04-19 02:55:50 UTC +--- fdbrpc/local.mk.orig 2019-04-09 00:11:05 UTC +++ fdbrpc/local.mk @@ -20,10 +20,11 @@ @@ -7,9 +7,9 @@ -fdbrpc_BUILD_SOURCES += fdbrpc/libeio/eio.c +#fdbrpc_BUILD_SOURCES += fdbrpc/libeio/eio.c --fdbrpc_CFLAGS := -I$(BOOSTDIR) -I. -Ifdbrpc -Ifdbrpc/libeio -DUSE_UCONTEXT +-fdbrpc_CFLAGS := -I$(BOOSTDIR) -I. -Ifdbrpc/libeio -DUSE_UCONTEXT -fdbrpc_LDFLAGS := -+fdbrpc_CFLAGS := -I$(BOOSTDIR)/include -I. -Ifdbrpc -Ifdbrpc/libeio -DUSE_UCONTEXT ++fdbrpc_CFLAGS := -I$(BOOSTDIR)/include -I. -DUSE_UCONTEXT +fdbrpc_LDFLAGS := -L$(BOOSTDIR)/lib +fdbrpc_LIBS := -lm -lc++ -lpthread -leio -lboost_system diff --git a/databases/foundationdb/files/patch-fdbserver_fdbserver.actor.cpp b/databases/foundationdb/files/patch-fdbserver_fdbserver.actor.cpp index 11799208b12e..079821f11340 100644 --- a/databases/foundationdb/files/patch-fdbserver_fdbserver.actor.cpp +++ b/databases/foundationdb/files/patch-fdbserver_fdbserver.actor.cpp @@ -1,37 +1,29 @@ ---- fdbserver/fdbserver.actor.cpp.orig 2019-01-09 22:28:32 UTC +--- fdbserver/fdbserver.actor.cpp.orig 2019-04-09 00:11:05 UTC +++ fdbserver/fdbserver.actor.cpp @@ -60,7 +60,7 @@ - #define BOOST_DATE_TIME_NO_LIB - #include <boost/interprocess/managed_shared_memory.hpp> + #include "versions.h" + #endif -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) #include <execinfo.h> #include <signal.h> #ifdef ALLOC_INSTRUMENTATION -@@ -73,6 +73,7 @@ - #endif - - #include "flow/SimpleOpt.h" -+#include <fstream> - - enum { - OPT_CONNFILE, OPT_SEEDCONNFILE, OPT_SEEDCONNSTRING, OPT_ROLE, OPT_LISTEN, OPT_PUBLICADDR, OPT_DATAFOLDER, OPT_LOGFOLDER, OPT_PARENTPID, OPT_NEWCONSOLE, OPT_NOBOX, OPT_TESTFILE, OPT_RESTARTING, OPT_RANDOMSEED, OPT_KEY, OPT_MEMLIMIT, OPT_STORAGEMEMLIMIT, OPT_MACHINEID, OPT_DCID, OPT_MACHINE_CLASS, OPT_BUGGIFY, OPT_VERSION, OPT_CRASHONERROR, OPT_HELP, OPT_NETWORKIMPL, OPT_NOBUFSTDOUT, OPT_BUFSTDOUTERR, OPT_TRACECLOCK, OPT_NUMTESTERS, OPT_DEVHELP, OPT_ROLLSIZE, OPT_MAXLOGS, OPT_MAXLOGSSIZE, OPT_KNOB, OPT_TESTSERVERS, OPT_TEST_ON_SERVERS, OPT_METRICSCONNFILE, OPT_METRICSPREFIX, -@@ -353,7 +354,7 @@ class WorldReadablePermissions { (public) +@@ -288,7 +288,7 @@ class WorldReadablePermissions { (public) throw platform_error(); } permission.set_permissions( &sa ); -#elif (defined(__linux__) || defined(__APPLE__)) -+#elif (defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)) ++#elif (defined(__linux__) || defined(__APPLE__)) || defined(__FreeBSD__) // There is nothing to do here, since the default permissions are fine #else #error Port me! -@@ -363,7 +364,7 @@ class WorldReadablePermissions { (public) +@@ -298,7 +298,7 @@ class WorldReadablePermissions { (public) virtual ~WorldReadablePermissions() { #ifdef _WIN32 LocalFree( sa.lpSecurityDescriptor ); -#elif (defined(__linux__) || defined(__APPLE__)) -+#elif (defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)) ++#elif (defined(__linux__) || defined(__APPLE__)) || defined(__FreeBSD__) // There is nothing to do here, since the default permissions are fine #else #error Port me! diff --git a/databases/foundationdb/files/patch-fdbserver_local.mk b/databases/foundationdb/files/patch-fdbserver_local.mk index 0bfe9eb2c189..e8e377ff7de4 100644 --- a/databases/foundationdb/files/patch-fdbserver_local.mk +++ b/databases/foundationdb/files/patch-fdbserver_local.mk @@ -1,6 +1,6 @@ ---- fdbserver/local.mk.orig 2018-09-11 01:21:54 UTC +--- fdbserver/local.mk.orig 2019-04-09 00:11:05 UTC +++ fdbserver/local.mk -@@ -35,6 +35,8 @@ ifeq ($(PLATFORM),linux) +@@ -34,6 +34,8 @@ ifeq ($(PLATFORM),linux) # fdbserver_STATIC_LIBS += -ltcmalloc -lunwind -lprofiler else ifeq ($(PLATFORM),osx) fdbserver_LDFLAGS += -lc++ diff --git a/databases/foundationdb/files/patch-fdbserver_worker.actor.cpp b/databases/foundationdb/files/patch-fdbserver_worker.actor.cpp index 3530b30f7824..aa1d330917de 100644 --- a/databases/foundationdb/files/patch-fdbserver_worker.actor.cpp +++ b/databases/foundationdb/files/patch-fdbserver_worker.actor.cpp @@ -1,6 +1,6 @@ ---- fdbserver/worker.actor.cpp.orig 2019-01-09 22:28:32 UTC +--- fdbserver/worker.actor.cpp.orig 2019-04-09 00:11:05 UTC +++ fdbserver/worker.actor.cpp -@@ -39,7 +39,7 @@ +@@ -41,7 +41,7 @@ #include "fdbclient/ClientWorkerInterface.h" #include "flow/Profiler.h" @@ -9,7 +9,7 @@ #ifdef USE_GPERFTOOLS #include "gperftools/profiler.h" #endif -@@ -272,7 +272,7 @@ ACTOR Future<Void> registrationClient( Reference<Async +@@ -373,7 +373,7 @@ ACTOR Future<Void> registrationClient( } } @@ -18,7 +18,7 @@ //A set of threads that should be profiled std::set<std::thread::id> profiledThreads; -@@ -284,7 +284,7 @@ int filter_in_thread(void *arg) { +@@ -385,7 +385,7 @@ int filter_in_thread(void *arg) { //Enables the calling thread to be profiled void registerThreadForProfiling() { @@ -27,7 +27,7 @@ //Not sure if this is actually needed, but a call to backtrace was advised here: //http://groups.google.com/group/google-perftools/browse_thread/thread/0dfd74532e038eb8/2686d9f24ac4365f?pli=1 profiledThreads.insert(std::this_thread::get_id()); -@@ -298,7 +298,7 @@ void registerThreadForProfiling() { +@@ -399,7 +399,7 @@ void registerThreadForProfiling() { void updateCpuProfiler(ProfilerRequest req) { switch (req.type) { case ProfilerRequest::Type::GPROF: diff --git a/databases/foundationdb/files/patch-flow_Deque.h b/databases/foundationdb/files/patch-flow_Deque.h index 5e146f57b007..d8c44c2229d4 100644 --- a/databases/foundationdb/files/patch-flow_Deque.h +++ b/databases/foundationdb/files/patch-flow_Deque.h @@ -1,6 +1,6 @@ ---- flow/Deque.h.orig 2019-01-09 22:28:32 UTC +--- flow/Deque.h.orig 2019-04-09 00:11:05 UTC +++ flow/Deque.h -@@ -166,7 +166,7 @@ class Deque { (private) +@@ -168,7 +168,7 @@ class Deque { (private) new (&newArr[i - begin]) T(std::move(arr[i&mask])); arr[i&mask].~T(); } @@ -9,7 +9,7 @@ arr = newArr; end -= begin; begin = 0; -@@ -177,8 +177,8 @@ class Deque { (private) +@@ -179,7 +179,7 @@ class Deque { (private) for (int i = begin; i != end; i++) arr[i&mask].~T(); if(arr) @@ -18,6 +18,3 @@ } }; --#endif -\ No newline at end of file -+#endif diff --git a/databases/foundationdb/files/patch-flow_FastAlloc.cpp b/databases/foundationdb/files/patch-flow_FastAlloc.cpp index 7cffa1d152e0..098ec8621d09 100644 --- a/databases/foundationdb/files/patch-flow_FastAlloc.cpp +++ b/databases/foundationdb/files/patch-flow_FastAlloc.cpp @@ -1,6 +1,6 @@ ---- flow/FastAlloc.cpp.orig 2018-04-22 14:45:22 UTC +--- flow/FastAlloc.cpp.orig 2019-04-09 00:11:05 UTC +++ flow/FastAlloc.cpp -@@ -51,6 +51,9 @@ +@@ -53,6 +53,9 @@ #elif defined(__APPLE__) #pragma message "init_priority is not supported on this platform; will this be a problem?" #define INIT_SEG diff --git a/databases/foundationdb/files/patch-flow_Net2.actor.cpp b/databases/foundationdb/files/patch-flow_Net2.actor.cpp index fa8da1eb24a6..7c087a89c581 100644 --- a/databases/foundationdb/files/patch-flow_Net2.actor.cpp +++ b/databases/foundationdb/files/patch-flow_Net2.actor.cpp @@ -1,11 +1,33 @@ ---- flow/Net2.actor.cpp.orig 2019-01-09 22:28:32 UTC +--- flow/Net2.actor.cpp.orig 2019-04-09 00:11:05 UTC +++ flow/Net2.actor.cpp -@@ -56,7 +56,7 @@ uint64_t compatibleProtocolVersionMask = 0xfffffffffff - uint64_t minValidProtocolVersion = 0x0FDB00A200060001LL; - +@@ -62,7 +62,7 @@ const uint64_t minValidProtocolVersion = 0x0FDB0 + // This assert is intended to help prevent incrementing the leftmost digits accidentally. It will probably need to change when we reach version 10. + static_assert(currentProtocolVersion < 0x0FDB00B100000000LL, "Unexpected protocol version"); -#if defined(__linux__) +#if defined(__linux__) || defined(__FreeBSD__) #include <execinfo.h> volatile double net2liveness = 0; +@@ -437,6 +437,12 @@ class Connection : public IConnection, ReferenceCounte + } + }; + ++#if BOOST_VERSION >= 107000 ++#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context()) ++#else ++#define GET_IO_SERVICE(s) ((s).get_io_service()) ++#endif ++ + class Listener : public IListener, ReferenceCounted<Listener> { + NetworkAddress listenAddress; + tcp::acceptor acceptor; +@@ -459,7 +465,7 @@ class Listener : public IListener, ReferenceCounted<Li + + private: + ACTOR static Future<Reference<IConnection>> doAccept( Listener* self ) { +- state Reference<Connection> conn( new Connection( self->acceptor.get_io_service() ) ); ++ state Reference<Connection> conn( new Connection( GET_IO_SERVICE(self->acceptor) ) ); + state tcp::acceptor::endpoint_type peer_endpoint; + try { + BindPromise p("N2_AcceptError", UID()); diff --git a/databases/foundationdb/files/patch-flow_Platform.cpp b/databases/foundationdb/files/patch-flow_Platform.cpp index 5d08110a2a21..4603a351860c 100644 --- a/databases/foundationdb/files/patch-flow_Platform.cpp +++ b/databases/foundationdb/files/patch-flow_Platform.cpp @@ -1,6 +1,6 @@ ---- flow/Platform.cpp.orig 2019-01-09 22:28:32 UTC +--- flow/Platform.cpp.orig 2019-04-09 00:11:05 UTC +++ flow/Platform.cpp -@@ -71,6 +71,7 @@ +@@ -72,6 +72,7 @@ #include <dirent.h> #include <sys/time.h> @@ -8,7 +8,7 @@ #include <sys/mman.h> #include <unistd.h> #include <ftw.h> -@@ -119,7 +120,13 @@ +@@ -122,7 +123,13 @@ #include <IOKit/IOBSD.h> #endif @@ -22,7 +22,7 @@ std::string removeWhitespace(const std::string &t) { -@@ -198,7 +205,7 @@ double getProcessorTimeThread() { +@@ -201,7 +208,7 @@ double getProcessorTimeThread() { throw platform_error(); } return FiletimeAsInt64(ftKernel) / double(1e7) + FiletimeAsInt64(ftUser) / double(1e7); @@ -31,7 +31,7 @@ return getProcessorTimeGeneric(RUSAGE_THREAD); #elif defined(__APPLE__) /* No RUSAGE_THREAD so we use the lower level interface */ -@@ -266,6 +273,14 @@ uint64_t getResidentMemoryUsage() { +@@ -269,6 +276,14 @@ uint64_t getResidentMemoryUsage() { throw platform_error(); } return info.resident_size; @@ -41,12 +41,12 @@ + if (getrusage(RUSAGE_SELF | RUSAGE_THREAD, &rusage) == 0) { + return rusage.ru_maxrss; + } -+ ++ + return 0; #else #warning getMemoryUsage unimplemented on this platform return 0; -@@ -304,7 +319,7 @@ uint64_t getMemoryUsage() { +@@ -307,7 +322,7 @@ uint64_t getMemoryUsage() { } return info.virtual_size; #else @@ -55,7 +55,7 @@ return 0; #endif } -@@ -427,6 +442,24 @@ void getMachineRAMInfo(MachineRAMInfo& memInfo) { +@@ -430,6 +445,24 @@ void getMachineRAMInfo(MachineRAMInfo& memInfo) { memInfo.total = pagesize * (vm_stat.free_count + vm_stat.active_count + vm_stat.inactive_count + vm_stat.wire_count); memInfo.available = pagesize * vm_stat.free_count; memInfo.committed = memInfo.total - memInfo.available; @@ -80,7 +80,7 @@ #else #warning getMachineRAMInfo unimplemented on this platform #endif -@@ -451,7 +484,7 @@ Error systemErrorCodeToError() { +@@ -454,7 +487,7 @@ Error systemErrorCodeToError() { void getDiskBytes(std::string const& directory, int64_t& free, int64_t& total) { INJECT_FAULT( platform_error, "getDiskBytes" ); #if defined(__unixish__) @@ -89,29 +89,20 @@ struct statvfs buf; if (statvfs(directory.c_str(), &buf)) { Error e = systemErrorCodeToError(); -@@ -497,7 +530,7 @@ void getDiskBytes(std::string const& directory, int64_ - #endif - } - --#ifdef __unixish__ -+#if defined(__linux__) || defined(__APPLE__) - const char* getInterfaceName(uint32_t _ip) { - INJECT_FAULT( platform_error, "getInterfaceName" ); - static char iname[20]; -@@ -744,6 +777,30 @@ dev_t getDeviceId(std::string path) { +@@ -753,6 +786,30 @@ dev_t getDeviceId(std::string path) { #endif +#ifdef __FreeBSD__ -+void getNetworkTraffic(uint32_t ip, uint64_t& bytesSent, uint64_t& bytesReceived, -+ uint64_t& outSegs, uint64_t& retransSegs) { ++void getNetworkTraffic(const IPAddress &ip, uint64_t& bytesSent, uint64_t& bytesReceived, uint64_t& outSegs, ++ uint64_t& retransSegs) { + bytesReceived = 0; + bytesSent = 0; + outSegs = 0; + retransSegs = 0; +} + -+void getMachineLoad(uint64_t& idleTime, uint64_t& totalTime) { ++void getMachineLoad(uint64_t& idleTime, uint64_t& totalTime, bool logDetails) { + idleTime = 0; + totalTime = 0; +} @@ -127,9 +118,9 @@ +#endif + #ifdef __APPLE__ - void getNetworkTraffic(uint32_t ip, uint64_t& bytesSent, uint64_t& bytesReceived, - uint64_t& outSegs, uint64_t& retransSegs) { -@@ -1268,7 +1325,7 @@ struct OffsetTimer { + void getNetworkTraffic(const IPAddress& ip, uint64_t& bytesSent, uint64_t& bytesReceived, uint64_t& outSegs, + uint64_t& retransSegs) { +@@ -1277,7 +1334,7 @@ struct OffsetTimer { return offset + count * secondsPerCount; } }; @@ -138,7 +129,7 @@ #define DOUBLETIME(ts) (double(ts.tv_sec) + (ts.tv_nsec * 1e-9)) #ifndef CLOCK_MONOTONIC_RAW #define CLOCK_MONOTONIC_RAW 4 // Confirmed safe to do with glibc >= 2.11 and kernel >= 2.6.28. No promises with older glibc. Older kernel definitely breaks it. -@@ -1333,7 +1390,7 @@ double timer() { +@@ -1342,7 +1399,7 @@ double timer() { GetSystemTimeAsFileTime(&fileTime); static_assert( sizeof(fileTime) == sizeof(uint64_t), "FILETIME size wrong" ); return (*(uint64_t*)&fileTime - FILETIME_C_EPOCH) * 100e-9; @@ -147,7 +138,7 @@ struct timespec ts; clock_gettime(CLOCK_REALTIME, &ts); return double(ts.tv_sec) + (ts.tv_nsec * 1e-9); -@@ -1353,7 +1410,7 @@ uint64_t timer_int() { +@@ -1362,7 +1419,7 @@ uint64_t timer_int() { GetSystemTimeAsFileTime(&fileTime); static_assert( sizeof(fileTime) == sizeof(uint64_t), "FILETIME size wrong" ); return (*(uint64_t*)&fileTime - FILETIME_C_EPOCH); @@ -156,16 +147,26 @@ struct timespec ts; clock_gettime(CLOCK_REALTIME, &ts); return uint64_t(ts.tv_sec) * 1e9 + ts.tv_nsec; -@@ -1502,7 +1559,7 @@ static void *allocateInternal(size_t length, bool larg +@@ -1412,7 +1469,7 @@ void setMemoryQuota( size_t limit ) { + } + if (!AssignProcessToJobObject( job, GetCurrentProcess() )) + TraceEvent(SevWarn, "FailedToSetMemoryLimit").GetLastError(); +-#elif defined(__linux__) ++#elif defined(__linux__) || defined(__FreeBSD__) + struct rlimit rlim; + if (getrlimit(RLIMIT_AS, &rlim)) { + TraceEvent(SevError, "GetMemoryLimit").GetLastError(); +@@ -1515,7 +1572,8 @@ static void *allocateInternal(size_t length, bool larg flags |= MAP_HUGETLB; return mmap(NULL, length, PROT_READ|PROT_WRITE, flags, -1, 0); -#elif defined(__APPLE__) +#elif defined(__APPLE__) || defined(__FreeBSD__) ++ int flags = MAP_PRIVATE|MAP_ANON; return mmap(NULL, length, PROT_READ|PROT_WRITE, flags, -1, 0); -@@ -1576,6 +1633,11 @@ void setAffinity(int proc) { +@@ -1589,6 +1647,11 @@ void setAffinity(int proc) { CPU_ZERO(&set); CPU_SET(proc, &set); sched_setaffinity(0, sizeof(cpu_set_t), &set); @@ -177,7 +178,7 @@ #endif } -@@ -1636,7 +1698,7 @@ void renameFile( std::string const& fromPath, std::str +@@ -1649,7 +1712,7 @@ void renameFile( std::string const& fromPath, std::str //renamedFile(); return; } @@ -186,7 +187,7 @@ if (!rename( fromPath.c_str(), toPath.c_str() )) { //FIXME: We cannot inject faults after renaming the file, because we could end up with two asyncFileNonDurable open for the same file //renamedFile(); -@@ -1759,7 +1821,7 @@ bool createDirectory( std::string const& directory ) { +@@ -1807,7 +1870,7 @@ bool createDirectory( std::string const& directory ) { Error e = systemErrorCodeToError(); TraceEvent(SevError, "CreateDirectory").detail("Directory", directory).GetLastError().error(e); throw e; @@ -195,16 +196,16 @@ size_t sep = 0; do { sep = directory.find_first_of('/', sep + 1); -@@ -1804,7 +1866,7 @@ std::string abspath( std::string const& filename ) { +@@ -1959,7 +2022,7 @@ std::string abspath( std::string const& path, bool res if (*x == '/') *x = CANONICAL_PATH_SEPARATOR; return nameBuffer; -#elif (defined(__linux__) || defined(__APPLE__)) +#elif (defined(__linux__) || defined(__APPLE__)) || defined(__FreeBSD__) + char result[PATH_MAX]; - auto r = realpath( filename.c_str(), result ); - if (!r) { -@@ -1870,7 +1932,7 @@ std::string getUserHomeDirectory() { + // Must resolve links, so first try realpath on the whole thing +@@ -2023,7 +2086,7 @@ std::string getUserHomeDirectory() { #ifdef _WIN32 #define FILE_ATTRIBUTE_DATA DWORD @@ -213,7 +214,7 @@ #define FILE_ATTRIBUTE_DATA mode_t #else #error Port me! -@@ -1879,7 +1941,7 @@ std::string getUserHomeDirectory() { +@@ -2032,7 +2095,7 @@ std::string getUserHomeDirectory() { bool acceptFile( FILE_ATTRIBUTE_DATA fileAttributes, std::string name, std::string extension ) { #ifdef _WIN32 return !(fileAttributes & FILE_ATTRIBUTE_DIRECTORY) && StringRef(name).endsWith(extension); @@ -222,7 +223,7 @@ return S_ISREG(fileAttributes) && StringRef(name).endsWith(extension); #else #error Port me! -@@ -1889,7 +1951,7 @@ bool acceptFile( FILE_ATTRIBUTE_DATA fileAttributes, s +@@ -2042,7 +2105,7 @@ bool acceptFile( FILE_ATTRIBUTE_DATA fileAttributes, s bool acceptDirectory( FILE_ATTRIBUTE_DATA fileAttributes, std::string name, std::string extension ) { #ifdef _WIN32 return (fileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0; @@ -231,7 +232,7 @@ return S_ISDIR(fileAttributes); #else #error Port me! -@@ -1925,7 +1987,7 @@ std::vector<std::string> findFiles( std::string const& +@@ -2078,7 +2141,7 @@ std::vector<std::string> findFiles( std::string const& } FindClose(h); } @@ -240,7 +241,7 @@ DIR *dip; if ((dip = opendir(directory.c_str())) != NULL) { -@@ -1989,7 +2051,7 @@ void findFilesRecursively(std::string path, std::vecto +@@ -2142,7 +2205,7 @@ void findFilesRecursively(std::string path, std::vecto void threadSleep( double seconds ) { #ifdef _WIN32 Sleep( (DWORD)(seconds * 1e3) ); @@ -249,7 +250,7 @@ struct timespec req, rem; req.tv_sec = seconds; -@@ -2027,7 +2089,7 @@ void makeTemporary( const char* filename ) { +@@ -2180,7 +2243,7 @@ void makeTemporary( const char* filename ) { THREAD_HANDLE startThread(void (*func) (void *), void *arg) { return (void *)_beginthread(func, 0, arg); } @@ -258,7 +259,7 @@ THREAD_HANDLE startThread(void *(*func) (void *), void *arg) { pthread_t t; pthread_create(&t, NULL, func, arg); -@@ -2040,7 +2102,7 @@ THREAD_HANDLE startThread(void *(*func) (void *), void +@@ -2193,7 +2256,7 @@ THREAD_HANDLE startThread(void *(*func) (void *), void void waitThread(THREAD_HANDLE thread) { #ifdef _WIN32 WaitForSingleObject(thread, INFINITE); @@ -267,7 +268,7 @@ pthread_join(thread, NULL); #else #error Port me! -@@ -2082,7 +2144,7 @@ int64_t fileSize(std::string const& filename) { +@@ -2235,7 +2298,7 @@ int64_t fileSize(std::string const& filename) { return 0; else return file_status.st_size; @@ -276,7 +277,7 @@ struct stat file_status; if(stat(filename.c_str(), &file_status) != 0) return 0; -@@ -2225,6 +2287,8 @@ std::string getDefaultPluginPath( const char* plugin_n +@@ -2378,6 +2441,8 @@ std::string getDefaultPluginPath( const char* plugin_n return format( "/usr/lib/foundationdb/plugins/%s.so", plugin_name ); #elif defined(__APPLE__) return format( "/usr/local/foundationdb/plugins/%s.dylib", plugin_name ); @@ -285,7 +286,7 @@ #else #error Port me! #endif -@@ -2475,7 +2539,7 @@ void* getImageOffset() { return NULL; } +@@ -2629,7 +2694,7 @@ void* getImageOffset() { return NULL; } #endif bool isLibraryLoaded(const char* lib_path) { @@ -294,7 +295,7 @@ #error Port me! #endif -@@ -2491,7 +2555,7 @@ bool isLibraryLoaded(const char* lib_path) { +@@ -2645,7 +2710,7 @@ bool isLibraryLoaded(const char* lib_path) { } void* loadLibrary(const char* lib_path) { diff --git a/databases/foundationdb/files/patch-flow_Platform.h b/databases/foundationdb/files/patch-flow_Platform.h index 13cc2100c966..ee36e47b6445 100644 --- a/databases/foundationdb/files/patch-flow_Platform.h +++ b/databases/foundationdb/files/patch-flow_Platform.h @@ -1,4 +1,4 @@ ---- flow/Platform.h.orig 2019-01-09 22:28:32 UTC +--- flow/Platform.h.orig 2019-04-09 00:11:05 UTC +++ flow/Platform.h @@ -22,7 +22,7 @@ #define FLOW_PLATFORM_H @@ -9,7 +9,7 @@ #define __unixish__ 1 #endif -@@ -182,6 +182,8 @@ THREAD_HANDLE startThread(void *(func) (void *), void +@@ -188,6 +188,8 @@ THREAD_HANDLE startThread(void *(func) (void *), void #if defined(_WIN32) #define DYNAMIC_LIB_EXT ".dll" #elif defined(__linux) diff --git a/databases/foundationdb/files/patch-flow_ThreadPrimitives.h b/databases/foundationdb/files/patch-flow_ThreadPrimitives.h index c92f4c3e501b..d8e6af437b9c 100644 --- a/databases/foundationdb/files/patch-flow_ThreadPrimitives.h +++ b/databases/foundationdb/files/patch-flow_ThreadPrimitives.h @@ -1,8 +1,8 @@ ---- flow/ThreadPrimitives.h.orig 2019-01-09 22:28:32 UTC +--- flow/ThreadPrimitives.h.orig 2019-04-09 00:11:05 UTC +++ flow/ThreadPrimitives.h @@ -25,7 +25,7 @@ - #include "Error.h" - #include "Trace.h" + #include "flow/Error.h" + #include "flow/Trace.h" -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) diff --git a/databases/foundationdb/files/patch-flow_libs_system_src_error__code.cpp b/databases/foundationdb/files/patch-flow_libs_system_src_error__code.cpp deleted file mode 100644 index fc1f1f5c35bf..000000000000 --- a/databases/foundationdb/files/patch-flow_libs_system_src_error__code.cpp +++ /dev/null @@ -1,15 +0,0 @@ ---- flow/libs/system/src/error_code.cpp.orig 2018-09-11 01:21:54 UTC -+++ flow/libs/system/src/error_code.cpp -@@ -43,6 +43,7 @@ using namespace boost::system::errc; - #endif - //----------------------------------------------------------------------------// - -+#if BOOST_VERSION < 106800 - namespace - { - #if defined(__PGI) -@@ -434,3 +435,4 @@ namespace boost - - } // namespace system - } // namespace boost -+#endif diff --git a/databases/foundationdb/files/patch-flow_local.mk b/databases/foundationdb/files/patch-flow_local.mk index 8e2a3df8c0f9..e9c1b147da27 100644 --- a/databases/foundationdb/files/patch-flow_local.mk +++ b/databases/foundationdb/files/patch-flow_local.mk @@ -1,12 +1,12 @@ ---- flow/local.mk.orig 2018-04-19 02:55:50 UTC +--- flow/local.mk.orig 2019-04-09 00:11:05 UTC +++ flow/local.mk @@ -20,8 +20,9 @@ # -*- mode: makefile; -*- --flow_CFLAGS := -I$(BOOSTDIR) -I. -Iflow -DUSE_UCONTEXT +-flow_CFLAGS := -I$(BOOSTDIR) -I. -DUSE_UCONTEXT -flow_LDFLAGS := -+flow_CFLAGS := -I$(BOOSTDIR)/include -I. -Iflow -DUSE_UCONTEXT ++flow_CFLAGS := -I$(BOOSTDIR)/include -I. -DUSE_UCONTEXT +flow_LDFLAGS := -L$(BOOSTDIR)/lib +flow_LIBS := -lm -lc++ -lpthread -leio -lexecinfo -lboost_system |