[packages/protobuf] - disale one test on 32 bit archs

baggins baggins at pld-linux.org
Sun Sep 21 14:45:14 CEST 2025


commit dd0a8f18b5e6d7636f928fa7d82235305b118ef9
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sun Sep 21 16:44:56 2025 +0200

    - disale one test on 32 bit archs

 protobuf-32bit.patch | 320 ++-------------------------------------------------
 protobuf.spec        |  10 +-
 2 files changed, 17 insertions(+), 313 deletions(-)
---
diff --git a/protobuf.spec b/protobuf.spec
index 02adf7e..0cf2f91 100644
--- a/protobuf.spec
+++ b/protobuf.spec
@@ -22,8 +22,9 @@ Source0:	https://github.com/google/protobuf/archive/v%{version}/%{name}-%{versio
 Source1:	ftdetect-proto.vim
 Patch0:		python-no-broken-tests.patch
 Patch1:		no-utf8_range-pkgconfig.patch
-Patch2:		protobuf-x32.patch
+Patch2:		%{name}-x32.patch
 Patch3:		no-death-test.patch
+Patch4:		%{name}-32bit.patch
 URL:		https://github.com/google/protobuf/
 BuildRequires:	abseil-cpp-devel >= 20250814.0
 %{?with_tests:BuildRequires:	gmock-devel >= 1.9.0}
@@ -83,7 +84,7 @@ danych, z poziomu różnych języków. Można nawet uaktualniać strukturę
 danych bez psucia programów skompilowanych w oparciu o "stary" format.
 
 Ten pakiet zawiera kompilator buforów protokołowych dla wszystkich
-języków programowania. 
+języków programowania.
 
 %package libs
 Summary:	Protocol Buffers library
@@ -206,6 +207,7 @@ buforów protokołowych (Protocol Buffers).
 %patch -P1 -p1
 %patch -P2 -p1
 %patch -P3 -p1
+%patch -P4 -p1
 
 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python3},' \
 	examples/add_person.py \
@@ -260,7 +262,7 @@ cd ..
 
 %if %{with ruby}
 install -d $RPM_BUILD_ROOT{%{ruby_vendorarchdir}/google,%{ruby_vendorlibdir}/google,%{ruby_specdir}}
-install ruby/lib/google/protobuf_c.so $RPM_BUILD_ROOT%{ruby_vendorarchdir}/google
+cp -p ruby/lib/google/protobuf_c.so $RPM_BUILD_ROOT%{ruby_vendorarchdir}/google
 cp -pr ruby/lib/google/{protobuf,protobuf.rb} $RPM_BUILD_ROOT%{ruby_vendorlibdir}/google
 cp -p ruby/google-protobuf.gemspec $RPM_BUILD_ROOT%{ruby_specdir}/google-protobuf-%{version}.gemspec
 %endif
@@ -302,7 +304,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/google/protobuf
 %{_pkgconfigdir}/protobuf-lite.pc
 %{_pkgconfigdir}/protobuf.pc
-/usr/lib64/cmake/protobuf
+%{_libdir}/cmake/protobuf
 %{_examplesdir}/%{name}-%{version}
 
 %if %{with static_libs}
diff --git a/protobuf-32bit.patch b/protobuf-32bit.patch
index bf96c51..ea2e9de 100644
--- a/protobuf-32bit.patch
+++ b/protobuf-32bit.patch
@@ -1,309 +1,11 @@
-https://github.com/protocolbuffers/protobuf/pull/10589.patch
-
-From d068cfacde2af77e9d5974db0de469ec29fbefb9 Mon Sep 17 00:00:00 2001
-From: Mike Kruskal <mkruskal at google.com>
-Date: Thu, 15 Sep 2022 09:57:04 -0700
-Subject: [PATCH 1/7] Adding full build to 32 bit tests
-
----
- kokoro/linux/32-bit/test_php.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-#diff --git a/kokoro/linux/32-bit/test_php.sh b/kokoro/linux/32-bit/test_php.sh
-#index 3770b84af32d..3cb518a005cc 100644
-#--- a/kokoro/linux/32-bit/test_php.sh
-#+++ b/kokoro/linux/32-bit/test_php.sh
-#@@ -37,7 +37,7 @@ build_php_c() {
-# }
-# 
-# cmake .
-#-cmake --build . --target protoc -- -j20
-#+cmake --build . -- -j20
-# export PROTOC=$(pwd)/protoc
-# 
-# build_php 7.0
-
-From 6aa43419ee802b57f3e7ece5062e66bcbf1e80e7 Mon Sep 17 00:00:00 2001
-From: Mike Kruskal <mkruskal at google.com>
-Date: Thu, 15 Sep 2022 10:00:45 -0700
-Subject: [PATCH 2/7] Running C++ tests in 32 bit builds
-
----
- kokoro/linux/32-bit/test_php.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-#diff --git a/kokoro/linux/32-bit/test_php.sh b/kokoro/linux/32-bit/test_php.sh
-#index 3cb518a005cc..b9731a2e5444 100644
-#--- a/kokoro/linux/32-bit/test_php.sh
-#+++ b/kokoro/linux/32-bit/test_php.sh
-#@@ -38,6 +38,7 @@ build_php_c() {
-# 
-# cmake .
-# cmake --build . -- -j20
-#+ctest --verbose --parallel 20
-# export PROTOC=$(pwd)/protoc
-# 
-# build_php 7.0
-
-From 5f4a52d9bff7595ec47fb6727662a1cada3cd404 Mon Sep 17 00:00:00 2001
-From: Mike Kruskal <mkruskal at google.com>
-Date: Thu, 15 Sep 2022 10:23:23 -0700
-Subject: [PATCH 3/7] Patching static assert test failure
-
----
- src/google/protobuf/extension_set_unittest.cc | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/google/protobuf/extension_set_unittest.cc b/src/google/protobuf/extension_set_unittest.cc
-index 8b436bc20c93..84da3c5465a2 100644
---- a/src/google/protobuf/extension_set_unittest.cc
-+++ b/src/google/protobuf/extension_set_unittest.cc
-@@ -855,8 +855,10 @@ TEST(ExtensionSetTest, SpaceUsedExcludingSelf) {
-     const size_t old_capacity =                                                \
-         message->GetRepeatedExtension(unittest::repeated_##type##_extension)   \
-             .Capacity();                                                       \
--    EXPECT_GE(old_capacity,                                                    \
--              (RepeatedFieldLowerClampLimit<cpptype, sizeof(void*)>()));       \
-+    EXPECT_GE(                                                                 \
-+        old_capacity,                                                          \
-+        (RepeatedFieldLowerClampLimit<cpptype, std::max(sizeof(cpptype),       \
-+                                                        sizeof(void*))>()));   \
-     for (int i = 0; i < 16; ++i) {                                             \
-       message->AddExtension(unittest::repeated_##type##_extension, value);     \
-     }                                                                          \
-
-From c94b66706bec17d918495f4715183a5eaf0f8044 Mon Sep 17 00:00:00 2001
-From: Mike Kruskal <mkruskal at google.com>
-Date: Thu, 15 Sep 2022 11:31:31 -0700
-Subject: [PATCH 4/7] Test fixes for 32-bit architectures
-
----
- .../compiler/cpp/message_size_unittest.cc     |  2 +-
- .../protobuf/io/zero_copy_stream_unittest.cc  |  3 ++
- .../protobuf/repeated_field_unittest.cc       |  4 +--
- src/google/protobuf/util/time_util_test.cc    | 28 +++++++++++--------
- 4 files changed, 23 insertions(+), 14 deletions(-)
-
-#diff --git a/src/google/protobuf/compiler/cpp/message_size_unittest.cc b/src/google/protobuf/compiler/cpp/message_size_unittest.cc
-#index a75d77a70cbd..ed4a90e223fa 100644
-#--- a/src/google/protobuf/compiler/cpp/message_size_unittest.cc
-#+++ b/src/google/protobuf/compiler/cpp/message_size_unittest.cc
-#@@ -139,9 +139,9 @@ TEST(GeneratedMessageTest, OneStringSize) {
-# 
-# TEST(GeneratedMessageTest, MoreStringSize) {
-#   struct MockGenerated : public MockMessageBase {  // 16 bytes
-#-    int has_bits[1];                               // 4 bytes
-#     int cached_size;                               // 4 bytes
-#     MockRepeatedPtrField data;                     // 24 bytes
-#+    // + 4 bytes padding
-#   };
-#   GOOGLE_CHECK_MESSAGE_SIZE(MockGenerated, 48);
-#   EXPECT_EQ(sizeof(protobuf_unittest::MoreString), sizeof(MockGenerated));
-diff --git a/src/google/protobuf/io/zero_copy_stream_unittest.cc b/src/google/protobuf/io/zero_copy_stream_unittest.cc
-index d82354e571bb..d656da5f13ba 100644
---- a/src/google/protobuf/io/zero_copy_stream_unittest.cc
-+++ b/src/google/protobuf/io/zero_copy_stream_unittest.cc
-@@ -720,6 +720,9 @@ TEST_F(IoTest, StringIo) {
- 
- // Verifies that outputs up to kint32max can be created.
- TEST_F(IoTest, LargeOutput) {
-+  // Filter out this test on 32-bit architectures.
-+  if(sizeof(void*) < 8) return;
-+
-   std::string str;
-   StringOutputStream output(&str);
-   void* unused_data;
-diff --git a/src/google/protobuf/repeated_field_unittest.cc b/src/google/protobuf/repeated_field_unittest.cc
-index eb0b9091cf8e..3baf6f25bb21 100644
---- a/src/google/protobuf/repeated_field_unittest.cc
-+++ b/src/google/protobuf/repeated_field_unittest.cc
-@@ -429,14 +429,14 @@ TEST(RepeatedField, ReserveNothing) {
- 
- TEST(RepeatedField, ReserveLowerClamp) {
-   int clamped_value = internal::CalculateReserveSize<bool, sizeof(void*)>(0, 1);
--  EXPECT_GE(clamped_value, 8 / sizeof(bool));
-+  EXPECT_GE(clamped_value, sizeof(void*) / sizeof(bool));
-   EXPECT_EQ((internal::RepeatedFieldLowerClampLimit<bool, sizeof(void*)>()),
-             clamped_value);
-   // EXPECT_EQ(clamped_value, (internal::CalculateReserveSize<bool,
-   // sizeof(void*)>( clamped_value, 2)));
- 
-   clamped_value = internal::CalculateReserveSize<int, sizeof(void*)>(0, 1);
--  EXPECT_GE(clamped_value, 8 / sizeof(int));
-+  EXPECT_GE(clamped_value, sizeof(void*) / sizeof(int));
-   EXPECT_EQ((internal::RepeatedFieldLowerClampLimit<int, sizeof(void*)>()),
-             clamped_value);
-   // EXPECT_EQ(clamped_value, (internal::CalculateReserveSize<int,
-diff --git a/src/google/protobuf/util/time_util_test.cc b/src/google/protobuf/util/time_util_test.cc
-index 464e57b4ee50..dceb6dbe2bf8 100644
---- a/src/google/protobuf/util/time_util_test.cc
-+++ b/src/google/protobuf/util/time_util_test.cc
-@@ -48,15 +48,18 @@ using google::protobuf::Timestamp;
- namespace {
- 
- TEST(TimeUtilTest, TimestampStringFormat) {
--  Timestamp begin, end;
--  EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin));
--  EXPECT_EQ(TimeUtil::kTimestampMinSeconds, begin.seconds());
--  EXPECT_EQ(0, begin.nanos());
--  EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end));
--  EXPECT_EQ(TimeUtil::kTimestampMaxSeconds, end.seconds());
--  EXPECT_EQ(999999999, end.nanos());
--  EXPECT_EQ("0001-01-01T00:00:00Z", TimeUtil::ToString(begin));
--  EXPECT_EQ("9999-12-31T23:59:59.999999999Z", TimeUtil::ToString(end));
-+  // These these are out of bounds for 32-bit architectures.
-+  if(sizeof(time_t) >= sizeof(uint64_t)) {
-+    Timestamp begin, end;
-+    EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin));
-+    EXPECT_EQ(TimeUtil::kTimestampMinSeconds, begin.seconds());
-+    EXPECT_EQ(0, begin.nanos());
-+    EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end));
-+    EXPECT_EQ(TimeUtil::kTimestampMaxSeconds, end.seconds());
-+    EXPECT_EQ(999999999, end.nanos());
-+    EXPECT_EQ("0001-01-01T00:00:00Z", TimeUtil::ToString(begin));
-+    EXPECT_EQ("9999-12-31T23:59:59.999999999Z", TimeUtil::ToString(end));
-+  }
- 
-   // Test negative timestamps.
-   Timestamp time = TimeUtil::NanosecondsToTimestamp(-1);
-@@ -94,9 +97,12 @@ TEST(TimeUtilTest, DurationStringFormat) {
-   EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin));
-   EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end));
- 
--  EXPECT_EQ("315537897599.999999999s", TimeUtil::ToString(end - begin));
-+  // These these are out of bounds for 32-bit architectures.
-+  if(sizeof(time_t) >= sizeof(uint64_t)) {
-+    EXPECT_EQ("315537897599.999999999s", TimeUtil::ToString(end - begin));
-+    EXPECT_EQ("-315537897599.999999999s", TimeUtil::ToString(begin - end));
-+  }
-   EXPECT_EQ(999999999, (end - begin).nanos());
--  EXPECT_EQ("-315537897599.999999999s", TimeUtil::ToString(begin - end));
-   EXPECT_EQ(-999999999, (begin - end).nanos());
- 
-   // Generated output should contain 3, 6, or 9 fractional digits.
-
-From 4296a527306cdd67b87bbd325c3e9730bcb70bee Mon Sep 17 00:00:00 2001
-From: Mike Kruskal <mkruskal at google.com>
-Date: Fri, 16 Sep 2022 14:49:05 -0700
-Subject: [PATCH 5/7] Cleanup after CMake build
-
----
- kokoro/linux/32-bit/test_php.sh | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-#diff --git a/kokoro/linux/32-bit/test_php.sh b/kokoro/linux/32-bit/test_php.sh
-#index b9731a2e5444..49d57551690c 100644
-#--- a/kokoro/linux/32-bit/test_php.sh
-#+++ b/kokoro/linux/32-bit/test_php.sh
-#@@ -36,10 +36,16 @@ build_php_c() {
-#   test_php_c
-# }
-# 
-#-cmake .
-#+mkdir build
-#+pushd build
-#+cmake ..
-# cmake --build . -- -j20
-# ctest --verbose --parallel 20
-# export PROTOC=$(pwd)/protoc
-#+popd
-#+
-#+# Cleanup after Bazel build
-#+rm -rf build
-# 
-# build_php 7.0
-# build_php 7.1
-
-From 696f3cef1b1549e21a3dc9c030b3d90d5b66c468 Mon Sep 17 00:00:00 2001
-From: Mike Kruskal <mkruskal at google.com>
-Date: Fri, 16 Sep 2022 20:20:49 -0700
-Subject: [PATCH 6/7] Save protoc before cleanup
-
----
- kokoro/linux/32-bit/test_php.sh | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-#diff --git a/kokoro/linux/32-bit/test_php.sh b/kokoro/linux/32-bit/test_php.sh
-#index 49d57551690c..1f62fcba230b 100644
-#--- a/kokoro/linux/32-bit/test_php.sh
-#+++ b/kokoro/linux/32-bit/test_php.sh
-#@@ -41,10 +41,11 @@ pushd build
-# cmake ..
-# cmake --build . -- -j20
-# ctest --verbose --parallel 20
-#-export PROTOC=$(pwd)/protoc
-# popd
-# 
-# # Cleanup after Bazel build
-#+mv build/protoc .
-#+export PROTOC=$(pwd)/protoc
-# rm -rf build
-# 
-# build_php 7.0
-
-From 150ca7710696caf6031d258bb900bd08e9c42dae Mon Sep 17 00:00:00 2001
-From: Mike Kruskal <mkruskal at google.com>
-Date: Fri, 16 Sep 2022 20:47:25 -0700
-Subject: [PATCH 7/7] Route protoc better
-
----
- kokoro/linux/32-bit/test_php.sh   | 9 ++++-----
- php/generate_descriptor_protos.sh | 4 +++-
- php/generate_test_protos.sh       | 4 +++-
- 3 files changed, 10 insertions(+), 7 deletions(-)
-
-#diff --git a/kokoro/linux/32-bit/test_php.sh b/kokoro/linux/32-bit/test_php.sh
-#index 1f62fcba230b..739467b20ca7 100644
-#--- a/kokoro/linux/32-bit/test_php.sh
-#+++ b/kokoro/linux/32-bit/test_php.sh
-#@@ -41,12 +41,8 @@ pushd build
-# cmake ..
-# cmake --build . -- -j20
-# ctest --verbose --parallel 20
-#-popd
-#-
-#-# Cleanup after Bazel build
-#-mv build/protoc .
-# export PROTOC=$(pwd)/protoc
-#-rm -rf build
-#+popd
-# 
-# build_php 7.0
-# build_php 7.1
-#@@ -57,3 +53,6 @@ build_php_c 7.4
-# build_php_c 7.1-zts
-# build_php_c 7.2-zts
-# build_php_c 7.5-zts
-#+
-#+# Cleanup after CMake build
-#+rm -rf build
-#diff --git a/php/generate_descriptor_protos.sh b/php/generate_descriptor_protos.sh
-#index 1a600abc6392..0e5be35e24f7 100755
-#--- a/php/generate_descriptor_protos.sh
-#+++ b/php/generate_descriptor_protos.sh
-#@@ -5,7 +5,9 @@
-# 
-# set -e
-# 
-#-PROTOC=$(realpath protoc)
-#+if [[ -z "${PROTOC}" ]]; then
-#+  PROTOC=$(realpath protoc)
-#+fi
-# if [ ! -f $PROTOC ]; then
-#   bazel build -c opt //:protoc
-#   PROTOC=$(realpath bazel-bin/protoc)
-#diff --git a/php/generate_test_protos.sh b/php/generate_test_protos.sh
-#index 565c7ec1cd08..6d06f959b97d 100755
-#--- a/php/generate_test_protos.sh
-#+++ b/php/generate_test_protos.sh
-#@@ -4,7 +4,9 @@ set -ex
-# 
-# cd `dirname $0`/..
-# 
-#-PROTOC=$(pwd)/protoc
-#+if [[ -z "${PROTOC}" ]]; then
-#+  PROTOC=$(pwd)/protoc
-#+fi
-# if [ ! -f $PROTOC ]; then
-#   bazel build -c opt //:protoc
-#   PROTOC=$(pwd)/bazel-bin/protoc
+--- protobuf-4.25.8/src/google/protobuf/any_test.cc~	2025-05-27 20:57:25.000000000 +0200
++++ protobuf-4.25.8/src/google/protobuf/any_test.cc	2025-09-21 12:53:26.366660322 +0200
+@@ -40,7 +40,7 @@
+ }
+ 
+ TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {
+-#if defined(_MSC_VER) && defined(_M_IX86)
++#if defined(_MSC_VER) && defined(_M_IX86) || defined(__ILP32__)
+   GTEST_SKIP() << "This toolchain can't allocate that much memory.";
+ #endif
+   protobuf_unittest::TestAny submessage;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/protobuf.git/commitdiff/dd0a8f18b5e6d7636f928fa7d82235305b118ef9



More information about the pld-cvs-commit mailing list