summarylogtreecommitdiffstats
path: root/0001-mdbx-Remove-all-checks-for-amalgated-or-git-source-i.patch
diff options
context:
space:
mode:
authorNoel Kuntze2021-08-13 14:58:11 +0200
committerNoel Kuntze2021-08-13 14:58:11 +0200
commit156f098ee1f0e8541fc66ced8b85450ca373136e (patch)
treeee9a6adc8e06bec4545dbc7cae6ee1090fbde610 /0001-mdbx-Remove-all-checks-for-amalgated-or-git-source-i.patch
parent0d35087f53aedb637638dd3b05a925f7b24828ec (diff)
downloadaur-156f098ee1f0e8541fc66ced8b85450ca373136e.tar.gz
Update to 0.10.2
Diffstat (limited to '0001-mdbx-Remove-all-checks-for-amalgated-or-git-source-i.patch')
-rw-r--r--0001-mdbx-Remove-all-checks-for-amalgated-or-git-source-i.patch207
1 files changed, 207 insertions, 0 deletions
diff --git a/0001-mdbx-Remove-all-checks-for-amalgated-or-git-source-i.patch b/0001-mdbx-Remove-all-checks-for-amalgated-or-git-source-i.patch
new file mode 100644
index 000000000000..8fb2bcddae57
--- /dev/null
+++ b/0001-mdbx-Remove-all-checks-for-amalgated-or-git-source-i.patch
@@ -0,0 +1,207 @@
+From b4acc32ca535c93b3a80ebfaddf898250ca12916 Mon Sep 17 00:00:00 2001
+From: Noel Kuntze <noel.kuntze@thermi.consulting>
+Date: Thu, 8 Jul 2021 17:01:30 +0200
+Subject: [PATCH] mdbx: Remove all checks for amalgated or git source,
+ implement tests into CMakeLists.txt
+
+---
+ CMakeLists.txt | 152 ++++++++++++++++++++++++++++++++++++++-----------
+ GNUmakefile | 12 +---
+ 2 files changed, 121 insertions(+), 43 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e74432b0..7b7f2898 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -55,38 +55,8 @@ else()
+ set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_AVAILABLE FALSE)
+ endif()
+
+-if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/core.c" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/alloy.c" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.in" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/version.c.in" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/man1" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/mdbx_chk.c" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/mdbx.c++")
+- set(MDBX_AMALGAMATED_SOURCE FALSE)
+- find_program(GIT git)
+- if(NOT GIT)
+- message(SEND_ERROR "Git command-line tool not found")
+- endif()
+- set(MDBX_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
+-elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/VERSION.txt" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx.c" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx.c++" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/man1" AND
+- EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx_chk.c")
+- set(MDBX_AMALGAMATED_SOURCE TRUE)
+- set(MDBX_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
+-else()
+- message(FATAL_ERROR "\n"
+- "Please don't use tarballs nor zips which are automatically provided by Github! "
+- "These archives do not contain version information and thus are unfit to build libmdbx. "
+- "You can vote for ability of disabling auto-creation such unsuitable archives at https://github.community/t/disable-tarball\n"
+- "Instead of above, just clone the git repository, either download a tarball or zip with the properly amalgamated source core. "
+- "For embedding libmdbx use a git-submodule or the amalgamated source code.\n"
+- "Please, avoid using any other techniques.")
+-endif()
++set(MDBX_AMALGAMATED_SOURCE FALSE)
++set(MDBX_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
+
+ if(DEFINED PROJECT_NAME)
+ set(SUBPROJECT ON)
+@@ -677,6 +647,124 @@ endif()
+
+ ################################################################################
+
++# example
++add_executable(mdbx_example mdbx.h example/example-mdbx.c)
++target_setup_options(mdbx_example)
++target_link_libraries(mdbx_example mdbx)
++if(MDBX_C_STANDARD)
++ set_target_properties(mdbx_example PROPERTIES
++ C_STANDARD ${MDBX_C_STANDARD} C_STANDARD_REQUIRED ON)
++endif()
++
++################################################################################
++
++# add targets for tests
++
++if(CMAKE_GENERATOR_PLATFORM MATCHES CYGWIN.* OR
++ CMAKE_GENERATOR_PLATFORM MATCHES MINGW.* OR
++ CMAKE_GENERATOR_PLATFORM MATCHES MSYS.* OR
++ CMAKE_GENERATOR_PLATFORM MATCHES Windows.*)
++ set(TEST_SRC
++ test/osal-windows.cc)
++else()
++ set(TEST_SRC
++ test/osal-unix.cc)
++endif()
++
++if(CMAKE_GENERATOR_PLATFORM MATCHES Darwin.* OR
++ CMAKE_GENERATOR_PLATFORM MATCHES Mach.*)
++ set(TEST_ITER
++ 2)
++else()
++ set(TEST_ITER
++ 12)
++endif()
++
++if(NOT TEST_DB)
++ set(TEST_DB
++ /tmp/mdbx-test.db
++ )
++endif()
++if(NOT TEST_LOG)
++ set(TEST_LOG
++ /tmp/mdbx-test.log
++ )
++endif()
++
++if(MDBX_ENABLE_TESTS)
++ add_custom_target(build-test ALL
++ DEPENDS mdbx_example mdbx_test mdbx_chk
++ )
++
++ add_custom_target(mdbx-test
++ COMMAND
++ rm -f "${TEST_DB}" "${TEST_LOG}.gz"
++ COMMAND
++ ./mdbx_test --table=+data.integer --keygen.split=29 --datalen.min=min --datalen.max=max --progress --console=no "--repeat=${TEST_ITER}" "--pathname=${TEST_DB}" --dont-cleanup-after ${MDBX_TEST_EXTRA} basic | gzip >> "${TEST_LOG}.gz"
++ COMMAND
++ ./mdbx_test --mode=-writemap,-nosync-safe,-lifo --progress --console=no --repeat=12 "--pathname=${TEST_DB}" --dont-cleanup-after ${MDBX_TEST_EXTRA} basic | gzip >> "${TEST_LOG}.gz"
++ COMMAND
++ ./mdbx_chk -vvn "${TEST_DB}"
++ COMMAND
++ ./mdbx_chk -vvn "${TEST_DB}-copy"
++ DEPENDS mdbx build-test
++ )
++ add_custom_target(test-singleprocess
++ COMMAND
++ rm -f "${TEST_DB}" "${TEST_LOG}.gz"
++ COMMAND
++ ./mdbx_test --table=+data.integer --keygen.split=29 --datalen.min=min --datalen.max=max --progress --console=no --repeat=42 "--pathname=${TEST_DB}" --dont-cleanup-after ${MDBX_TEST_EXTRA} --hill| gzip >> "${TEST_LOG}.gz"
++ COMMAND
++ ./mdbx_test --progress --console=no --repeat=2 "--pathname=${TEST_DB}" --dont-cleanup-before --dont-cleanup-after --copy | gzip >> "${TEST_LOG}.gz"
++ COMMAND
++ ./mdbx_test --mode=-writemap,-nosync-safe,-lifo --progress --console=no --repeat=42 "--pathname=${TEST_DB}" --dont-cleanup-after ${MDBX_TEST_EXTRA} --nested| gzip >> ${TEST_LOG}.gz
++ COMMAND
++ ./mdbx_chk -vvn "${TEST_DB}"
++ COMMAND
++ ./mdbx_chk -vvn "${TEST_DB}-copy"
++ DEPENDS build-test
++ )
++ add_custom_target(test-fault
++ COMMAND
++ rm -f "${TEST_DB}" "${TEST_LOG}.gz"
++ COMMAND
++ ./mdbx_test --progress --console=no "--pathname=${TEST_DB}" --inject-writefault=42 --dump-config --dont-cleanup-after ${MDBX_TEST_EXTRA} basic | gzip >> "${TEST_LOG}.gz"
++ COMMAND
++ ./mdbx_chk -vvnw "${TEST_DB}"
++ COMMAND
++ [ -e "${TEST_DB}-copy" ] && ./mdbx_chk -vvn "${TEST_DB}-copy"
++ DEPENDS build-test
++ )
++
++ if(USE_VALGRIND)
++ set_target_properties(build-test
++ PROPERTIES
++ CFLAGS_EXTRA "-Ofast -DMDBX_USE_VALGRIND")
++ add_custom_target(memcheck
++ DEPENDS valgrind)
++ add_custom_target(valgrind
++ COMMAND
++ rm -f valgrind-*.log "${TEST_DB}" "${TEST_LOG}.gz"
++ COMMAND
++ ${VALGRIND_EXE} ./mdbx_test --table=+data.integer --keygen.split=29 --datalen.min=min --datalen.max=max --progress --console=no --repeat=2 "--pathname=${TEST_DB}" --dont-cleanup-after ${MDBX_TEST_EXTRA} basic | gzip >> "${TEST_LOG}.gz" &&
++ ${VALGRIND_EXE} ./mdbx_test --progress --console=no "--pathname=${TEST_DB}" --dont-cleanup-before --dont-cleanup-after --copy | gzip >> "${TEST_LOG}.gz" &&
++ ${VALGRIND_EXE} ./mdbx_test --mode=-writemap,-nosync-safe,-lifo --progress --console=no --repeat=4 "--pathname=${TEST_DB}" --dont-cleanup-after ${MDBX_TEST_EXTRA} basic | gzip >> "${TEST_LOG}.gz" &&
++ ${VALGRIND_EXE} ./mdbx_chk -vvn "${TEST_DB}" &&
++ ${VALGRIND_EXE} ./mdbx_chk -vvn "${TEST_DB}-copy"
++ DEPENDS build-test
++ )
++ endif()
++
++ if(USE_GCC_ANALYZER)
++ set_target_properties(build-test
++ PROPERTIES
++ CFLAGS_EXTRA "-Og -fanalyzer -Wno-error")
++ endif()
++
++endif()
++
++################################################################################
++
+ # mdbx-shared-lib installation
+ if(NOT DEFINED MDBX_DLL_INSTALL_DESTINATION)
+ if(WIN32)
+diff --git a/GNUmakefile b/GNUmakefile
+index 509a0923..cbe43b23 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -397,17 +397,7 @@ mdbx_test: $(TEST_OBJ) libmdbx.$(SO_SUFFIX)
+ $(QUIET)$(CXX) $(CXXFLAGS) $(TEST_OBJ) -Wl,-rpath . -L . -l mdbx $(EXE_LDFLAGS) $(LIBS) -o $@
+
+ $(git_DIR)/HEAD $(git_DIR)/index $(git_DIR)/refs/tags:
+- @echo '*** ' >&2
+- @echo '*** Please don''t use tarballs nor zips which are automatically provided by Github !' >&2
+- @echo '*** These archives do not contain version information and thus are unfit to build libmdbx.' >&2
+- @echo '*** You can vote for ability of disabling auto-creation such unsuitable archives at https://github.community/t/disable-tarball' >&2
+- @echo '*** ' >&2
+- @echo '*** Instead of above, just clone the git repository, either download a tarball or zip with the properly amalgamated source core.' >&2
+- @echo '*** For embedding libmdbx use a git-submodule or the amalgamated source code.' >&2
+- @echo '*** ' >&2
+- @echo '*** Please, avoid using any other techniques.' >&2
+- @echo '*** ' >&2
+- @false
++ @true
+
+ src/version.c: src/version.c.in $(lastword $(MAKEFILE_LIST)) $(git_DIR)/HEAD $(git_DIR)/index $(git_DIR)/refs/tags
+ @echo ' MAKE $@'
+--
+2.32.0
+