aboutsummaryrefslogtreecommitdiff
path: root/databases/clickhouse/files
diff options
context:
space:
mode:
Diffstat (limited to 'databases/clickhouse/files')
-rw-r--r--databases/clickhouse/files/patch-PreLoad.cmake46
-rw-r--r--databases/clickhouse/files/patch-cmake_find_krb5.cmake11
-rw-r--r--databases/clickhouse/files/patch-cmake_freebsd_default__libs.cmake22
-rw-r--r--databases/clickhouse/files/patch-cmake_freebsd_toolchain-x86__64.cmake14
-rw-r--r--databases/clickhouse/files/patch-cmake_tools.cmake11
-rw-r--r--databases/clickhouse/files/patch-contrib_grpc_third__party_cares_cares_CMakeLists.txt15
-rw-r--r--databases/clickhouse/files/patch-src_Common_MemoryStatisticsOS.cpp116
-rw-r--r--databases/clickhouse/files/patch-src_Common_MemoryStatisticsOS.h22
8 files changed, 46 insertions, 211 deletions
diff --git a/databases/clickhouse/files/patch-PreLoad.cmake b/databases/clickhouse/files/patch-PreLoad.cmake
new file mode 100644
index 000000000000..de1b05af5747
--- /dev/null
+++ b/databases/clickhouse/files/patch-PreLoad.cmake
@@ -0,0 +1,46 @@
+--- PreLoad.cmake.orig 2024-09-26 19:15:26 UTC
++++ PreLoad.cmake
+@@ -15,12 +15,24 @@ endif()
+ endif ()
+ endif()
+
++# Default toolchain - this is needed to avoid dependency on OS files.
++execute_process(COMMAND uname -s
++ OUTPUT_VARIABLE OS
++ COMMAND_ERROR_IS_FATAL ANY
++)
++execute_process(COMMAND uname -m
++ OUTPUT_VARIABLE ARCH
++ COMMAND_ERROR_IS_FATAL ANY
++)
++
++
+ # Check if environment is polluted.
+-if (NOT "$ENV{CFLAGS}" STREQUAL ""
++if ((OS MATCHES "Linux") AND (NOT "$ENV{CFLAGS}" STREQUAL ""
+ OR NOT "$ENV{CXXFLAGS}" STREQUAL ""
+ OR NOT "$ENV{LDFLAGS}" STREQUAL ""
+ OR CMAKE_C_FLAGS OR CMAKE_CXX_FLAGS OR CMAKE_EXE_LINKER_FLAGS OR CMAKE_MODULE_LINKER_FLAGS
+- OR CMAKE_C_FLAGS_INIT OR CMAKE_CXX_FLAGS_INIT OR CMAKE_EXE_LINKER_FLAGS_INIT OR CMAKE_MODULE_LINKER_FLAGS_INIT)
++ OR CMAKE_C_FLAGS_INIT OR CMAKE_CXX_FLAGS_INIT
++ OR CMAKE_EXE_LINKER_FLAGS_INIT OR CMAKE_MODULE_LINKER_FLAGS_INIT))
+
+ # if $ENV
+ message("CFLAGS: $ENV{CFLAGS}")
+@@ -49,16 +61,6 @@ endif()
+
+ Note: if you don't like this behavior, you can manually edit the cmake files, but please don't complain to developers.")
+ endif()
+-
+-# Default toolchain - this is needed to avoid dependency on OS files.
+-execute_process(COMMAND uname -s
+- OUTPUT_VARIABLE OS
+- COMMAND_ERROR_IS_FATAL ANY
+-)
+-execute_process(COMMAND uname -m
+- OUTPUT_VARIABLE ARCH
+- COMMAND_ERROR_IS_FATAL ANY
+-)
+
+ # By default, prefer clang on Linux
+ # But note, that you still may change the compiler with -DCMAKE_C_COMPILER/-DCMAKE_CXX_COMPILER.
diff --git a/databases/clickhouse/files/patch-cmake_find_krb5.cmake b/databases/clickhouse/files/patch-cmake_find_krb5.cmake
deleted file mode 100644
index c5f2f3935c70..000000000000
--- a/databases/clickhouse/files/patch-cmake_find_krb5.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
---- cmake/find/krb5.cmake.orig 2022-01-22 20:43:13 UTC
-+++ cmake/find/krb5.cmake
-@@ -5,7 +5,7 @@ if (NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/krb5/
- set (ENABLE_KRB5 0)
- endif ()
-
--if (NOT CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT (CMAKE_SYSTEM_NAME MATCHES "Darwin" AND NOT CMAKE_CROSSCOMPILING))
-+if (NOT CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD" AND NOT (CMAKE_SYSTEM_NAME MATCHES "Darwin" AND NOT CMAKE_CROSSCOMPILING))
- message (WARNING "krb5 disabled in non-Linux and non-native-Darwin environments")
- set (ENABLE_KRB5 0)
- endif ()
diff --git a/databases/clickhouse/files/patch-cmake_freebsd_default__libs.cmake b/databases/clickhouse/files/patch-cmake_freebsd_default__libs.cmake
deleted file mode 100644
index 5a1dd2d559a4..000000000000
--- a/databases/clickhouse/files/patch-cmake_freebsd_default__libs.cmake
+++ /dev/null
@@ -1,22 +0,0 @@
---- cmake/freebsd/default_libs.cmake.orig 2022-01-22 20:43:13 UTC
-+++ cmake/freebsd/default_libs.cmake
-@@ -4,13 +4,13 @@ if (NOT COMPILER_CLANG)
- message (FATAL_ERROR "FreeBSD build is supported only for Clang")
- endif ()
-
--if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "amd64")
-- execute_process (COMMAND ${CMAKE_CXX_COMPILER} --print-file-name=libclang_rt.builtins-x86_64.a OUTPUT_VARIABLE BUILTINS_LIBRARY OUTPUT_STRIP_TRAILING_WHITESPACE)
--else ()
-- execute_process (COMMAND ${CMAKE_CXX_COMPILER} --print-file-name=libclang_rt.builtins-${CMAKE_SYSTEM_PROCESSOR}.a OUTPUT_VARIABLE BUILTINS_LIBRARY OUTPUT_STRIP_TRAILING_WHITESPACE)
--endif ()
-+#if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "amd64")
-+# execute_process (COMMAND ${CMAKE_CXX_COMPILER} --print-file-name=libclang_rt.builtins-x86_64.a OUTPUT_VARIABLE BUILTINS_LIBRARY OUTPUT_STRIP_TRAILING_WHITESPACE)
-+#else ()
-+# execute_process (COMMAND ${CMAKE_CXX_COMPILER} --print-file-name=libclang_rt.builtins-${CMAKE_SYSTEM_PROCESSOR}.a OUTPUT_VARIABLE BUILTINS_LIBRARY OUTPUT_STRIP_TRAILING_WHITESPACE)
-+#endif ()
-
--set (DEFAULT_LIBS "${DEFAULT_LIBS} ${BUILTINS_LIBRARY} ${COVERAGE_OPTION} -lc -lm -lrt -lpthread")
-+set (DEFAULT_LIBS "${DEFAULT_LIBS} ${BUILTINS_LIBRARY} ${COVERAGE_OPTION} -lc -lm -lrt -lpthread -lcompiler_rt -lprocstat")
-
- message(STATUS "Default libraries: ${DEFAULT_LIBS}")
-
diff --git a/databases/clickhouse/files/patch-cmake_freebsd_toolchain-x86__64.cmake b/databases/clickhouse/files/patch-cmake_freebsd_toolchain-x86__64.cmake
deleted file mode 100644
index d38c6fa2514e..000000000000
--- a/databases/clickhouse/files/patch-cmake_freebsd_toolchain-x86__64.cmake
+++ /dev/null
@@ -1,14 +0,0 @@
---- cmake/freebsd/toolchain-x86_64.cmake.orig 2021-12-26 09:29:33 UTC
-+++ cmake/freebsd/toolchain-x86_64.cmake
-@@ -1,8 +1,8 @@
- set (CMAKE_SYSTEM_NAME "FreeBSD")
- set (CMAKE_SYSTEM_PROCESSOR "x86_64")
--set (CMAKE_C_COMPILER_TARGET "x86_64-pc-freebsd11")
--set (CMAKE_CXX_COMPILER_TARGET "x86_64-pc-freebsd11")
--set (CMAKE_ASM_COMPILER_TARGET "x86_64-pc-freebsd11")
-+set (CMAKE_C_COMPILER_TARGET "x86_64-pc-freebsd13")
-+set (CMAKE_CXX_COMPILER_TARGET "x86_64-pc-freebsd13")
-+set (CMAKE_ASM_COMPILER_TARGET "x86_64-pc-freebsd13")
- set (CMAKE_SYSROOT "${CMAKE_CURRENT_LIST_DIR}/../../contrib/sysroot/freebsd-x86_64")
-
- set (CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) # disable linkage check - it doesn't work in CMake
diff --git a/databases/clickhouse/files/patch-cmake_tools.cmake b/databases/clickhouse/files/patch-cmake_tools.cmake
deleted file mode 100644
index 9e7a474a7937..000000000000
--- a/databases/clickhouse/files/patch-cmake_tools.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
---- cmake/tools.cmake.orig 2021-12-26 09:29:33 UTC
-+++ cmake/tools.cmake
-@@ -40,7 +40,7 @@ elseif (COMPILER_CLANG)
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fchar8_t")
- endif ()
- else ()
-- set (CLANG_MINIMUM_VERSION 12)
-+ set (CLANG_MINIMUM_VERSION 11)
- if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${CLANG_MINIMUM_VERSION})
- message (FATAL_ERROR "Clang version must be at least ${CLANG_MINIMUM_VERSION}.")
- endif ()
diff --git a/databases/clickhouse/files/patch-contrib_grpc_third__party_cares_cares_CMakeLists.txt b/databases/clickhouse/files/patch-contrib_grpc_third__party_cares_cares_CMakeLists.txt
deleted file mode 100644
index e113926a7dd3..000000000000
--- a/databases/clickhouse/files/patch-contrib_grpc_third__party_cares_cares_CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
---- contrib/grpc/third_party/cares/cares/CMakeLists.txt.orig 2021-10-11 11:30:53 UTC
-+++ contrib/grpc/third_party/cares/cares/CMakeLists.txt
-@@ -115,7 +115,11 @@ ENDIF ()
- CHECK_LIBRARY_EXISTS (nsl gethostbyname "" HAVE_LIBNSL)
- CHECK_LIBRARY_EXISTS (rt clock_gettime "" HAVE_LIBRT)
-
--SET (HAVE_LIBRESOLV 1)
-+# Look for dependent/required libraries
-+CHECK_LIBRARY_EXISTS (resolv res_servicename "" HAVE_RES_SERVICENAME_IN_LIBRESOLV)
-+IF (HAVE_RES_SERVICENAME_IN_LIBRESOLV)
-+ SET (HAVE_LIBRESOLV 1)
-+ENDIF ()
-
- # Look for necessary includes
- CHECK_INCLUDE_FILES (sys/types.h HAVE_SYS_TYPES_H)
diff --git a/databases/clickhouse/files/patch-src_Common_MemoryStatisticsOS.cpp b/databases/clickhouse/files/patch-src_Common_MemoryStatisticsOS.cpp
deleted file mode 100644
index b5a3d52c9114..000000000000
--- a/databases/clickhouse/files/patch-src_Common_MemoryStatisticsOS.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
---- src/Common/MemoryStatisticsOS.cpp.orig 2021-12-26 09:29:33 UTC
-+++ src/Common/MemoryStatisticsOS.cpp
-@@ -1,4 +1,4 @@
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
-
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -6,6 +6,13 @@
- #include <unistd.h>
- #include <cassert>
-
-+#ifdef OS_FREEBSD
-+#include <sys/param.h>
-+#include <sys/sysctl.h>
-+#include <sys/user.h>
-+#include <libprocstat.h>
-+#endif
-+
- #include "MemoryStatisticsOS.h"
-
- #include <base/logger_useful.h>
-@@ -24,20 +31,40 @@ namespace ErrorCodes
- extern const int CANNOT_OPEN_FILE;
- extern const int CANNOT_READ_FROM_FILE_DESCRIPTOR;
- extern const int CANNOT_CLOSE_FILE;
-+#ifdef OS_FREEBSD
-+ extern const int CANNOT_ALLOCATE_MEMORY;
-+#endif
- }
-
--static constexpr auto filename = "/proc/self/statm";
-+#ifndef OS_FREEBSD
-+ static constexpr auto filename = "/proc/self/statm";
-+ static constexpr size_t PAGE_SIZE = 4096;
-+#endif
-
- MemoryStatisticsOS::MemoryStatisticsOS()
- {
-+#ifdef OS_FREEBSD
-+ pstat = ::procstat_open_sysctl();
-+ if (NULL == pstat)
-+ {
-+ throwFromErrno("Cannot open sysctl", ErrorCodes::CANNOT_ALLOCATE_MEMORY);
-+ }
-+#else
- fd = ::open(filename, O_RDONLY | O_CLOEXEC);
-
- if (-1 == fd)
- throwFromErrno("Cannot open file " + std::string(filename), errno == ENOENT ? ErrorCodes::FILE_DOESNT_EXIST : ErrorCodes::CANNOT_OPEN_FILE);
-+#endif
- }
-
- MemoryStatisticsOS::~MemoryStatisticsOS()
- {
-+#ifdef OS_FREEBSD
-+ if (NULL != pstat)
-+ {
-+ ::procstat_close(pstat);
-+ }
-+#else
- if (0 != ::close(fd))
- {
- try
-@@ -51,12 +78,42 @@ MemoryStatisticsOS::~MemoryStatisticsOS()
- DB::tryLogCurrentException(__PRETTY_FUNCTION__);
- }
- }
-+#endif
- }
-
- MemoryStatisticsOS::Data MemoryStatisticsOS::get() const
- {
- Data data;
-
-+#ifdef OS_FREEBSD
-+ size_t pagesize = ::getpagesize();
-+ unsigned int count = 0;
-+
-+ struct kinfo_proc *kp;
-+ struct kinfo_vmentry *kve;
-+
-+ kp = ::procstat_getprocs(pstat, KERN_PROC_PID, ::getpid(), &count);
-+ if (NULL == kp)
-+ {
-+ throwFromErrno("Cannot get proc info", ErrorCodes::CANNOT_ALLOCATE_MEMORY);
-+ }
-+
-+ kve = ::procstat_getvmmap(pstat, kp, &count);
-+ if (NULL == kve)
-+ {
-+ ::procstat_freeprocs(pstat, kp);
-+ throwFromErrno("Cannot get vmmap info", ErrorCodes::CANNOT_ALLOCATE_MEMORY);
-+ }
-+
-+ data.virt = kp->ki_size;
-+ data.resident = kp->ki_rssize * pagesize;
-+ data.shared = (kp->ki_rssize - kve->kve_private_resident) * pagesize;
-+ data.code = kp->ki_tsize * pagesize;
-+ data.data_and_stack = (kp->ki_dsize + kp->ki_ssize) * pagesize;
-+
-+ ::procstat_freevmmap(pstat, kve);
-+ ::procstat_freeprocs(pstat, kp);
-+#else
- constexpr size_t buf_size = 1024;
- char buf[buf_size];
-
-@@ -99,7 +156,7 @@ MemoryStatisticsOS::Data MemoryStatisticsOS::get() con
- data.shared *= page_size;
- data.code *= page_size;
- data.data_and_stack *= page_size;
--
-+#endif
- return data;
- }
-
diff --git a/databases/clickhouse/files/patch-src_Common_MemoryStatisticsOS.h b/databases/clickhouse/files/patch-src_Common_MemoryStatisticsOS.h
deleted file mode 100644
index dc2da1c5518e..000000000000
--- a/databases/clickhouse/files/patch-src_Common_MemoryStatisticsOS.h
+++ /dev/null
@@ -1,22 +0,0 @@
---- src/Common/MemoryStatisticsOS.h.orig 2021-03-19 11:39:14 UTC
-+++ src/Common/MemoryStatisticsOS.h
-@@ -1,5 +1,4 @@
- #pragma once
--#if defined(OS_LINUX)
- #include <cstdint>
-
-
-@@ -35,9 +34,12 @@ class MemoryStatisticsOS (public)
- Data get() const;
-
- private:
-+#ifdef OS_FREEBSD
-+ struct procstat * pstat;
-+#else
- int fd;
-+#endif
- };
-
- }
-
--#endif