public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
* [PATCH 1/2] protobuf: Update to version 30.2
@ 2025-04-24 13:45 Adolf Belka
  2025-04-24 13:45 ` [PATCH 2/2] protobuf-c: Update to version 1.5.2 Adolf Belka
  0 siblings, 1 reply; 2+ messages in thread
From: Adolf Belka @ 2025-04-24 13:45 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

- Update from version 29.3 to 30.2
- Update of rootfile
- Changes in protobuf required changes in protobuf-c to prevent build crashes. An update
   for protobuf-c is combined in this patch set.
- protobuf, protobuf-c and frr (which depends on those) all built successfully.
- Changelog
    30.2
	Compiler
	    Restore generator headers in cmake install until the next breaking C++
	     release (#20749) (b69f653)
	C++
	    Remove dllexport attribute on variable definition. (#20833) (7831669)
	    Restore generator headers in cmake install until the next breaking C++
	     release (#20749) (b69f653)
	    Change how we decide which empty string implementation to use. (#20708)
	     (221b2a0)
	Java
	    Remove dllexport attribute on variable definition. (#20833) (7831669)
	    Add protobuf_maven artifacts to protobuf_maven_dev as well so they can
	     still be referenced correctly using the dev namespace for dev-only
	     targets. (#20771) (09b5078)
	    Add volatile to featuresResolved (#20766) (b7f06f1)
	    Restore generator headers in cmake install until the next breaking C++
	     release (#20749) (b69f653)
	    Restore custom protobuf maven namespaces to avoid polluting main maven
	     namespace for non-dev dependencies as well. (#20739) (f4b0a79)
	    Fix Java concurrency issue in feature resolution for old <=3.25.x gencode
	     using lazy feature resolution. (#20751) (2dc9f35)
	    Fix lite classes in the protobuf-java Maven release to be JDK8 compatible.
	     (#20843) (7a4c63b)
	Kotlin
	    Restore custom protobuf maven namespaces to avoid polluting main maven
	     namespace for non-dev dependencies as well. (#20739) (f4b0a79)
	Csharp
	    Restore generator headers in cmake install until the next breaking C++
	     release (#20749) (b69f653)
	Objective-C
	    Restore generator headers in cmake install until the next breaking C++
	     release (#20749) (b69f653)
	Python
	    Restore generator headers in cmake install until the next breaking C++
	     release (#20749) (b69f653)
	Ruby
	    Restore generator headers in cmake install until the next breaking C++
	     release (#20749) (b69f653)
	Other
	    Restore JDK8 compatibility in Bazel for libraries with dependencies from
	     Maven (e.g. //java/util) (#20832) (da9cadc)
    30.1
	Bazel
	    Loosen py_proto_library check to be on the import path instead of full
	     directory (i.e. excluding external/module-name prefix). (#20569) (3576a1f)
	Compiler
	    Fix python codegen crash when C++ features are used. (#20577) (250c550)
	C++
	    Fix python codegen crash when C++ features are used. (#20577) (250c550)
	Java
	    Remove Java runtime classes from kotlin release. (#20607) (4747628)
	Kotlin
	    Remove Java runtime classes from kotlin release. (#20607) (4747628)
	Python
	    Fix python codegen crash when C++ features are used. (#20577) (250c550)
	Other
	    Re-add system_python repo alias to MODULE.bazel (#20662) (ebb5224)
    30.0
	Announcements
	    This version includes breaking changes to: Objective-C, Python, C++.
	        [Objective-C] Remove legacy WKT headers. (d9caebc)
	        [Objective-C] Remove deprecated apis. (2a52b90)
	        [Objective-C] Remove support for older generated code. (cffa590)
	        [Objective-C] Remove GPBUnknownFieldSet. (2b93422)
	        [Python] Fix closed enum validation under editions (72b3eda)
	        [Python] Remove deprecated GetDebugString() from protobuf python cpp
		 extension. (721a452)
	        [Python] Remove deprecated reflection methods (292f964)
	        [Python] Remove deprecated GetPrototype MessageFactory.GetPrototype(),
		 (c261b49)
	        [Python] Python nested message class qualname now contains the outer
		 message name. (Previous qualname has the same result with name for
		 nested message that outer message name was not included) (0720536)
	        [Python] Remove deprecated Python RPC Service Interfaces (5ba74b1)
	        [Python] Python setdefault behavior change for map field. (81da6b9)
	        [Python] Remove deprecated py_proto_library macro.
	        [C++] Prohibit using Bazel+MSVC to build protobuf (117e7bb)
	        [C++] Remove deprecated Arena::CreateMessage. (d83a536)
	        [C++] Remove CMake submodule support in favor of fetched or installed
		 dependencies. (3f06ca4)
	        [C++] Flip default behavior for handling cmake dependencies. (9cc685e)
	        [C++] Add ASAN poisoning after clearing oneof messages on arena.
		 (54d068e)
	        [C++] Upgrade return type of type_name() and cpp_type_name() from
		 const char* to absl::string_view. (a9ad51f)
	        [C++] Remove deprecated RepeatedPtrField::ClearedCount(). (e8e3253)
	        [C++] Upgrade return type of several string returning functions to
		 absl::string_view. (d1990d9)
	        [C++] Strip ctype from options in C++ (aebf8b9)
	        [C++] Remove MutableRepeatedFieldRef::Reserve() in reflection (913f7b0)
	        [C++] Remove deprecated JsonOptions alias. (e2eb0a1)
	        [C++] Remove deprecated Arena::GetArena. (30ed452)
	Bazel
	    Remove reference to cc_proto_aspect (fa02f76)
	    Remove deprecated bazel/system_python.bzl alias. (00f108c)
	Compiler
	    Add notices.h with information about our dependencies' licenses and add
	     --notices flag to protoc to print the contents of that file. (a7df327)
	    Have the protoc CLI properly report any parser warnings. (cafeaa4)
	    Split protoc apart from libprotoc in our cmake configs. (b4b93b3)
	    Begin adding extension numbers to SourceCodeInfo and FileDescriptorSet for
	     tooling purposes. (9d7236b)
	    Fix various unsigned to signed comparison warnings. (#17212) (67de087)
	C++
	    Fixing staleness tests (6abaf77)
	    Add notices.h with information about our dependencies' licenses and add
	     --notices flag to protoc to print the contents of that file. (a7df327)
	    Backport: Remove if_constexpr usage for future Abseil compatibility
	     (#20488) (450ee76)
	    Add tests for older gcc versions we still support (#20463) (0778473)
	    Fix a bug in handling of implicit-presence string_view fields. (#20403)
	     (81196ac)
	    Remove rules_rust dependency from MODULE.bazel for 30.x (#20310) (b8248f6)
	    Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and
	     com_google_googletest -> @googletest canonical BCR names. (#20295) (df849cc)
	    Replace std::any with a custom solution. (#20251) (6250d09)
	    Make DebugString print debug output, enable debug markers for debug output
	     (9a03332)
	    Fix missing port_undef (#20052) (0644388)
	    Use __builtin_expect_with_probability for proto field presence checks.
	     (e958419)
	    Enable meta-tagging for redaction purposes (1f48795)
	    Breaking change: Prohibit using Bazel+MSVC to build protobuf (117e7bb)
	    Breaking change: Upgrade return type of several string returning functions
	     to absl::string_view. (d1990d9)
	    Print the presence probability when analysis is enabled. (d4ba7ff)
	    Split protoc apart from libprotoc in our cmake configs. (b4b93b3)
	    Breaking change: Strip ctype from options in C++ (aebf8b9)
	    Breaking change: Remove MutableRepeatedFieldRef::Reserve() in reflection
	     (913f7b0)
	    Remove stale references to C++14. (f4cc92c)
	    Breaking change: Upgrade return type of type_name() and cpp_type_name()
	     from const char* to absl::string_view. (a9ad51f)
	    Update cmake minimum version to >=3.16. (21f535c)
	    Migrate coded output stream arguments from const std::string& to
	     absl::string_view. (0361a59)
	    Breaking change: Remove deprecated Arena::GetArena. (30ed452)
	    Remove the time (or time-based) entropy being added to Map's seed. (a7875bb)
	    Don't use CLOCK_UPTIME_RAW if it won't be defined (#16951) (097dcda)
	    Fix DEPENDENCIES in protobuf_generate() to accept multiple values instead
	     of silently dropping (52887e1)
	    Use ABSL_PREDICT_TRUE|FALSE instead of PROTOBUF_PREDICT_TRUE|FALSE. (fd47730)
	    Breaking change: Flip default behavior for handling cmake dependencies.
	     (9cc685edf867acf5...

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/protobuf | 125 +++----------------------------
 lfs/protobuf                     |  12 +--
 2 files changed, 17 insertions(+), 120 deletions(-)

diff --git a/config/rootfiles/common/protobuf b/config/rootfiles/common/protobuf
index db247dfeb..897f8cc33 100644
--- a/config/rootfiles/common/protobuf
+++ b/config/rootfiles/common/protobuf
@@ -1,11 +1,11 @@
 #usr/bin/protoc
-#usr/bin/protoc-29.3.0
+usr/bin/protoc-30.2.0
 #usr/bin/protoc-gen-upb
-#usr/bin/protoc-gen-upb-29.3.0
+usr/bin/protoc-gen-upb-30.2.0
 #usr/bin/protoc-gen-upb_minitable
-#usr/bin/protoc-gen-upb_minitable-29.3.0
+usr/bin/protoc-gen-upb_minitable-30.2.0
 #usr/bin/protoc-gen-upbdefs
-#usr/bin/protoc-gen-upbdefs-29.3.0
+usr/bin/protoc-gen-upbdefs-30.2.0
 #usr/include/google
 #usr/include/google/protobuf
 #usr/include/google/protobuf/any.h
@@ -24,110 +24,31 @@
 #usr/include/google/protobuf/compiler/code_generator_lite.h
 #usr/include/google/protobuf/compiler/command_line_interface.h
 #usr/include/google/protobuf/compiler/cpp
-#usr/include/google/protobuf/compiler/cpp/enum.h
-#usr/include/google/protobuf/compiler/cpp/extension.h
-#usr/include/google/protobuf/compiler/cpp/field.h
-#usr/include/google/protobuf/compiler/cpp/field_generators
-#usr/include/google/protobuf/compiler/cpp/field_generators/generators.h
-#usr/include/google/protobuf/compiler/cpp/file.h
 #usr/include/google/protobuf/compiler/cpp/generator.h
 #usr/include/google/protobuf/compiler/cpp/helpers.h
-#usr/include/google/protobuf/compiler/cpp/ifndef_guard.h
-#usr/include/google/protobuf/compiler/cpp/message.h
-#usr/include/google/protobuf/compiler/cpp/message_layout_helper.h
 #usr/include/google/protobuf/compiler/cpp/names.h
-#usr/include/google/protobuf/compiler/cpp/namespace_printer.h
 #usr/include/google/protobuf/compiler/cpp/options.h
-#usr/include/google/protobuf/compiler/cpp/padding_optimizer.h
-#usr/include/google/protobuf/compiler/cpp/parse_function_generator.h
-#usr/include/google/protobuf/compiler/cpp/service.h
-#usr/include/google/protobuf/compiler/cpp/tracker.h
 #usr/include/google/protobuf/compiler/csharp
-#usr/include/google/protobuf/compiler/csharp/csharp_doc_comment.h
-#usr/include/google/protobuf/compiler/csharp/csharp_enum.h
-#usr/include/google/protobuf/compiler/csharp/csharp_enum_field.h
-#usr/include/google/protobuf/compiler/csharp/csharp_field_base.h
 #usr/include/google/protobuf/compiler/csharp/csharp_generator.h
-#usr/include/google/protobuf/compiler/csharp/csharp_helpers.h
-#usr/include/google/protobuf/compiler/csharp/csharp_map_field.h
-#usr/include/google/protobuf/compiler/csharp/csharp_message.h
-#usr/include/google/protobuf/compiler/csharp/csharp_message_field.h
-#usr/include/google/protobuf/compiler/csharp/csharp_options.h
-#usr/include/google/protobuf/compiler/csharp/csharp_primitive_field.h
-#usr/include/google/protobuf/compiler/csharp/csharp_reflection_class.h
-#usr/include/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h
-#usr/include/google/protobuf/compiler/csharp/csharp_repeated_message_field.h
-#usr/include/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h
-#usr/include/google/protobuf/compiler/csharp/csharp_source_generator_base.h
-#usr/include/google/protobuf/compiler/csharp/csharp_wrapper_field.h
 #usr/include/google/protobuf/compiler/csharp/names.h
 #usr/include/google/protobuf/compiler/importer.h
 #usr/include/google/protobuf/compiler/java
 #usr/include/google/protobuf/compiler/java/context.h
 #usr/include/google/protobuf/compiler/java/doc_comment.h
-#usr/include/google/protobuf/compiler/java/field_common.h
-#usr/include/google/protobuf/compiler/java/file.h
-#usr/include/google/protobuf/compiler/java/full
-#usr/include/google/protobuf/compiler/java/full/enum.h
-#usr/include/google/protobuf/compiler/java/full/enum_field.h
-#usr/include/google/protobuf/compiler/java/full/extension.h
-#usr/include/google/protobuf/compiler/java/full/field_generator.h
-#usr/include/google/protobuf/compiler/java/full/generator_factory.h
-#usr/include/google/protobuf/compiler/java/full/make_field_gens.h
-#usr/include/google/protobuf/compiler/java/full/map_field.h
-#usr/include/google/protobuf/compiler/java/full/message.h
-#usr/include/google/protobuf/compiler/java/full/message_builder.h
-#usr/include/google/protobuf/compiler/java/full/message_field.h
-#usr/include/google/protobuf/compiler/java/full/primitive_field.h
-#usr/include/google/protobuf/compiler/java/full/service.h
-#usr/include/google/protobuf/compiler/java/full/string_field.h
 #usr/include/google/protobuf/compiler/java/generator.h
-#usr/include/google/protobuf/compiler/java/generator_common.h
-#usr/include/google/protobuf/compiler/java/generator_factory.h
 #usr/include/google/protobuf/compiler/java/helpers.h
-#usr/include/google/protobuf/compiler/java/internal_helpers.h
 #usr/include/google/protobuf/compiler/java/java_features.pb.h
-#usr/include/google/protobuf/compiler/java/lite
-#usr/include/google/protobuf/compiler/java/lite/enum.h
-#usr/include/google/protobuf/compiler/java/lite/enum_field.h
-#usr/include/google/protobuf/compiler/java/lite/extension.h
-#usr/include/google/protobuf/compiler/java/lite/field_generator.h
-#usr/include/google/protobuf/compiler/java/lite/generator_factory.h
-#usr/include/google/protobuf/compiler/java/lite/make_field_gens.h
-#usr/include/google/protobuf/compiler/java/lite/map_field.h
-#usr/include/google/protobuf/compiler/java/lite/message.h
-#usr/include/google/protobuf/compiler/java/lite/message_builder.h
-#usr/include/google/protobuf/compiler/java/lite/message_field.h
-#usr/include/google/protobuf/compiler/java/lite/primitive_field.h
-#usr/include/google/protobuf/compiler/java/lite/string_field.h
-#usr/include/google/protobuf/compiler/java/message_serialization.h
 #usr/include/google/protobuf/compiler/java/name_resolver.h
 #usr/include/google/protobuf/compiler/java/names.h
 #usr/include/google/protobuf/compiler/java/options.h
-#usr/include/google/protobuf/compiler/java/shared_code_generator.h
 #usr/include/google/protobuf/compiler/kotlin
-#usr/include/google/protobuf/compiler/kotlin/file.h
 #usr/include/google/protobuf/compiler/kotlin/generator.h
-#usr/include/google/protobuf/compiler/kotlin/message.h
+#usr/include/google/protobuf/compiler/notices.h
 #usr/include/google/protobuf/compiler/objectivec
-#usr/include/google/protobuf/compiler/objectivec/enum.h
-#usr/include/google/protobuf/compiler/objectivec/enum_field.h
-#usr/include/google/protobuf/compiler/objectivec/extension.h
-#usr/include/google/protobuf/compiler/objectivec/field.h
-#usr/include/google/protobuf/compiler/objectivec/file.h
 #usr/include/google/protobuf/compiler/objectivec/generator.h
-#usr/include/google/protobuf/compiler/objectivec/helpers.h
-#usr/include/google/protobuf/compiler/objectivec/import_writer.h
 #usr/include/google/protobuf/compiler/objectivec/line_consumer.h
-#usr/include/google/protobuf/compiler/objectivec/map_field.h
-#usr/include/google/protobuf/compiler/objectivec/message.h
-#usr/include/google/protobuf/compiler/objectivec/message_field.h
 #usr/include/google/protobuf/compiler/objectivec/names.h
 #usr/include/google/protobuf/compiler/objectivec/nsobject_methods.h
-#usr/include/google/protobuf/compiler/objectivec/oneof.h
-#usr/include/google/protobuf/compiler/objectivec/options.h
-#usr/include/google/protobuf/compiler/objectivec/primitive_field.h
-#usr/include/google/protobuf/compiler/objectivec/tf_decode_data.h
 #usr/include/google/protobuf/compiler/parser.h
 #usr/include/google/protobuf/compiler/php
 #usr/include/google/protobuf/compiler/php/names.h
@@ -137,29 +58,10 @@
 #usr/include/google/protobuf/compiler/plugin.proto
 #usr/include/google/protobuf/compiler/python
 #usr/include/google/protobuf/compiler/python/generator.h
-#usr/include/google/protobuf/compiler/python/helpers.h
 #usr/include/google/protobuf/compiler/python/pyi_generator.h
 #usr/include/google/protobuf/compiler/retention.h
 #usr/include/google/protobuf/compiler/ruby
 #usr/include/google/protobuf/compiler/ruby/ruby_generator.h
-#usr/include/google/protobuf/compiler/rust
-#usr/include/google/protobuf/compiler/rust/accessors
-#usr/include/google/protobuf/compiler/rust/accessors/accessor_case.h
-#usr/include/google/protobuf/compiler/rust/accessors/accessors.h
-#usr/include/google/protobuf/compiler/rust/accessors/default_value.h
-#usr/include/google/protobuf/compiler/rust/accessors/generator.h
-#usr/include/google/protobuf/compiler/rust/accessors/with_presence.h
-#usr/include/google/protobuf/compiler/rust/context.h
-#usr/include/google/protobuf/compiler/rust/crate_mapping.h
-#usr/include/google/protobuf/compiler/rust/enum.h
-#usr/include/google/protobuf/compiler/rust/generator.h
-#usr/include/google/protobuf/compiler/rust/message.h
-#usr/include/google/protobuf/compiler/rust/naming.h
-#usr/include/google/protobuf/compiler/rust/oneof.h
-#usr/include/google/protobuf/compiler/rust/relative_path.h
-#usr/include/google/protobuf/compiler/rust/rust_field_type.h
-#usr/include/google/protobuf/compiler/rust/rust_keywords.h
-#usr/include/google/protobuf/compiler/rust/upb_helpers.h
 #usr/include/google/protobuf/compiler/scc.h
 #usr/include/google/protobuf/compiler/subprocess.h
 #usr/include/google/protobuf/compiler/versions.h
@@ -264,8 +166,6 @@
 #usr/include/google/protobuf/stubs/platform_macros.h
 #usr/include/google/protobuf/stubs/port.h
 #usr/include/google/protobuf/stubs/status_macros.h
-#usr/include/google/protobuf/testing
-#usr/include/google/protobuf/testing/file.h
 #usr/include/google/protobuf/text_format.h
 #usr/include/google/protobuf/thread_safe_arena.h
 #usr/include/google/protobuf/timestamp.pb.h
@@ -408,6 +308,7 @@
 #usr/include/upb/reflection/oneof_def.h
 #usr/include/upb/reflection/service_def.h
 #usr/include/upb/text
+#usr/include/upb/text/debug_string.h
 #usr/include/upb/text/encode.h
 #usr/include/upb/text/internal
 #usr/include/upb/text/internal/encode.h
@@ -424,12 +325,6 @@
 #usr/include/upb/wire/internal/decode_fast.h
 #usr/include/upb/wire/reader.h
 #usr/include/upb/wire/types.h
-#usr/include/upb_generator
-#usr/include/upb_generator/common
-#usr/include/upb_generator/common/names.h
-#usr/include/upb_generator/minitable
-#usr/include/upb_generator/minitable/names.h
-#usr/include/upb_generator/minitable/names_internal.h
 #usr/include/utf8_range.h
 #usr/include/utf8_validity.h
 #usr/lib/cmake/protobuf
@@ -445,14 +340,16 @@
 #usr/lib/cmake/utf8_range/utf8_range-targets-noconfig.cmake
 #usr/lib/cmake/utf8_range/utf8_range-targets.cmake
 #usr/lib/libprotobuf-lite.so
-usr/lib/libprotobuf-lite.so.29.3.0
+usr/lib/libprotobuf-lite.so.30.2.0
 #usr/lib/libprotobuf.so
-usr/lib/libprotobuf.so.29.3.0
+usr/lib/libprotobuf.so.30.2.0
 #usr/lib/libprotoc.so
-usr/lib/libprotoc.so.29.3.0
+usr/lib/libprotoc.so.30.2.0
 #usr/lib/libupb.a
 usr/lib/libutf8_range.so
+usr/lib/libutf8_range.so.30.2.0
 usr/lib/libutf8_validity.so
+usr/lib/libutf8_validity.so.30.2.0
 #usr/lib/pkgconfig/protobuf-lite.pc
 #usr/lib/pkgconfig/protobuf.pc
 #usr/lib/pkgconfig/upb.pc
diff --git a/lfs/protobuf b/lfs/protobuf
index 92d19de38..664ac3a11 100644
--- a/lfs/protobuf
+++ b/lfs/protobuf
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 29.3
+VER        = 30.2
 
 THISAPP    = protobuf-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 8d37daac6f0d832e5bff5c56b9be73fce1fe016ca4e905f4c66d8fea20fabbee54a6be2c824f503d40f8492a4ec6280a539c454de9a118b69ebc57f2afe3d965
+$(DL_FILE)_BLAKE2 = 3a7d6bfa38500b16b1ce52b244fd9448fe7be2933a77224a1423a67e3ae3155846c0974ee1b6c579f6050f60b7784ace21b149b3cbdff2ef1e6bf954acbb1b51
 
 install : $(TARGET)
 
@@ -71,10 +71,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 	cd $(DIR_APP) && cmake . \
-			-D CMAKE_INSTALL_PREFIX=/usr \
-			-D protobuf_BUILD_TESTS=OFF \
-			-D protobuf_BUILD_SHARED_LIBS=ON \
-			-D protobuf_ABSL_PROVIDER=package
+				-D CMAKE_INSTALL_PREFIX=/usr \
+				-D protobuf_BUILD_TESTS=OFF \
+				-D protobuf_BUILD_SHARED_LIBS=ON \
+				-D protobuf_ABSL_PROVIDER=package
 	cd $(DIR_APP) && make $(MAKETUNING)
 	cd $(DIR_APP) && make install
 	@rm -rf $(DIR_APP)
-- 
2.49.0



^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH 2/2] protobuf-c: Update to version 1.5.2
  2025-04-24 13:45 [PATCH 1/2] protobuf: Update to version 30.2 Adolf Belka
@ 2025-04-24 13:45 ` Adolf Belka
  0 siblings, 0 replies; 2+ messages in thread
From: Adolf Belka @ 2025-04-24 13:45 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

- Update from version 1.5.0 to 1.5.2
- Update of rootfile not required
- The update to protobuf caused a breaking change for the build of protobuf-c. Version
   1.5.2 has the fix for that issue in it.
- The changes to protobuf-c are such that the code has been significantly changed and
   the previous patch file for version 1.5.0 is no longer needed.
- Changelog
    1.5.2
	* Chase compatibility issues with Google protobuf 30.0-rc1 by @edmonds in
	  https://github.com/protobuf-c/protobuf-c/pull/762
	* protoc-gen-c: Explicitly construct strings where needed for protobuf 30.x by
	  @edmonds in https://github.com/protobuf-c/protobuf-c/pull/768
    1.5.1
	* CMakeList.txt: Remove double hyphens by @AlessandroBono in
	  https://github.com/protobuf-c/protobuf-c/pull/699
	* Makefile.am: Distribute missing Config.cmake.in by @AlessandroBono in
	  https://github.com/protobuf-c/protobuf-c/pull/700
	* protobuf_c_message_unpack(): Fix memory corruption by initializing
	  unknown_fields pointer by @smuellerDD in
	  https://github.com/protobuf-c/protobuf-c/pull/703
	* Fix CI issues with CMake by @clementperon in
	  https://github.com/protobuf-c/protobuf-c/pull/714
	* build.yml: Install libtool on OS X by @edmonds in
	  https://github.com/protobuf-c/protobuf-c/pull/717
	* build.yml: Set "fail-fast: false" so we can tell which jobs are failing by
	  @edmonds in https://github.com/protobuf-c/protobuf-c/pull/718
	* Update actions by @AndrewQuijano in
	  https://github.com/protobuf-c/protobuf-c/pull/740
	* Miscellaneous CI updates by @edmonds in
	  https://github.com/protobuf-c/protobuf-c/pull/747
	* build.yml: Build on more pull request activity types by @edmonds in
	  https://github.com/protobuf-c/protobuf-c/pull/751
	* Chase compatibility issues with Google protobuf >= 26.0 by @edmonds in
	  https://github.com/protobuf-c/protobuf-c/pull/711
	* Clean CMake by @clementperon in
	  https://github.com/protobuf-c/protobuf-c/pull/719
	* build.yml: Update Windows dependencies (abseil, protobuf) by @edmonds in
	  https://github.com/protobuf-c/protobuf-c/pull/753
	* build.yml: Ubuntu: Add 22.04, 24.04 by @edmonds in
	  https://github.com/protobuf-c/protobuf-c/pull/754
	* Order oneof union members from largest to smallest by @edmonds in
	  https://github.com/protobuf-c/protobuf-c/pull/755
	* More renaming of `protoc-c` to `protoc-gen-c` by @edmonds in
	  https://github.com/protobuf-c/protobuf-c/pull/756
	* cmake: Fix build when using ninja and protobuf-c already installed by
	  @edmonds in https://github.com/protobuf-c/protobuf-c/pull/757
	* protoc-gen-c: Log a deprecation warning when invoked as `protoc-c` by
	  @edmonds in https://github.com/protobuf-c/protobuf-c/pull/758
	* build.yml: Try running multiarch builds on Debian bookworm by @edmonds in
	  https://github.com/protobuf-c/protobuf-c/pull/759

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 lfs/protobuf-c                                |   7 +-
 .../protobuf-c_1.5.0_protobuf-26.patch        | 118 ------------------
 2 files changed, 3 insertions(+), 122 deletions(-)
 delete mode 100644 src/patches/protobuf-c_1.5.0_protobuf-26.patch

diff --git a/lfs/protobuf-c b/lfs/protobuf-c
index 679977872..7ed7b9346 100644
--- a/lfs/protobuf-c
+++ b/lfs/protobuf-c
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2024  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2025  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.5.0
+VER        = 1.5.2
 
 THISAPP    = protobuf-c-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 7b428655901f4fd74b67b75419552e7c02065a5291aed4dcc1d55b98c986caa9ccf846eb5e98e0954420c3e5bea559b0078843e00daa7b5c63465eec21e28204
+$(DL_FILE)_BLAKE2 = f6815319bad26095fe462b7a3da295594a853b131b565c7bc27d2d9ba1e51722ce8fefb408e37bc41b953de8ba51d4340b87a57fbb7163ce444e5aa2b99c9721
 
 install : $(TARGET)
 
@@ -70,7 +70,6 @@ $(subst %,%_BLAKE2,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/protobuf-c_1.5.0_protobuf-26.patch
 	cd $(DIR_APP) && ./configure \
 				--prefix=/usr
 	cd $(DIR_APP) && make $(MAKETUNING)
diff --git a/src/patches/protobuf-c_1.5.0_protobuf-26.patch b/src/patches/protobuf-c_1.5.0_protobuf-26.patch
deleted file mode 100644
index 40c9e64d0..000000000
--- a/src/patches/protobuf-c_1.5.0_protobuf-26.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From a6cf1aa386067e26d582cc1d1e327787595c9f13 Mon Sep 17 00:00:00 2001
-From: Robert Edmonds <edmonds@users.noreply.github.com>
-Date: Wed, 20 Mar 2024 21:48:10 -0400
-Subject: [PATCH 1/3] FileGenerator::GenerateHeader(): Set `min_header_version`
- unconditionally
-
-Previously, we were conditionally trying to set `min_header_version` to
-the lowest possible value, and relying on a "legacy" Google interface to
-determine the file descriptor's syntax version as part of that
-determination.
-
-Instead, simply bump the minimum version to 1003000 (1.3.0). This
-release was almost 7 years ago. In practice protobuf-c users should not
-be shipping pre-compiled .pb-c.c/.pb-c.h files, anyway.
----
- protoc-c/c_file.cc | 9 +--------
- 1 file changed, 1 insertion(+), 8 deletions(-)
-
-diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
-index ca0ad34e..c6d8a240 100644
---- a/protoc-c/c_file.cc
-+++ b/protoc-c/c_file.cc
-@@ -117,14 +117,7 @@ FileGenerator::~FileGenerator() {}
- void FileGenerator::GenerateHeader(io::Printer* printer) {
-   std::string filename_identifier = FilenameIdentifier(file_->name());
- 
--  int min_header_version = 1000000;
--#if GOOGLE_PROTOBUF_VERSION >= 4023000
--  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
--#else
--  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
--#endif
--    min_header_version = 1003000;
--  }
-+  const int min_header_version = 1003000;
- 
-   // Generate top of header.
-   printer->Print(
-
-From ee3d9e5423c93ee6b828fdda8e7fef13a77634eb Mon Sep 17 00:00:00 2001
-From: Robert Edmonds <edmonds@users.noreply.github.com>
-Date: Wed, 20 Mar 2024 22:25:54 -0400
-Subject: [PATCH 2/3] Reimplement FieldSyntax() to maximize compatibility
- across protobuf versions
-
-Recent versions of Google protobuf have broken the interfaces for
-determining the syntax version of a .proto file. The current protobuf-c
-1.5.0 release does not compile with Google protobuf 26.0 due to the most
-recentage breakage. There is a possible workaround involving the Google
-protobuf `FileDescriptorLegacy` class, which is documented as:
-
-// TODO Remove this deprecated API entirely.
-
-So we probably shouldn't rely on it.
-
-Instead, this commit obtains the `FileDescriptorProto` corresponding
-to the passed in `FieldDescriptor` and interrogates the `syntax` field
-directly. This is a single implementation with no version-specific
-workarounds. Hopefully this won't break in the next Google protobuf
-release.
-
-I tested the `FieldSyntax()` implementation in this commit across a
-number of different Google protobuf releases and found that it worked
-(`make && make check`) on all of them:
-
-- Google protobuf 3.6.1.3 (Ubuntu 20.04)
-- Google protobuf 3.12.4 (Ubuntu 22.04)
-- Google protobuf 3.21.12 (Debian 12 + Debian unstable)
-- Google protobuf 3.25.2 (Debian experimental)
-- Google protobuf 26.1-dev
----
- protoc-c/c_helpers.h | 24 ++++++++++++++----------
- 1 file changed, 14 insertions(+), 10 deletions(-)
-
-diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
-index 062d330b..be28b601 100644
---- a/protoc-c/c_helpers.h
-+++ b/protoc-c/c_helpers.h
-@@ -70,10 +70,6 @@
- #include <protobuf-c/protobuf-c.pb.h>
- #include <google/protobuf/io/printer.h>
- 
--#if GOOGLE_PROTOBUF_VERSION >= 4023000
--# include <google/protobuf/descriptor_legacy.h>
--#endif
--
- namespace google {
- namespace protobuf {
- namespace compiler {
-@@ -173,13 +169,21 @@ struct NameIndex
- int compare_name_indices_by_name(const void*, const void*);
- 
- // Return the syntax version of the file containing the field.
--// This wrapper is needed to be able to compile against protobuf2.
- inline int FieldSyntax(const FieldDescriptor* field) {
--#if GOOGLE_PROTOBUF_VERSION >= 4023000
--  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
--#else
--  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
--#endif
-+  auto proto = FileDescriptorProto();
-+  field->file()->CopyTo(&proto);
-+
-+  if (proto.has_syntax()) {
-+    auto syntax = proto.syntax();
-+    assert(syntax == "proto2" || syntax == "proto3");
-+    if (syntax == "proto2") {
-+      return 2;
-+    } else if (syntax == "proto3") {
-+      return 3;
-+    }
-+  }
-+
-+  return 2;
- }
- 
- // Work around changes in protobuf >= 22.x without breaking compilation against
-
-- 
2.49.0



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-04-24 13:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-24 13:45 [PATCH 1/2] protobuf: Update to version 30.2 Adolf Belka
2025-04-24 13:45 ` [PATCH 2/2] protobuf-c: Update to version 1.5.2 Adolf Belka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox