From 4e1bba0e809f0fa8a661f98d473f58809dd743d2 Mon Sep 17 00:00:00 2001 From: Kai Franz Date: Tue, 22 Apr 2025 23:49:52 +0000 Subject: [PATCH 1/5] Patch libedit to ignore missing history cookie --- patches/libedit-ignore-missing-cookie.patch | 29 +++++++++++++++++++++ python/build_definitions/libedit.py | 1 + 2 files changed, 30 insertions(+) create mode 100644 patches/libedit-ignore-missing-cookie.patch diff --git a/patches/libedit-ignore-missing-cookie.patch b/patches/libedit-ignore-missing-cookie.patch new file mode 100644 index 00000000..0797b4db --- /dev/null +++ b/patches/libedit-ignore-missing-cookie.patch @@ -0,0 +1,29 @@ +diff --git a/src/history.c b/src/history.c +index 2a8ca1a..71b3fbe 100644 +--- a/src/history.c ++++ b/src/history.c +@@ -793,13 +793,12 @@ history_load(TYPE(History) *h, const char *fname) + if ((sz = getline(&line, &llen, fp)) == -1) + goto done; + +- if (strncmp(line, hist_cookie, (size_t)sz) != 0) +- goto done; +- + ptr = h_malloc((max_size = 1024) * sizeof(*ptr)); + if (ptr == NULL) + goto done; +- for (i = 0; (sz = getline(&line, &llen, fp)) != -1; i++) { ++ for (i = 0; (sz = getline(&line, &llen, fp)) != -1;) { ++ if (i == 0 && strncmp(line, hist_cookie, (size_t)sz) != 0) ++ continue; + if (sz > 0 && line[sz - 1] == '\n') + line[--sz] = '\0'; + if (max_size < (size_t)sz) { +@@ -820,6 +819,7 @@ history_load(TYPE(History) *h, const char *fname) + i = -1; + goto oomem; + } ++ i++; + } + oomem: + h_free(ptr); diff --git a/python/build_definitions/libedit.py b/python/build_definitions/libedit.py index c4778034..689a98cc 100644 --- a/python/build_definitions/libedit.py +++ b/python/build_definitions/libedit.py @@ -25,6 +25,7 @@ def __init__(self) -> None: url_pattern='https://github.com/yugabyte/libedit/archive/libedit-{}.tar.gz', build_group=BuildGroup.POTENTIALLY_INSTRUMENTED) self.copy_sources = True + self.patches = ['libedit-ignore-missing-cookie.patch'] def get_additional_compiler_flags(self, builder: BuilderInterface) -> List[str]: flags = ['-I%s' % os.path.join(builder.prefix_include, 'ncurses')] From a3a8fdd1f8406ff0e7e347da3890a846b0e42fee Mon Sep 17 00:00:00 2001 From: Kai Franz Date: Tue, 22 Apr 2025 23:57:14 +0000 Subject: [PATCH 2/5] Lint --- python/build_definitions/libedit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/build_definitions/libedit.py b/python/build_definitions/libedit.py index 689a98cc..61c6f0ae 100644 --- a/python/build_definitions/libedit.py +++ b/python/build_definitions/libedit.py @@ -25,7 +25,7 @@ def __init__(self) -> None: url_pattern='https://github.com/yugabyte/libedit/archive/libedit-{}.tar.gz', build_group=BuildGroup.POTENTIALLY_INSTRUMENTED) self.copy_sources = True - self.patches = ['libedit-ignore-missing-cookie.patch'] + self.patches = ['libedit-ignore-missing-cookie.patch'] def get_additional_compiler_flags(self, builder: BuilderInterface) -> List[str]: flags = ['-I%s' % os.path.join(builder.prefix_include, 'ncurses')] From bab1b3520c739e989d3392f27b642fbcf771171f Mon Sep 17 00:00:00 2001 From: Kai Franz Date: Wed, 23 Apr 2025 01:05:23 +0000 Subject: [PATCH 3/5] Add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to gflags --- python/build_definitions/gflags.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/build_definitions/gflags.py b/python/build_definitions/gflags.py index f9630546..dae6d049 100644 --- a/python/build_definitions/gflags.py +++ b/python/build_definitions/gflags.py @@ -28,4 +28,5 @@ def build(self, builder: BuilderInterface) -> None: builder.build_with_cmake(self, ['-DCMAKE_BUILD_TYPE=Release', '-DBUILD_SHARED_LIBS=ON', - '-DBUILD_STATIC_LIBS=ON']) + '-DBUILD_STATIC_LIBS=ON', + '-DCMAKE_POLICY_VERSION_MINIMUM=3.5']) From d681207a6c9873c615554e3ca0905dcdce2c4772 Mon Sep 17 00:00:00 2001 From: Kai Franz Date: Wed, 23 Apr 2025 22:10:23 +0000 Subject: [PATCH 4/5] Set DCMAKE_POLICY_VERSION_MINIMUM=3.5 for all cmake builds --- python/build_definitions/gflags.py | 3 +-- python/yugabyte_db_thirdparty/builder.py | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/python/build_definitions/gflags.py b/python/build_definitions/gflags.py index dae6d049..f9630546 100644 --- a/python/build_definitions/gflags.py +++ b/python/build_definitions/gflags.py @@ -28,5 +28,4 @@ def build(self, builder: BuilderInterface) -> None: builder.build_with_cmake(self, ['-DCMAKE_BUILD_TYPE=Release', '-DBUILD_SHARED_LIBS=ON', - '-DBUILD_STATIC_LIBS=ON', - '-DCMAKE_POLICY_VERSION_MINIMUM=3.5']) + '-DBUILD_STATIC_LIBS=ON']) diff --git a/python/yugabyte_db_thirdparty/builder.py b/python/yugabyte_db_thirdparty/builder.py index 9f472784..b29eb59c 100644 --- a/python/yugabyte_db_thirdparty/builder.py +++ b/python/yugabyte_db_thirdparty/builder.py @@ -769,6 +769,8 @@ def build_with_cmake( args += extra_cmake_args args += dep.get_additional_cmake_args(self) + args += ['-DCMAKE_POLICY_VERSION_MINIMUM=3.5'] + if shared_and_static and any(arg.startswith('-DBUILD_SHARED_LIBS=') for arg in args): raise ValueError( "shared_and_static=True is specified but CMake arguments already mention " From 16793b1b023899c146da4d240766d09937869ac3 Mon Sep 17 00:00:00 2001 From: Kai Franz Date: Thu, 24 Apr 2025 20:22:56 +0000 Subject: [PATCH 5/5] Remove DCMAKE_POLICY_VERSION_MINIMUM --- python/yugabyte_db_thirdparty/builder.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/python/yugabyte_db_thirdparty/builder.py b/python/yugabyte_db_thirdparty/builder.py index b29eb59c..9f472784 100644 --- a/python/yugabyte_db_thirdparty/builder.py +++ b/python/yugabyte_db_thirdparty/builder.py @@ -769,8 +769,6 @@ def build_with_cmake( args += extra_cmake_args args += dep.get_additional_cmake_args(self) - args += ['-DCMAKE_POLICY_VERSION_MINIMUM=3.5'] - if shared_and_static and any(arg.startswith('-DBUILD_SHARED_LIBS=') for arg in args): raise ValueError( "shared_and_static=True is specified but CMake arguments already mention "