From b82b34ce92070eab7a1baf1757b1b7f55e634205 Mon Sep 17 00:00:00 2001 From: Tejas Badjate Date: Tue, 1 Sep 2026 12:45:13 +0530 Subject: [PATCH 1/9] updated libprotobuf script with ubi10.2 and python3.14 support --- l/libprotobuf/build_info.json | 9 +- l/libprotobuf/libprotobuf_ubi_10.2.sh | 110 +++++++++++++++ l/libprotobuf/protobuf-ubi10.2-6.31.1.patch | 145 ++++++++++++++++++++ 3 files changed, 261 insertions(+), 3 deletions(-) create mode 100644 l/libprotobuf/libprotobuf_ubi_10.2.sh create mode 100644 l/libprotobuf/protobuf-ubi10.2-6.31.1.patch diff --git a/l/libprotobuf/build_info.json b/l/libprotobuf/build_info.json index 8cd87f2c36..b630306e08 100644 --- a/l/libprotobuf/build_info.json +++ b/l/libprotobuf/build_info.json @@ -1,8 +1,8 @@ { - "maintainer": "ramnathnayak-ibm", + "maintainer": "tejasBadjateIBM", "package_name": "libprotobuf", "github_url": "https://github.com/protocolbuffers/protobuf", - "version": "v4.25.3", + "version": ["v4.25.3","v6.31.1"], "default_branch": "main", "package_dir": "l/libprotobuf", "build_script": "libprotobuf_ubi_9.3.sh", @@ -10,10 +10,13 @@ "validate_build_script": true, "use_non_root_user": false, "wheel_build": true, - "required_versions": {"Releases": ["*"], "Tags": ["v4.25.3", "v4.25.8"]}, + "required_versions": {"Releases": ["*"], "Tags": ["v4.25.3", "v4.25.8","v6.31.1"]}, "auditwheel_exclude": [ "libabsl_*" ], + "v6.31.1": { + "build_script": "libprotobuf_ubi_10.2.sh" + }, "*": { "build_script": "libprotobuf_ubi_9.3.sh" } diff --git a/l/libprotobuf/libprotobuf_ubi_10.2.sh b/l/libprotobuf/libprotobuf_ubi_10.2.sh new file mode 100644 index 0000000000..53e76b1617 --- /dev/null +++ b/l/libprotobuf/libprotobuf_ubi_10.2.sh @@ -0,0 +1,110 @@ +#!/bin/bash -e +# ----------------------------------------------------------------------------- +# +# Package : libprotobuf +# Version : v6.31.1 +# Source repo : https://github.com/protocolbuffers/protobuf +# Tested on : UBI:10.2 +# Language : Python +# Ci-Check : True +# Script License : Apache License, Version 2 or later +# Maintainer : tejasBadjateIBM +# +# Disclaimer: This script has been tested in root mode on given +# ========== platform using the mentioned version of the package. +# It may not work as expected with newer versions of the +# package and/or distribution. In such case, please +# contact "Maintainer" of this script. +# +# ---------------------------------------------------------------------------- + +PACKAGE_NAME=libprotobuf +PACKAGE_VERSION=${1:-v6.31.1} +PACKAGE_URL=https://github.com/protocolbuffers/protobuf +PACKAGE_DIR="protobuf" +WORK_DIR=$(pwd) + +yum install -y make libtool cmake git wget xz zlib-devel openssl-devel bzip2-devel libffi-devel libevent-devel patch python3.14 python3.14-devel python3.14-pip ninja-build + +yum install gcc-toolset-15 gcc-toolset-15-gcc gcc-toolset-15-gcc-c++ -y + +# --------------------------------------------------------------------------- +# Activate GCC Toolset 15 (SCL removed in UBI 10 — use PATH export) +# --------------------------------------------------------------------------- +if [[ -f /opt/rh/gcc-toolset-15/enable ]]; then + source /opt/rh/gcc-toolset-15/enable +elif [[ -d /opt/rh/gcc-toolset-15/root/usr/bin ]]; then + export PATH="/opt/rh/gcc-toolset-15/root/usr/bin:$PATH" + export LD_LIBRARY_PATH="/opt/rh/gcc-toolset-15/root/usr/lib64:$LD_LIBRARY_PATH" +else + echo "ERROR: gcc-toolset-15 not found" + exit 1 +fi + +export PATH="/opt/rh/gcc-toolset-15/root/usr/bin:$PATH" +export LD_LIBRARY_PATH="/opt/rh/gcc-toolset-15/root/usr/lib64:${LD_LIBRARY_PATH:-}" + +export CC="/opt/rh/gcc-toolset-15/root/usr/bin/gcc" +export CXX="/opt/rh/gcc-toolset-15/root/usr/bin/g++" + +PYTHON_VERSION=$(python --version 2>&1 | cut -d ' ' -f 2 | cut -d '.' -f 1,2) +export SITE_PACKAGE_PATH="/lib/python${PYTHON_VERSION}/site-packages" + +python3.14 -m pip install --upgrade cmake pip setuptools wheel ninja packaging + + +echo "------------ libprotobuf installing-------------------" + +#Build libprotobuf +git clone $PACKAGE_URL +cd $PACKAGE_DIR +git checkout $PACKAGE_VERSION + +wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/main/l/libprotobuf/protobuf-ubi10.2-6.31.1.patch +git apply protobuf-ubi10.2-6.31.1.patch + +LIBPROTO_DIR=$(pwd) +mkdir -p $LIBPROTO_DIR/local/libprotobuf +LIBPROTO_INSTALL=$LIBPROTO_DIR/local/libprotobuf + +git submodule update --init --recursive +rm -rf ./third_party/googletest | true + + +mkdir build +cd build + +#Building and testing is performed through the same command +if ! (cmake -G "Ninja" \ + ${CMAKE_ARGS} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DCMAKE_C_COMPILER=$C_COMPILER \ + -DCMAKE_CXX_COMPILER=$CXX_COMPILER \ + -DCMAKE_INSTALL_PREFIX=$LIBPROTO_INSTALL \ + -Dprotobuf_BUILD_TESTS=OFF \ + -Dprotobuf_BUILD_SHARED_LIBS=ON \ + -Dprotobuf_ABSL_PROVIDER="module" \ + -Dprotobuf_JSONCPP_PROVIDER="package" \ + -Dprotobuf_USE_EXTERNAL_GTEST=OFF \ + ..) ; then + echo "------------------$PACKAGE_NAME:install_&_test_both_fails---------------------" + echo "$PACKAGE_URL $PACKAGE_NAME" + echo "$PACKAGE_NAME | $PACKAGE_URL | $PACKAGE_VERSION | GitHub | Fail | Install_success_but_test_Fails" + exit 2 +else + echo "------------------$PACKAGE_NAME:install_&_test_both_success-------------------------" + echo "$PACKAGE_URL $PACKAGE_NAME" + echo "$PACKAGE_NAME | $PACKAGE_URL | $PACKAGE_VERSION | GitHub | Pass | Both_Install_and_Test_Success" +fi + +cmake --build . --verbose +cmake --install . + +cd .. +wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/main/l/libprotobuf/pyproject.toml +sed -i "s/{PACKAGE_VERSION}/$PACKAGE_VERSION/g" pyproject.toml + +python3.12 -m pip wheel -w $WORK_DIR -vv --no-build-isolation --no-deps . + +exit 0 \ No newline at end of file diff --git a/l/libprotobuf/protobuf-ubi10.2-6.31.1.patch b/l/libprotobuf/protobuf-ubi10.2-6.31.1.patch new file mode 100644 index 0000000000..7f72b7f4b7 --- /dev/null +++ b/l/libprotobuf/protobuf-ubi10.2-6.31.1.patch @@ -0,0 +1,145 @@ +diff --git a/python/google/protobuf/internal/json_format_test.py b/python/google/protobuf/internal/json_format_test.py +index 9e78a8ca7..73647de44 100644 +--- a/python/google/protobuf/internal/json_format_test.py ++++ b/python/google/protobuf/internal/json_format_test.py +@@ -1694,6 +1694,107 @@ class JsonFormatTest(JsonFormatBase): + json_format.Parse( + '{"payload": {}, "child": {"child":{}}}', message, max_recursion_depth=3 + ) ++ ++ def testAnyRecursionDepthEnforcement(self): ++ """Test that nested Any messages respect max_recursion_depth limit.""" ++ # Test that deeply nested Any messages raise ParseError instead of ++ # bypassing the recursion limit. This prevents DoS via nested Any. ++ message = any_pb2.Any() ++ ++ # Create nested Any structure that should exceed depth limit ++ # With max_recursion_depth=5, we can nest 4 Any messages ++ # (depth 1 = outer Any, depth 2-4 = nested Anys, depth 5 = final value) ++ nested_any = { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': {}, ++ }, ++ }, ++ }, ++ }, ++ } ++ ++ # Should raise ParseError due to exceeding max depth, not RecursionError ++ self.assertRaisesRegex( ++ json_format.ParseError, ++ 'Message too deep. Max recursion depth is 5', ++ json_format.ParseDict, ++ nested_any, ++ message, ++ max_recursion_depth=5, ++ ) ++ ++ # Verify that Any messages within the limit can be parsed successfully ++ # With max_recursion_depth=5, we can nest up to 4 Any messages ++ shallow_any = { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': {}, ++ }, ++ }, ++ }, ++ } ++ json_format.ParseDict(shallow_any, message, max_recursion_depth=5) ++ ++ def testAnyRecursionDepthBoundary(self): ++ """Test recursion depth boundary behavior (exclusive upper limit).""" ++ message = any_pb2.Any() ++ ++ # Create nested Any at depth exactly 4 (should succeed with max_recursion_depth=5) ++ depth_4_any = { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': {}, ++ }, ++ }, ++ }, ++ } ++ # This should succeed: depth 4 < max_recursion_depth 5 ++ json_format.ParseDict(depth_4_any, message, max_recursion_depth=5) ++ ++ # Create nested Any at depth exactly 5 (should fail with max_recursion_depth=5) ++ depth_5_any = { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': { ++ '@type': 'type.googleapis.com/google.protobuf.Any', ++ 'value': {}, ++ }, ++ }, ++ }, ++ }, ++ } ++ # This should fail: depth 5 == max_recursion_depth 5 (exclusive limit) ++ self.assertRaisesRegex( ++ json_format.ParseError, ++ 'Message too deep. Max recursion depth is 5', ++ json_format.ParseDict, ++ depth_5_any, ++ message, ++ max_recursion_depth=5, ++ ) + + def testJsonNameConflictSerilize(self): + message = more_messages_pb2.ConflictJsonName(value=2) +diff --git a/python/google/protobuf/json_format.py b/python/google/protobuf/json_format.py +index 0a34e76bb..e43291b55 100644 +--- a/python/google/protobuf/json_format.py ++++ b/python/google/protobuf/json_format.py +@@ -521,6 +521,10 @@ class _Parser(object): + Raises: + ParseError: In case of convert problems. + """ ++ # Increment recursion depth at message entry. The max_recursion_depth limit ++ # is exclusive: a depth value equal to max_recursion_depth will trigger an ++ # error. For example, with max_recursion_depth=5, nesting up to depth 4 is ++ # allowed, but attempting depth 5 raises ParseError. + self.recursion_depth += 1 + if self.recursion_depth > self.max_recursion_depth: + raise ParseError( +@@ -725,12 +729,11 @@ class _Parser(object): + value['value'], sub_message, '{0}.value'.format(path) + ) + elif full_name in _WKTJSONMETHODS: +- methodcaller( +- _WKTJSONMETHODS[full_name][1], +- value['value'], +- sub_message, +- '{0}.value'.format(path), +- )(self) ++ # For well-known types (including nested Any), use ConvertMessage ++ # to ensure recursion depth is properly tracked ++ self.ConvertMessage( ++ value['value'], sub_message, '{0}.value'.format(path) ++ ) + else: + del value['@type'] + try: \ No newline at end of file From 513932e78fabd3a883be4802931c55a6aa5b219d Mon Sep 17 00:00:00 2001 From: Tejas Badjate Date: Tue, 1 Sep 2026 13:01:03 +0530 Subject: [PATCH 2/9] updated build_info.json --- l/libprotobuf/build_info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/l/libprotobuf/build_info.json b/l/libprotobuf/build_info.json index b630306e08..7cafad2da5 100644 --- a/l/libprotobuf/build_info.json +++ b/l/libprotobuf/build_info.json @@ -2,15 +2,15 @@ "maintainer": "tejasBadjateIBM", "package_name": "libprotobuf", "github_url": "https://github.com/protocolbuffers/protobuf", - "version": ["v4.25.3","v6.31.1"], + "version": "v6.31.1", "default_branch": "main", "package_dir": "l/libprotobuf", - "build_script": "libprotobuf_ubi_9.3.sh", + "build_script": "libprotobuf_ubi_10.2.sh", "docker_build": false, "validate_build_script": true, "use_non_root_user": false, "wheel_build": true, - "required_versions": {"Releases": ["*"], "Tags": ["v4.25.3", "v4.25.8","v6.31.1"]}, + "required_versions": {"Releases": ["*"], "Tags": ["v4.25.3", "v4.25.8", "v6.31.1"]}, "auditwheel_exclude": [ "libabsl_*" ], From e4d3b85adbfb7a8fa78695a8da3424686dc91da1 Mon Sep 17 00:00:00 2001 From: Tejas Badjate Date: Tue, 1 Sep 2026 13:18:51 +0530 Subject: [PATCH 3/9] updated script --- l/libprotobuf/libprotobuf_ubi_10.2.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/l/libprotobuf/libprotobuf_ubi_10.2.sh b/l/libprotobuf/libprotobuf_ubi_10.2.sh index 53e76b1617..6a2ab10f63 100644 --- a/l/libprotobuf/libprotobuf_ubi_10.2.sh +++ b/l/libprotobuf/libprotobuf_ubi_10.2.sh @@ -60,8 +60,9 @@ git clone $PACKAGE_URL cd $PACKAGE_DIR git checkout $PACKAGE_VERSION -wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/main/l/libprotobuf/protobuf-ubi10.2-6.31.1.patch -git apply protobuf-ubi10.2-6.31.1.patch +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +git apply "$SCRIPT_DIR/protobuf-ubi10.2-6.31.1.patch" LIBPROTO_DIR=$(pwd) mkdir -p $LIBPROTO_DIR/local/libprotobuf From 0c7385ba1fb000c2f841fbc2d7e230f1c60353fd Mon Sep 17 00:00:00 2001 From: Tejas Badjate Date: Tue, 1 Sep 2026 13:35:33 +0530 Subject: [PATCH 4/9] updated script --- l/libprotobuf/libprotobuf_ubi_10.2.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/l/libprotobuf/libprotobuf_ubi_10.2.sh b/l/libprotobuf/libprotobuf_ubi_10.2.sh index 6a2ab10f63..63ebdd6769 100644 --- a/l/libprotobuf/libprotobuf_ubi_10.2.sh +++ b/l/libprotobuf/libprotobuf_ubi_10.2.sh @@ -62,7 +62,8 @@ git checkout $PACKAGE_VERSION SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -git apply "$SCRIPT_DIR/protobuf-ubi10.2-6.31.1.patch" +wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/main/l/libprotobuf/libprotobuf-ubi10.2-6.31.1.patch +git apply libprotobuf-ubi10.2-6.31.1.patch LIBPROTO_DIR=$(pwd) mkdir -p $LIBPROTO_DIR/local/libprotobuf From d44ba0105ae1b9ca4dec5520f536f355e1703fd4 Mon Sep 17 00:00:00 2001 From: Tejas Badjate Date: Tue, 1 Sep 2026 14:22:49 +0530 Subject: [PATCH 5/9] Remove patch file --- l/libprotobuf/protobuf-ubi10.2-6.31.1.patch | 145 -------------------- 1 file changed, 145 deletions(-) delete mode 100644 l/libprotobuf/protobuf-ubi10.2-6.31.1.patch diff --git a/l/libprotobuf/protobuf-ubi10.2-6.31.1.patch b/l/libprotobuf/protobuf-ubi10.2-6.31.1.patch deleted file mode 100644 index 7f72b7f4b7..0000000000 --- a/l/libprotobuf/protobuf-ubi10.2-6.31.1.patch +++ /dev/null @@ -1,145 +0,0 @@ -diff --git a/python/google/protobuf/internal/json_format_test.py b/python/google/protobuf/internal/json_format_test.py -index 9e78a8ca7..73647de44 100644 ---- a/python/google/protobuf/internal/json_format_test.py -+++ b/python/google/protobuf/internal/json_format_test.py -@@ -1694,6 +1694,107 @@ class JsonFormatTest(JsonFormatBase): - json_format.Parse( - '{"payload": {}, "child": {"child":{}}}', message, max_recursion_depth=3 - ) -+ -+ def testAnyRecursionDepthEnforcement(self): -+ """Test that nested Any messages respect max_recursion_depth limit.""" -+ # Test that deeply nested Any messages raise ParseError instead of -+ # bypassing the recursion limit. This prevents DoS via nested Any. -+ message = any_pb2.Any() -+ -+ # Create nested Any structure that should exceed depth limit -+ # With max_recursion_depth=5, we can nest 4 Any messages -+ # (depth 1 = outer Any, depth 2-4 = nested Anys, depth 5 = final value) -+ nested_any = { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': {}, -+ }, -+ }, -+ }, -+ }, -+ } -+ -+ # Should raise ParseError due to exceeding max depth, not RecursionError -+ self.assertRaisesRegex( -+ json_format.ParseError, -+ 'Message too deep. Max recursion depth is 5', -+ json_format.ParseDict, -+ nested_any, -+ message, -+ max_recursion_depth=5, -+ ) -+ -+ # Verify that Any messages within the limit can be parsed successfully -+ # With max_recursion_depth=5, we can nest up to 4 Any messages -+ shallow_any = { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': {}, -+ }, -+ }, -+ }, -+ } -+ json_format.ParseDict(shallow_any, message, max_recursion_depth=5) -+ -+ def testAnyRecursionDepthBoundary(self): -+ """Test recursion depth boundary behavior (exclusive upper limit).""" -+ message = any_pb2.Any() -+ -+ # Create nested Any at depth exactly 4 (should succeed with max_recursion_depth=5) -+ depth_4_any = { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': {}, -+ }, -+ }, -+ }, -+ } -+ # This should succeed: depth 4 < max_recursion_depth 5 -+ json_format.ParseDict(depth_4_any, message, max_recursion_depth=5) -+ -+ # Create nested Any at depth exactly 5 (should fail with max_recursion_depth=5) -+ depth_5_any = { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': { -+ '@type': 'type.googleapis.com/google.protobuf.Any', -+ 'value': {}, -+ }, -+ }, -+ }, -+ }, -+ } -+ # This should fail: depth 5 == max_recursion_depth 5 (exclusive limit) -+ self.assertRaisesRegex( -+ json_format.ParseError, -+ 'Message too deep. Max recursion depth is 5', -+ json_format.ParseDict, -+ depth_5_any, -+ message, -+ max_recursion_depth=5, -+ ) - - def testJsonNameConflictSerilize(self): - message = more_messages_pb2.ConflictJsonName(value=2) -diff --git a/python/google/protobuf/json_format.py b/python/google/protobuf/json_format.py -index 0a34e76bb..e43291b55 100644 ---- a/python/google/protobuf/json_format.py -+++ b/python/google/protobuf/json_format.py -@@ -521,6 +521,10 @@ class _Parser(object): - Raises: - ParseError: In case of convert problems. - """ -+ # Increment recursion depth at message entry. The max_recursion_depth limit -+ # is exclusive: a depth value equal to max_recursion_depth will trigger an -+ # error. For example, with max_recursion_depth=5, nesting up to depth 4 is -+ # allowed, but attempting depth 5 raises ParseError. - self.recursion_depth += 1 - if self.recursion_depth > self.max_recursion_depth: - raise ParseError( -@@ -725,12 +729,11 @@ class _Parser(object): - value['value'], sub_message, '{0}.value'.format(path) - ) - elif full_name in _WKTJSONMETHODS: -- methodcaller( -- _WKTJSONMETHODS[full_name][1], -- value['value'], -- sub_message, -- '{0}.value'.format(path), -- )(self) -+ # For well-known types (including nested Any), use ConvertMessage -+ # to ensure recursion depth is properly tracked -+ self.ConvertMessage( -+ value['value'], sub_message, '{0}.value'.format(path) -+ ) - else: - del value['@type'] - try: \ No newline at end of file From aa3aba266d54d5dc394c85ff9f0d6e19ddd72a6b Mon Sep 17 00:00:00 2001 From: Tejas Badjate Date: Tue, 1 Sep 2026 14:26:04 +0530 Subject: [PATCH 6/9] updated script --- l/libprotobuf/libprotobuf_ubi_10.2.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l/libprotobuf/libprotobuf_ubi_10.2.sh b/l/libprotobuf/libprotobuf_ubi_10.2.sh index 63ebdd6769..52986fc119 100644 --- a/l/libprotobuf/libprotobuf_ubi_10.2.sh +++ b/l/libprotobuf/libprotobuf_ubi_10.2.sh @@ -62,7 +62,7 @@ git checkout $PACKAGE_VERSION SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/main/l/libprotobuf/libprotobuf-ubi10.2-6.31.1.patch +wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/l/libprotobuf/libprotobuf-ubi10.2-6.31.1.patch git apply libprotobuf-ubi10.2-6.31.1.patch LIBPROTO_DIR=$(pwd) From 99689f14a7f897cb7e619be112b81f47c07eaae7 Mon Sep 17 00:00:00 2001 From: Tejas Badjate Date: Tue, 1 Sep 2026 14:29:05 +0530 Subject: [PATCH 7/9] updated script with patch file --- l/libprotobuf/libprotobuf_ubi_10.2.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l/libprotobuf/libprotobuf_ubi_10.2.sh b/l/libprotobuf/libprotobuf_ubi_10.2.sh index 52986fc119..b25d1dbbd9 100644 --- a/l/libprotobuf/libprotobuf_ubi_10.2.sh +++ b/l/libprotobuf/libprotobuf_ubi_10.2.sh @@ -104,7 +104,7 @@ cmake --build . --verbose cmake --install . cd .. -wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/main/l/libprotobuf/pyproject.toml +wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/l/libprotobuf/pyproject.toml sed -i "s/{PACKAGE_VERSION}/$PACKAGE_VERSION/g" pyproject.toml python3.12 -m pip wheel -w $WORK_DIR -vv --no-build-isolation --no-deps . From 1745de0d3713e1cd5b62d7c2c0f2fcc171d8d1cf Mon Sep 17 00:00:00 2001 From: Tejas Badjate Date: Tue, 1 Sep 2026 15:17:16 +0530 Subject: [PATCH 8/9] updated script with patch file --- l/libprotobuf/libprotobuf_ubi_10.2.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/l/libprotobuf/libprotobuf_ubi_10.2.sh b/l/libprotobuf/libprotobuf_ubi_10.2.sh index b25d1dbbd9..ecdfe63e9d 100644 --- a/l/libprotobuf/libprotobuf_ubi_10.2.sh +++ b/l/libprotobuf/libprotobuf_ubi_10.2.sh @@ -60,10 +60,8 @@ git clone $PACKAGE_URL cd $PACKAGE_DIR git checkout $PACKAGE_VERSION -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/l/libprotobuf/libprotobuf-ubi10.2-6.31.1.patch -git apply libprotobuf-ubi10.2-6.31.1.patch +patch -p1 < libprotobuf-ubi10.2-6.31.1.patch LIBPROTO_DIR=$(pwd) mkdir -p $LIBPROTO_DIR/local/libprotobuf From 7643c25118a344cd3206b99a6721d21051ba4223 Mon Sep 17 00:00:00 2001 From: Tejas Badjate Date: Tue, 1 Sep 2026 15:50:09 +0530 Subject: [PATCH 9/9] updated script with python3.14 --- l/libprotobuf/libprotobuf_ubi_10.2.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l/libprotobuf/libprotobuf_ubi_10.2.sh b/l/libprotobuf/libprotobuf_ubi_10.2.sh index ecdfe63e9d..71d2ce0c43 100644 --- a/l/libprotobuf/libprotobuf_ubi_10.2.sh +++ b/l/libprotobuf/libprotobuf_ubi_10.2.sh @@ -105,6 +105,6 @@ cd .. wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/l/libprotobuf/pyproject.toml sed -i "s/{PACKAGE_VERSION}/$PACKAGE_VERSION/g" pyproject.toml -python3.12 -m pip wheel -w $WORK_DIR -vv --no-build-isolation --no-deps . +python3.14 -m pip wheel -w $WORK_DIR -vv --no-build-isolation --no-deps . exit 0 \ No newline at end of file