From a02710abd8e81aa461dd4e5b3e40739f9fce953953b6f3c1932d91784208300d Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 2 May 2022 07:20:20 +0000 Subject: [PATCH] Accepting request 973989 from home:mcepl:branches:devel:languages:python MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit REQUIRED FOR UPDATE OF PYTHON-GOOGLE-API-CORE - Update to 3.20.1: - PHP - Fix building packaged PHP extension (#9727) - Fixed composer.json to only advertise compatibility with PHP 7.0+. (#9819) - Ruby - Disable the aarch64 build on macOS until it can be fixed. (#9816) - Other - Fix versioning issues in 3.20.0 - Update to 3.20.1: - Ruby - Dropped Ruby 2.3 and 2.4 support for CI and releases. (#9311) - Added Ruby 3.1 support for CI and releases (#9566). - Message.decode/encode: Add recursion_limit option (#9218/#9486) - Allocate with xrealloc()/xfree() so message allocation is visible to the - Ruby GC. In certain tests this leads to much lower memory usage due to more - frequent GC runs (#9586). - Fix conversion of singleton classes in Ruby (#9342) - Suppress warning for intentional circular require (#9556) - JSON will now output shorter strings for double and float fields when possible - without losing precision. - Encoding and decoding of binary format will now work properly on big-endian - systems. - UTF-8 verification was fixed to properly reject surrogate code points. - Unknown enums for proto2 protos now properly implement proto2's behavior of - putting such values in unknown fields. - Java - Revert "Standardize on Array copyOf" (#9400) - Resolve more java field accessor name conflicts (#8198) - Fix parseFrom to only throw InvalidProtocolBufferException - InvalidProtocolBufferException now allows arbitrary wrapped Exception types. - Fix bug in FieldSet.Builder.mergeFrom - Flush CodedOutputStream also flushes underlying OutputStream - When oneof case is the same and the field type is Message, merge the - subfield. (previously it was replaced.)’ - Add @CheckReturnValue to some protobuf types - Report original exceptions when parsing JSON - Add more info to @deprecated javadoc for set/get/has methods - Fix initialization bug in doc comment line numbers - Fix comments for message set wire format. - Kotlin - Add test scope to kotlin-test for protobuf-kotlin-lite (#9518) - Add orNull extensions for optional message fields. - Add orNull extensions to all proto3 message fields. - Python - Dropped support for Python < 3.7 (#9480) - Protoc is now able to generate python stubs (.pyi) with --pyi_out - Pin multibuild scripts to get manylinux1 wheels back (#9216) - Fix type annotations of some Duration and Timestamp methods. - Repeated field containers are now generic in field types and could be used in type annotations. - Protobuf python generated codes are simplified. Descriptors and message classes' definitions are now dynamic created in internal/builder.py. - Insertion Points for messages classes are discarded. - has_presence is added for FieldDescriptor in python - Loosen indexing type requirements to allow valid index() implementations rather than only PyLongObjects. - Fix the deepcopy bug caused by not copying message_listener. - Added python JSON parse recursion limit (default 100) - Path info is added for python JSON parse errors - Pure python repeated scalar fields will not able to pickle. Convert to list first. - Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If specified, the function returns a timezone-aware datetime in the given time zone. If omitted or None, the function returns a timezone-naive UTC datetime (as previously). - Adds client_streaming and server_streaming fields to MethodDescriptor. - Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller JSON serializations with UTF-8 or other non-ASCII encodings. - Added experimental support for directly assigning numpy scalars and array. - Improve the calculation of public_dependencies in DescriptorPool. - [Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment. - Compiler - Migrate IsDefault(const std::string*) and UnsafeSetDefault(const std::string*) - Implement strong qualified tags for TaggedPtr - Rework allocations to power-of-two byte sizes. - Migrate IsDefault(const std::string*) and UnsafeSetDefault(const std::string*) - Implement strong qualified tags for TaggedPtr - Make TaggedPtr Set...() calls explicitly spell out the content type. - Check for parsing error before verifying UTF8. - Enforce a maximum message nesting limit of 32 in the descriptor builder to - guard against stack overflows - Fixed bugs in operators for RepeatedPtrIterator - Assert a maximum map alignment for allocated values - Fix proto1 group extension protodb parsing error - Do not log/report the same descriptor symbol multiple times if it contains - more than one invalid character. - Add UnknownFieldSet::SerializeToString and SerializeToCodedStream. - Remove explicit default pointers and deprecated API from protocol compiler - Arenas - Change Repeated*Field to reuse memory when using arenas. - Implements pbarenaz for profiling proto arenas - Introduce CreateString() and CreateArenaString() for cleaner semantics - Fix unreferenced parameter for MSVC builds - Add UnsafeSetAllocated to be used for one-of string fields. - Make Arena::AllocateAligned() a public function. - Determine if ArenaDtor related code generation is necessary in one place. - Implement on demand register ArenaDtor for InlinedStringField - C++ - Enable testing via CTest (#8737) - Add option to use external GTest in CMake (#8736) - CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so (#8635) (#9529) - Add cmake option protobuf_INSTALL to not install files (#7123) - CMake: Allow custom plugin options e.g. to generate mocks (#9105) - CMake: Use linker version scripts (#9545) - Manually *struct Cord fields to work better with arenas. - Manually destruct map fields. - Generate narrower code - Fix #9378 by removing - shadowed cached_size field - Remove GetPointer() and explicit nullptr defaults. - Add proto_h flag for speeding up large builds - Add missing overload for reference wrapped fields. - Add MergedDescriptorDatabase::FindAllFileNames() - RepeatedField now defines an iterator type instead of using a pointer. - Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS. - PHP - Fix: add missing reserved classnames (#9458) - PHP 8.1 compatibility (#9370) - C# - Fix trim warnings (#9182) - Fixes NullReferenceException when accessing FieldDescriptor.IsPacked (#9430) - Add ToProto() method to all descriptor classes (#9426) - Add an option to preserve proto names in JsonFormatter (#6307) - Objective-C - Add prefix_to_proto_package_mappings_path option. (#9498) - Rename proto_package_to_prefix_mappings_path to package_to_prefix_mappings_path. (#9552) - Add a generation option to control use of forward declarations in headers. (#9568) - Add change_desc_db.patch to fix gh#googleapis/python-api-core#372 and gh#protocolbuffers/protobuf#9867 OBS-URL: https://build.opensuse.org/request/show/973989 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/protobuf?expand=0&rev=114 --- baselibs.conf | 6 +- change_desc_db.patch | 27 ++++++ protobuf-3.19.4.tar.gz | 3 - protobuf-3.20.1.tar.gz | 3 + protobuf.changes | 181 +++++++++++++++++++++++++++++++++++++++++ protobuf.spec | 10 ++- 6 files changed, 221 insertions(+), 9 deletions(-) create mode 100644 change_desc_db.patch delete mode 100644 protobuf-3.19.4.tar.gz create mode 100644 protobuf-3.20.1.tar.gz diff --git a/baselibs.conf b/baselibs.conf index bd3c0ad..15b9b2d 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,3 +1,3 @@ -libprotobuf30 -libprotoc30 -libprotobuf-lite30 +libprotobuf31 +libprotoc31 +libprotobuf-lite31 diff --git a/change_desc_db.patch b/change_desc_db.patch new file mode 100644 index 0000000..ed65fcf --- /dev/null +++ b/change_desc_db.patch @@ -0,0 +1,27 @@ +--- + python/google/protobuf/descriptor_database.py | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +--- a/python/google/protobuf/descriptor_database.py ++++ b/python/google/protobuf/descriptor_database.py +@@ -75,14 +75,17 @@ class DescriptorDatabase(object): + for name in _ExtractSymbols(message, package): + self._AddSymbol(name, file_desc_proto) + for enum in file_desc_proto.enum_type: +- self._AddSymbol(('.'.join((package, enum.name))), file_desc_proto) ++ symbol = ('.'.join((package, enum.name))).lstrip('.') ++ self._AddSymbol(symbol, file_desc_proto) + for enum_value in enum.value: + self._file_desc_protos_by_symbol[ + '.'.join((package, enum_value.name))] = file_desc_proto + for extension in file_desc_proto.extension: +- self._AddSymbol(('.'.join((package, extension.name))), file_desc_proto) ++ symbol = ('.'.join((package, extension.name))).lstrip('.') ++ self._AddSymbol(symbol, file_desc_proto) + for service in file_desc_proto.service: +- self._AddSymbol(('.'.join((package, service.name))), file_desc_proto) ++ symbol = ('.'.join((package, service.name))).lstrip('.') ++ self._AddSymbol(symbol, file_desc_proto) + + def FindFileByName(self, name): + """Finds the file descriptor proto by file name. diff --git a/protobuf-3.19.4.tar.gz b/protobuf-3.19.4.tar.gz deleted file mode 100644 index 8643ea2..0000000 --- a/protobuf-3.19.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3bd7828aa5af4b13b99c191e8b1e884ebfa9ad371b0ce264605d347f135d2568 -size 5293745 diff --git a/protobuf-3.20.1.tar.gz b/protobuf-3.20.1.tar.gz new file mode 100644 index 0000000..0af5a1c --- /dev/null +++ b/protobuf-3.20.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b28fdd45bab62d15db232ec404248901842e5340299a57765e48abe8a80d930 +size 5368262 diff --git a/protobuf.changes b/protobuf.changes index 736f7e7..dc1dace 100644 --- a/protobuf.changes +++ b/protobuf.changes @@ -1,3 +1,184 @@ +------------------------------------------------------------------- +Mon Apr 25 13:01:22 UTC 2022 - Matej Cepl + +- Update to 3.20.1: + - PHP + - Fix building packaged PHP extension (#9727) + - Fixed composer.json to only advertise compatibility with + PHP 7.0+. (#9819) + - Ruby + - Disable the aarch64 build on macOS until it can be fixed. (#9816) + - Other + - Fix versioning issues in 3.20.0 +- Update to 3.20.1: + - Ruby + - Dropped Ruby 2.3 and 2.4 support for CI and releases. + (#9311) + - Added Ruby 3.1 support for CI and releases (#9566). + - Message.decode/encode: Add recursion_limit option + (#9218/#9486) + - Allocate with xrealloc()/xfree() so message allocation is + visible to the + - Ruby GC. In certain tests this leads to much lower memory + usage due to more + - frequent GC runs (#9586). + - Fix conversion of singleton classes in Ruby (#9342) + - Suppress warning for intentional circular require (#9556) + - JSON will now output shorter strings for double and float + fields when possible + - without losing precision. + - Encoding and decoding of binary format will now work + properly on big-endian + - systems. + - UTF-8 verification was fixed to properly reject surrogate + code points. + - Unknown enums for proto2 protos now properly implement + proto2's behavior of + - putting such values in unknown fields. + - Java + - Revert "Standardize on Array copyOf" (#9400) + - Resolve more java field accessor name conflicts (#8198) + - Fix parseFrom to only throw InvalidProtocolBufferException + - InvalidProtocolBufferException now allows arbitrary wrapped + Exception types. + - Fix bug in FieldSet.Builder.mergeFrom + - Flush CodedOutputStream also flushes underlying + OutputStream + - When oneof case is the same and the field type is Message, + merge the + - subfield. (previously it was replaced.)’ + - Add @CheckReturnValue to some protobuf types + - Report original exceptions when parsing JSON + - Add more info to @deprecated javadoc for set/get/has + methods + - Fix initialization bug in doc comment line numbers + - Fix comments for message set wire format. + - Kotlin + - Add test scope to kotlin-test for protobuf-kotlin-lite + (#9518) + - Add orNull extensions for optional message fields. + - Add orNull extensions to all proto3 message fields. + - Python + - Dropped support for Python < 3.7 (#9480) + - Protoc is now able to generate python stubs (.pyi) with + --pyi_out + - Pin multibuild scripts to get manylinux1 wheels back + (#9216) + - Fix type annotations of some Duration and Timestamp + methods. + - Repeated field containers are now generic in field types + and could be used in type annotations. + - Protobuf python generated codes are simplified. Descriptors + and message classes' definitions are now dynamic created in + internal/builder.py. + - Insertion Points for messages classes are discarded. + - has_presence is added for FieldDescriptor in python + - Loosen indexing type requirements to allow valid index() + implementations rather than only PyLongObjects. + - Fix the deepcopy bug caused by not copying + message_listener. + - Added python JSON parse recursion limit (default 100) + - Path info is added for python JSON parse errors + - Pure python repeated scalar fields will not able to pickle. + Convert to list first. + - Timestamp.ToDatetime() now accepts an optional tzinfo + parameter. If specified, the function returns + a timezone-aware datetime in the given time zone. If + omitted or None, the function returns a timezone-naive UTC + datetime (as previously). + - Adds client_streaming and server_streaming fields to + MethodDescriptor. + - Add "ensure_ascii" parameter to json_format.MessageToJson. + This allows smaller JSON serializations with UTF-8 or other + non-ASCII encodings. + - Added experimental support for directly assigning numpy + scalars and array. + - Improve the calculation of public_dependencies in + DescriptorPool. + - [Breaking Change] Disallow setting fields to numpy + singleton arrays or repeated fields to numpy + multi-dimensional arrays. Numpy arrays should be indexed or + flattened explicitly before assignment. + - Compiler + - Migrate IsDefault(const std::string*) and + UnsafeSetDefault(const std::string*) + - Implement strong qualified tags for TaggedPtr + - Rework allocations to power-of-two byte sizes. + - Migrate IsDefault(const std::string*) and + UnsafeSetDefault(const std::string*) + - Implement strong qualified tags for TaggedPtr + - Make TaggedPtr Set...() calls explicitly spell out the + content type. + - Check for parsing error before verifying UTF8. + - Enforce a maximum message nesting limit of 32 in the + descriptor builder to + - guard against stack overflows + - Fixed bugs in operators for RepeatedPtrIterator + - Assert a maximum map alignment for allocated values + - Fix proto1 group extension protodb parsing error + - Do not log/report the same descriptor symbol multiple + times if it contains + - more than one invalid character. + - Add UnknownFieldSet::SerializeToString and + SerializeToCodedStream. + - Remove explicit default pointers and deprecated API from + protocol compiler + - Arenas + - Change Repeated*Field to reuse memory when using arenas. + - Implements pbarenaz for profiling proto arenas + - Introduce CreateString() and CreateArenaString() for + cleaner semantics + - Fix unreferenced parameter for MSVC builds + - Add UnsafeSetAllocated to be used for one-of string + fields. + - Make Arena::AllocateAligned() a public function. + - Determine if ArenaDtor related code generation is + necessary in one place. + - Implement on demand register ArenaDtor for + InlinedStringField + - C++ + - Enable testing via CTest (#8737) + - Add option to use external GTest in CMake (#8736) + - CMake: Set correct sonames for libprotobuf-lite.so and + libprotoc.so (#8635) (#9529) + - Add cmake option protobuf_INSTALL to not install files + (#7123) + - CMake: Allow custom plugin options e.g. to generate mocks + (#9105) + - CMake: Use linker version scripts (#9545) + - Manually *struct Cord fields to work better with arenas. + - Manually destruct map fields. + - Generate narrower code + - Fix #9378 by removing + - shadowed cached_size field + - Remove GetPointer() and explicit nullptr defaults. + - Add proto_h flag for speeding up large builds + - Add missing overload for reference wrapped fields. + - Add MergedDescriptorDatabase::FindAllFileNames() + - RepeatedField now defines an iterator type instead of + using a pointer. + - Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and + GOOGLE_PROTOBUF_HAS_ARENAS. + - PHP + - Fix: add missing reserved classnames (#9458) + - PHP 8.1 compatibility (#9370) + - C# + - Fix trim warnings (#9182) + - Fixes NullReferenceException when accessing + FieldDescriptor.IsPacked (#9430) + - Add ToProto() method to all descriptor classes (#9426) + - Add an option to preserve proto names in JsonFormatter + (#6307) + - Objective-C + - Add prefix_to_proto_package_mappings_path option. (#9498) + - Rename proto_package_to_prefix_mappings_path to + package_to_prefix_mappings_path. (#9552) + - Add a generation option to control use of forward + declarations in headers. (#9568) +- Add change_desc_db.patch to fix + gh#googleapis/python-api-core#372 and + gh#protocolbuffers/protobuf#9867 + ------------------------------------------------------------------- Wed Mar 16 16:39:10 UTC 2022 - Bruno Pitrus diff --git a/protobuf.spec b/protobuf.spec index 4f2fb6b..8ef55e2 100644 --- a/protobuf.spec +++ b/protobuf.spec @@ -17,7 +17,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} -%define sover 30 +%define sover 31 %define tarname protobuf %define src_install_dir %{_prefix}/src/%{name} %define extra_java_flags -source 7 -target 7 @@ -27,7 +27,7 @@ %bcond_without python2 %bcond_without python3 Name: protobuf -Version: 3.19.4 +Version: 3.20.1 Release: 0 Summary: Protocol Buffers - Google's data interchange format License: BSD-3-Clause @@ -36,6 +36,10 @@ URL: https://github.com/protocolbuffers/protobuf Source0: https://github.com/protocolbuffers/protobuf/archive/v%{version}.tar.gz#/%{tarname}-%{version}.tar.gz Source1: manifest.txt.in Source2: baselibs.conf +# PATCH-FIX-UPSTREAM change_desc_db.patch gh#googleapis/python-api-core#372 mcepl@suse.com +# Remove leading dot from database entries, probably just a poor workaround +# Reported to upstream as gh#protocolbuffers/protobuf#9867 +Patch0: change_desc_db.patch BuildRequires: %{python_module devel} BuildRequires: %{python_module python-dateutil} BuildRequires: %{python_module setuptools} @@ -163,7 +167,7 @@ This package contains the Python bindings for Google Protocol Buffers. %endif %prep -%autosetup -n %{tarname}-%{version} +%autosetup -p1 -n %{tarname}-%{version} mkdir gmock %if %{with python2} || %{with python3}