diff --git a/databases/rocksdb/Makefile b/databases/rocksdb/Makefile index 2525c4e57456..59f10bcaf383 100644 --- a/databases/rocksdb/Makefile +++ b/databases/rocksdb/Makefile @@ -1,89 +1,80 @@ # Created by: Po-Chuan Hsieh PORTNAME= rocksdb -PORTVERSION= 7.2.2 +PORTVERSION= 7.3.1 DISTVERSIONPREFIX= v CATEGORIES= databases MAINTAINER?= sunpoet@FreeBSD.org COMMENT?= Persistent key-value store for fast storage environments LICENSE= APACHE20 GPLv2 LICENSE_COMB= dual LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE.Apache LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING BROKEN_DragonFly= does not build on DragonFly BSD using GCC with -Werror BROKEN_armv6?= does not build: db/c.cc:2281:44: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'size_t' (aka 'unsigned int') BROKEN_armv7?= does not build: /nxb-bin/usr/bin/ld: undefined reference to symbol `__gnu_Unwind_Find_exidx@@FBSD_1.4' (try adding -lc) #'` BROKEN_FreeBSD_12_powerpc64= does not build: util/crc32c.cc:435:22: 'arch_ppc_probe' was not declared in this scope BUILD_DEPENDS= bash:shells/bash LIB_DEPENDS= libgflags.so:devel/gflags \ libsnappy.so:archivers/snappy USES= compiler:c++17-lang gmake localbase:ldflags perl5 USE_PERL5= build ALL_TARGET= shared_lib static_lib all CFLAGS+= -DOS_FREEBSD CONFIGURE_ARGS= make_config.mk CONFIGURE_ENV= PORTABLE=0 ROCKSDB_ROOT=${WRKSRC} CONFIGURE_SCRIPT= build_tools/build_detect_platform HAS_CONFIGURE= yes MAKE_ENV= CXX=${CXX} INSTALL_PATH=${STAGEDIR}${PREFIX} USE_RTTI=1 USE_CXXSTD= c++17 USE_LDCONFIG= yes TEST_TARGET= check PLIST_SUB= PORTVERSION=${PORTVERSION} SHLIB_VER=${PORTVERSION:R} PORTDATA= make_config.mk GH_ACCOUNT= facebook USE_GITHUB= yes +CONFLICTS_INSTALL= rocksdb-lite + BENCHMARKS= cache_bench db_bench memtablerep_bench persistent_cache_bench range_del_aggregator_bench table_reader_bench TOOLS= blob_dump db_repl_stress db_sanity_test db_stress ldb rocksdb_dump rocksdb_undump sst_dump trace_analyzer write_stress OPTIONS_DEFINE= DEBUG LZ4 ZSTD OPTIONS_DEFAULT=LZ4 DEBUG_MAKE_ENV= DEBUG_LEVEL=2 DEBUG_MAKE_ENV_OFF= DEBUG_LEVEL=0 LZ4_LIB_DEPENDS= liblz4.so:archivers/liblz4 LZ4_MAKE_ENV_OFF= ROCKSDB_DISABLE_LZ4=yes ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd ZSTD_MAKE_ENV_OFF= ROCKSDB_DISABLE_ZSTD=yes -.if !defined(LITE) -CONFLICTS_INSTALL= rocksdb-lite -PLIST_SUB+= LITE="@comment " NO_LITE="" -.else -PKGNAMESUFFIX= -lite -CONFLICTS_INSTALL= rocksdb -CFLAGS+= -DROCKSDB_LITE=1 -MAKE_ENV+= LIBNAME=librocksdb${PKGNAMESUFFIX} DISABLE_JEMALLOC=1 -PLIST_SUB+= LITE="" NO_LITE="@comment " -.endif - .include .if ${CHOSEN_COMPILER_TYPE} == clang CXXFLAGS+= -Wno-inconsistent-missing-override -Wno-unused-parameter -Wno-unused-variable -Wno-unused-private-field .endif post-patch: .if (${ARCH} == amd64 || ${ARCH} == i386) && !empty(CFLAGS:M-march=*) @${REINPLACE_CMD} -e 's| -march=native| ${CFLAGS:M-march=*}|' ${WRKSRC}/build_tools/build_detect_platform .else @${REINPLACE_CMD} -e 's| -march=native||' ${WRKSRC}/build_tools/build_detect_platform .endif post-install: ${MKDIR} ${STAGEDIR}${DATADIR}/ cd ${WRKSRC}/ && ${INSTALL_PROGRAM} ${BENCHMARKS} ${TOOLS} ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_DATA} ${WRKSRC}/librocksdb${PKGNAMESUFFIX}_tools.so ${STAGEDIR}${PREFIX}/lib/ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/librocksdb${PKGNAMESUFFIX}.so ${STAGEDIR}${PREFIX}/lib/librocksdb${PKGNAMESUFFIX}_tools.so ${INSTALL_DATA} ${WRKSRC}/make_config.mk ${STAGEDIR}${DATADIR}/ .include diff --git a/databases/rocksdb/distinfo b/databases/rocksdb/distinfo index fb5cc02a5a39..07208f0c749b 100644 --- a/databases/rocksdb/distinfo +++ b/databases/rocksdb/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1652122553 -SHA256 (facebook-rocksdb-v7.2.2_GH0.tar.gz) = c4ea6bd2e3ffe3f0f8921c699234d59108c9122d61b0ba2aa78358642a7b614e -SIZE (facebook-rocksdb-v7.2.2_GH0.tar.gz) = 9549844 +TIMESTAMP = 1655208210 +SHA256 (facebook-rocksdb-v7.3.1_GH0.tar.gz) = 51a44b8f151d1a39793a8cf37d9de248b980f9aaed0c7bbeee06304e4d7b8d95 +SIZE (facebook-rocksdb-v7.3.1_GH0.tar.gz) = 9607813 diff --git a/databases/rocksdb/files/patch-Makefile b/databases/rocksdb/files/patch-Makefile index 2c820e4c7ab6..8c1f862c98ce 100644 --- a/databases/rocksdb/files/patch-Makefile +++ b/databases/rocksdb/files/patch-Makefile @@ -1,40 +1,42 @@ ---- Makefile.orig 2022-03-10 06:51:01 UTC +--- Makefile.orig 2022-06-08 21:08:16 UTC +++ Makefile -@@ -220,17 +220,17 @@ AM_SHARE = $(AM_V_CCLD) $(CXX) $(PLATFORM_SHARED_LDFLA +@@ -223,18 +223,18 @@ AM_SHARE = $(AM_V_CCLD) $(CXX) $(PLATFORM_SHARED_LDFLA # Detect what platform we're building on. # Export some common variables that might have been passed as Make variables # instead of environment variables. -dummy := $(shell (export ROCKSDB_ROOT="$(CURDIR)"; \ - export CXXFLAGS="$(EXTRA_CXXFLAGS)"; \ - export LDFLAGS="$(EXTRA_LDFLAGS)"; \ - export COMPILE_WITH_ASAN="$(COMPILE_WITH_ASAN)"; \ - export COMPILE_WITH_TSAN="$(COMPILE_WITH_TSAN)"; \ - export COMPILE_WITH_UBSAN="$(COMPILE_WITH_UBSAN)"; \ - export PORTABLE="$(PORTABLE)"; \ - export ROCKSDB_NO_FBCODE="$(ROCKSDB_NO_FBCODE)"; \ - export USE_CLANG="$(USE_CLANG)"; \ - export LIB_MODE="$(LIB_MODE)"; \ +- export ROCKSDB_CXX_STANDARD="$(ROCKSDB_CXX_STANDARD)"; \ - "$(CURDIR)/build_tools/build_detect_platform" "$(CURDIR)/make_config.mk")) -+#dummy := $(shell (export ROCKSDB_ROOT="$(CURDIR)"; \ -+# export CXXFLAGS="$(EXTRA_CXXFLAGS)"; \ -+# export LDFLAGS="$(EXTRA_LDFLAGS)"; \ -+# export COMPILE_WITH_ASAN="$(COMPILE_WITH_ASAN)"; \ -+# export COMPILE_WITH_TSAN="$(COMPILE_WITH_TSAN)"; \ -+# export COMPILE_WITH_UBSAN="$(COMPILE_WITH_UBSAN)"; \ -+# export PORTABLE="$(PORTABLE)"; \ -+# export ROCKSDB_NO_FBCODE="$(ROCKSDB_NO_FBCODE)"; \ -+# export USE_CLANG="$(USE_CLANG)"; \ -+# export LIB_MODE="$(LIB_MODE)"; \ -+# "$(CURDIR)/build_tools/build_detect_platform" "$(CURDIR)/make_config.mk")) ++# dummy := $(shell (export ROCKSDB_ROOT="$(CURDIR)"; \ ++# export CXXFLAGS="$(EXTRA_CXXFLAGS)"; \ ++# export LDFLAGS="$(EXTRA_LDFLAGS)"; \ ++# export COMPILE_WITH_ASAN="$(COMPILE_WITH_ASAN)"; \ ++# export COMPILE_WITH_TSAN="$(COMPILE_WITH_TSAN)"; \ ++# export COMPILE_WITH_UBSAN="$(COMPILE_WITH_UBSAN)"; \ ++# export PORTABLE="$(PORTABLE)"; \ ++# export ROCKSDB_NO_FBCODE="$(ROCKSDB_NO_FBCODE)"; \ ++# export USE_CLANG="$(USE_CLANG)"; \ ++# export LIB_MODE="$(LIB_MODE)"; \ ++# export ROCKSDB_CXX_STANDARD="$(ROCKSDB_CXX_STANDARD)"; \ ++# "$(CURDIR)/build_tools/build_detect_platform" "$(CURDIR)/make_config.mk")) # this file is generated by the previous line to set build flags and sources include make_config.mk -@@ -796,7 +796,7 @@ endif # PLATFORM_SHARED_EXT - blackbox_crash_test_with_ts whitebox_crash_test_with_ts - +@@ -806,7 +806,7 @@ endif # PLATFORM_SHARED_EXT + rocksdbjavastatic rocksdbjava install install-static install-shared \ + uninstall analyze tools tools_lib check-headers checkout_folly -all: $(LIBRARY) $(BENCHMARKS) tools tools_lib test_libs $(TESTS) +all: $(LIBRARY) $(BENCHMARKS) tools tools_lib test_libs # $(TESTS) all_but_some_tests: $(LIBRARY) $(BENCHMARKS) tools tools_lib test_libs $(ROCKSDBTESTS_SUBSET) diff --git a/databases/rocksdb/files/patch-db-db_test_util.cc b/databases/rocksdb/files/patch-db-db_test_util.cc index 472503e88f1f..2bc1fd7b68b5 100644 --- a/databases/rocksdb/files/patch-db-db_test_util.cc +++ b/databases/rocksdb/files/patch-db-db_test_util.cc @@ -1,120 +1,120 @@ ---- db/db_test_util.cc.orig 2021-06-25 21:15:04 UTC +--- db/db_test_util.cc.orig 2022-06-08 21:08:16 UTC +++ db/db_test_util.cc -@@ -95,9 +95,11 @@ DBTestBase::DBTestBase(const std::string path, bool en +@@ -104,9 +104,11 @@ DBTestBase::DBTestBase(const std::string path, bool en } DBTestBase::~DBTestBase() { +#ifndef NDEBUG ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing(); ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->LoadDependency({}); ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->ClearAllCallBacks(); +#endif Close(); Options options; options.db_paths.emplace_back(dbname_, 0); -@@ -347,6 +349,7 @@ Options DBTestBase::GetOptions( +@@ -356,6 +358,7 @@ Options DBTestBase::GetOptions( Options options = default_options; BlockBasedTableOptions table_options; bool set_block_based_table_factory = true; +#ifndef NDEBUG #if !defined(OS_MACOSX) && !defined(OS_WIN) && !defined(OS_SOLARIS) && \ !defined(OS_AIX) ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->ClearCallBack( -@@ -354,6 +357,7 @@ Options DBTestBase::GetOptions( +@@ -363,6 +366,7 @@ Options DBTestBase::GetOptions( ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->ClearCallBack( "NewWritableFile:O_DIRECT"); #endif +#endif - - bool can_allow_mmap = IsMemoryMappedAccessSupported(); - switch (option_config) { -@@ -408,7 +412,9 @@ Options DBTestBase::GetOptions( + // kMustFreeHeapAllocations -> indicates ASAN build + if (kMustFreeHeapAllocations && !options_override.full_block_cache) { + // Detecting block cache use-after-free is normally difficult in unit +@@ -428,7 +432,9 @@ Options DBTestBase::GetOptions( options.use_direct_reads = true; options.use_direct_io_for_flush_and_compaction = true; options.compaction_readahead_size = 2 * 1024 * 1024; +#ifndef NDEBUG SetupSyncPointsToMockDirectIO(); +#endif break; } #endif // ROCKSDB_LITE -@@ -1124,6 +1130,7 @@ std::string DBTestBase::FilesPerLevel(int cf) { +@@ -1149,6 +1155,7 @@ std::string DBTestBase::FilesPerLevel(int cf) { #endif // !ROCKSDB_LITE +#ifndef NDEBUG std::vector DBTestBase::GetBlobFileNumbers() { - VersionSet* const versions = dbfull()->TEST_GetVersionSet(); + VersionSet* const versions = dbfull()->GetVersionSet(); assert(versions); -@@ -1148,6 +1155,7 @@ std::vector DBTestBase::GetBlobFileNumbers() +@@ -1174,6 +1181,7 @@ std::vector DBTestBase::GetBlobFileNumbers() return result; } +#endif size_t DBTestBase::CountFiles() { size_t count = 0; -@@ -1230,6 +1238,7 @@ void DBTestBase::FillLevels(const std::string& smalles +@@ -1256,6 +1264,7 @@ void DBTestBase::FillLevels(const std::string& smalles } void DBTestBase::MoveFilesToLevel(int level, int cf) { +#ifndef NDEBUG for (int l = 0; l < level; ++l) { if (cf > 0) { EXPECT_OK(dbfull()->TEST_CompactRange(l, nullptr, nullptr, handles_[cf])); -@@ -1237,13 +1246,16 @@ void DBTestBase::MoveFilesToLevel(int level, int cf) { +@@ -1263,13 +1272,16 @@ void DBTestBase::MoveFilesToLevel(int level, int cf) { EXPECT_OK(dbfull()->TEST_CompactRange(l, nullptr, nullptr)); } } +#endif } #ifndef ROCKSDB_LITE void DBTestBase::DumpFileCounts(const char* label) { fprintf(stderr, "---\n%s:\n", label); +#ifndef NDEBUG fprintf(stderr, "maxoverlap: %" PRIu64 "\n", dbfull()->TEST_MaxNextLevelOverlappingBytes()); +#endif for (int level = 0; level < db_->NumberLevels(); level++) { int num = NumTableFilesAtLevel(level); if (num > 0) { -@@ -1284,10 +1296,12 @@ void DBTestBase::GenerateNewFile(int cf, Random* rnd, +@@ -1310,10 +1322,12 @@ void DBTestBase::GenerateNewFile(int cf, Random* rnd, ASSERT_OK(Put(cf, Key(*key_idx), rnd->RandomString((i == 99) ? 1 : 990))); (*key_idx)++; } +#ifndef NDEBUG if (!nowait) { ASSERT_OK(dbfull()->TEST_WaitForFlushMemTable()); ASSERT_OK(dbfull()->TEST_WaitForCompact()); } +#endif } // this will generate non-overlapping files since it keeps increasing key_idx -@@ -1296,10 +1310,12 @@ void DBTestBase::GenerateNewFile(Random* rnd, int* key +@@ -1322,10 +1336,12 @@ void DBTestBase::GenerateNewFile(Random* rnd, int* key ASSERT_OK(Put(Key(*key_idx), rnd->RandomString((i == 99) ? 1 : 990))); (*key_idx)++; } +#ifndef NDEBUG if (!nowait) { ASSERT_OK(dbfull()->TEST_WaitForFlushMemTable()); ASSERT_OK(dbfull()->TEST_WaitForCompact()); } +#endif } const int DBTestBase::kNumKeysByGenerateNewRandomFile = 51; -@@ -1309,10 +1325,12 @@ void DBTestBase::GenerateNewRandomFile(Random* rnd, bo +@@ -1335,10 +1351,12 @@ void DBTestBase::GenerateNewRandomFile(Random* rnd, bo ASSERT_OK(Put("key" + rnd->RandomString(7), rnd->RandomString(2000))); } ASSERT_OK(Put("key" + rnd->RandomString(7), rnd->RandomString(200))); +#ifndef NDEBUG if (!nowait) { ASSERT_OK(dbfull()->TEST_WaitForFlushMemTable()); ASSERT_OK(dbfull()->TEST_WaitForCompact()); } +#endif } std::string DBTestBase::IterStatus(Iterator* iter) { diff --git a/databases/rocksdb/pkg-plist b/databases/rocksdb/pkg-plist index 875e07d16554..9c22828ea885 100644 --- a/databases/rocksdb/pkg-plist +++ b/databases/rocksdb/pkg-plist @@ -1,128 +1,122 @@ bin/blob_dump bin/cache_bench bin/db_bench bin/db_repl_stress bin/db_sanity_test bin/db_stress bin/ldb bin/memtablerep_bench bin/persistent_cache_bench bin/range_del_aggregator_bench bin/rocksdb_dump bin/rocksdb_undump bin/sst_dump bin/table_reader_bench bin/trace_analyzer bin/write_stress include/rocksdb/advanced_options.h include/rocksdb/c.h include/rocksdb/cache.h include/rocksdb/cache_bench_tool.h include/rocksdb/cleanable.h include/rocksdb/compaction_filter.h include/rocksdb/compaction_job_stats.h include/rocksdb/comparator.h include/rocksdb/compression_type.h include/rocksdb/concurrent_task_limiter.h include/rocksdb/configurable.h include/rocksdb/convenience.h include/rocksdb/customizable.h include/rocksdb/data_structure.h include/rocksdb/db.h include/rocksdb/db_bench_tool.h include/rocksdb/db_dump_tool.h include/rocksdb/db_stress_tool.h include/rocksdb/env.h include/rocksdb/env_encryption.h include/rocksdb/experimental.h include/rocksdb/file_checksum.h include/rocksdb/file_system.h include/rocksdb/filter_policy.h include/rocksdb/flush_block_policy.h include/rocksdb/functor_wrapper.h include/rocksdb/io_status.h include/rocksdb/iostats_context.h include/rocksdb/iterator.h include/rocksdb/ldb_tool.h include/rocksdb/listener.h include/rocksdb/memory_allocator.h include/rocksdb/memtablerep.h include/rocksdb/merge_operator.h include/rocksdb/metadata.h include/rocksdb/options.h include/rocksdb/perf_context.h include/rocksdb/perf_level.h include/rocksdb/persistent_cache.h include/rocksdb/rate_limiter.h include/rocksdb/rocksdb_namespace.h include/rocksdb/secondary_cache.h include/rocksdb/slice.h include/rocksdb/slice_transform.h include/rocksdb/snapshot.h include/rocksdb/sst_dump_tool.h include/rocksdb/sst_file_manager.h include/rocksdb/sst_file_reader.h include/rocksdb/sst_file_writer.h include/rocksdb/sst_partitioner.h include/rocksdb/statistics.h include/rocksdb/stats_history.h include/rocksdb/status.h include/rocksdb/system_clock.h include/rocksdb/table.h include/rocksdb/table_properties.h include/rocksdb/thread_status.h include/rocksdb/threadpool.h include/rocksdb/trace_reader_writer.h include/rocksdb/trace_record.h include/rocksdb/trace_record_result.h include/rocksdb/transaction_log.h include/rocksdb/types.h include/rocksdb/unique_id.h include/rocksdb/universal_compaction.h include/rocksdb/utilities/agg_merge.h include/rocksdb/utilities/backup_engine.h include/rocksdb/utilities/cache_dump_load.h include/rocksdb/utilities/checkpoint.h include/rocksdb/utilities/convenience.h include/rocksdb/utilities/customizable_util.h include/rocksdb/utilities/db_ttl.h include/rocksdb/utilities/debug.h include/rocksdb/utilities/env_mirror.h include/rocksdb/utilities/info_log_finder.h include/rocksdb/utilities/ldb_cmd.h include/rocksdb/utilities/ldb_cmd_execute_result.h include/rocksdb/utilities/leveldb_options.h include/rocksdb/utilities/lua/rocks_lua_custom_library.h include/rocksdb/utilities/lua/rocks_lua_util.h include/rocksdb/utilities/memory_util.h include/rocksdb/utilities/object_registry.h include/rocksdb/utilities/optimistic_transaction_db.h include/rocksdb/utilities/option_change_migration.h include/rocksdb/utilities/options_type.h include/rocksdb/utilities/options_util.h include/rocksdb/utilities/replayer.h include/rocksdb/utilities/sim_cache.h include/rocksdb/utilities/stackable_db.h include/rocksdb/utilities/table_properties_collectors.h include/rocksdb/utilities/transaction.h include/rocksdb/utilities/transaction_db.h include/rocksdb/utilities/transaction_db_mutex.h include/rocksdb/utilities/write_batch_with_index.h include/rocksdb/version.h include/rocksdb/wal_filter.h include/rocksdb/write_batch.h include/rocksdb/write_batch_base.h include/rocksdb/write_buffer_manager.h -%%LITE%%lib/librocksdb-lite.a -%%LITE%%lib/librocksdb-lite.so -%%LITE%%lib/librocksdb-lite.so.7 -%%LITE%%lib/librocksdb-lite.so.%%SHLIB_VER%% -%%LITE%%lib/librocksdb-lite.so.%%PORTVERSION%% -%%LITE%%lib/librocksdb-lite_tools.so -%%NO_LITE%%lib/librocksdb.a -%%NO_LITE%%lib/librocksdb.so -%%NO_LITE%%lib/librocksdb.so.7 -%%NO_LITE%%lib/librocksdb.so.%%SHLIB_VER%% -%%NO_LITE%%lib/librocksdb.so.%%PORTVERSION%% -%%NO_LITE%%lib/librocksdb_tools.so +lib/librocksdb.a +lib/librocksdb.so +lib/librocksdb.so.7 +lib/librocksdb.so.%%SHLIB_VER%% +lib/librocksdb.so.%%PORTVERSION%% +lib/librocksdb_tools.so libdata/pkgconfig/rocksdb.pc