Hello community, here is the log from the commit of package protobuf for openSUSE:Factory checked in at 2017-06-23 09:16:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/protobuf (Old) and /work/SRC/openSUSE:Factory/.protobuf.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "protobuf" Fri Jun 23 09:16:24 2017 rev:28 rq:504018 version:3.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/protobuf/protobuf.changes 2017-01-25 22:35:32.247848202 +0100 +++ /work/SRC/openSUSE:Factory/.protobuf.new/protobuf.changes 2017-06-23 09:16:30.582162757 +0200 @@ -1,0 +2,76 @@ +Fri Jun 16 07:57:00 UTC 2017 - mplus...@suse.com + +- Install LICENSE + +------------------------------------------------------------------- +Sun Jun 11 17:15:13 UTC 2017 - alarr...@suse.com + +- Update to 3.3.0 : + * C++: + * Fixed map fields serialization of DynamicMessage to correctly serialize + both key and value regardless of their presence. + * Parser now rejects field number 0 correctly. + * New API Message::SpaceUsedLong() that’s equivalent to + Message::SpaceUsed() but returns the value in size_t. + * JSON support + - New flag always_print_enums_as_ints in JsonPrintOptions. + - New flag preserve_proto_field_names in JsonPrintOptions. It will instruct + the JSON printer to use the original field name declared in the .proto + file instead of converting them to lowerCamelCase when printing JSON. + - JsonPrintOptions.always_print_primtive_fields now works for oneof message + fields. + - Fixed a bug that doesn’t allow different fields to set the same json_name + value. + - Fixed a performance bug that causes excessive memory copy when printing + large messages. + * Various performance optimizations. + * Java: + * Map field setters eagerly validate inputs and throw NullPointerExceptions + as appropriate. + * Added ByteBuffer overloads to the generated parsing methods and the Parser + interface. + * proto3 enum's getNumber() method now throws on UNRECOGNIZED values. + * Output of JsonFormat is now locale independent. + * Python: + * Added FindServiceByName() in the pure-Python DescriptorPool. This works only + for descriptors added with DescriptorPool.Add(). Generated descriptor_pool + does not support this yet. + * Added a descriptor_pool parameter for parsing Any in text_format.Parse(). + * descriptor_pool.FindFileContainingSymbol() now is able to find nested + extensions. + * Extending empty [] to repeated field now sets parent message presence. +- Update to 3.2.0 : + * Added protoc version number to protoc plugin protocol. It can be used by + protoc plugin to detect which version of protoc is used with the plugin and + mitigate known problems in certain version of protoc. + * C++: + * The default parsing byte size limit has been raised from 64MB to 2GB. + * Added rvalue setters for non-arena string fields. + * Enabled debug logging for Android. + * Fixed a double-free problem when using Reflection::SetAllocatedMessage() + with extension fields. + * Fixed several deterministic serialization bugs: + * MessageLite::SerializeAsString() now respects the global deterministic + serialization flag. + * Extension fields are serialized deterministically as well. Fixed protocol + compiler to correctly report importing-self as an error. + * Fixed FileDescriptor::DebugString() to print custom options correctly. + * Various performance/codesize optimizations and cleanups. + * Java: + * The default parsing byte size limit has been raised from 64MB to 2GB. + * Added recursion limit when parsing JSON. + * Fixed a bug that enumType.getDescriptor().getOptions() doesn't have custom + options. + * Fixed generated code to support field numbers up to 2^29-1. + * Python: + * You can now assign NumPy scalars/arrays (np.int32, np.int64) to protobuf + fields, and assigning other numeric types has been optimized for + performance. + * Pure-Python: message types are now garbage-collectable. + * Python/C++: a lot of internal cleanup/refactoring. +- Increase soname to 13 +- Generate python2-protobuf and python3-protobuf packages in Factory +- Make the python2-protobuf package provide and obsolete python-protobuf + to make the transition smooth in Tumbleweed + +------------------------------------------------------------------- Old: ---- protobuf-3.1.0.tar.gz New: ---- protobuf-3.3.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ protobuf.spec ++++++ --- /var/tmp/diff_new_pack.adxSUs/_old 2017-06-23 09:16:31.602018653 +0200 +++ /var/tmp/diff_new_pack.adxSUs/_new 2017-06-23 09:16:31.602018653 +0200 @@ -16,15 +16,25 @@ # -%define soname 11 +%define soname 13 %define tarname protobuf # requires gmock, which is not yet in the distribution %bcond_with check %bcond_without protobuf_java %bcond_without protobuf_python +%if %{with protobuf_python} +%if 0%{?suse_version} > 1320 +%define protobuf_python3 1 +%define python2_prefix python2 +%else +%define protobuf_python3 0 +%define python2_prefix python +%endif +%endif + Name: protobuf -Version: 3.1.0 +Version: 3.3.0 Release: 0 Summary: Protocol Buffers - Google's data interchange format License: BSD-3-Clause @@ -47,11 +57,18 @@ BuildRequires: java-devel >= 1.6.0 %endif %if %{with protobuf_python} -BuildRequires: python-dateutil -BuildRequires: python-devel -BuildRequires: python-python-gflags -BuildRequires: python-pytz -BuildRequires: python-setuptools +BuildRequires: %{python2_prefix}-devel +BuildRequires: %{python2_prefix}-python-dateutil +BuildRequires: %{python2_prefix}-python-gflags +BuildRequires: %{python2_prefix}-pytz +BuildRequires: %{python2_prefix}-setuptools +%if %{protobuf_python3} +BuildRequires: python3-devel +BuildRequires: python3-python-dateutil +BuildRequires: python3-python-gflags +BuildRequires: python3-pytz +BuildRequires: python3-setuptools +%endif BuildRequires: zlib-devel %endif @@ -113,18 +130,32 @@ %endif %if %{with protobuf_python} -%package -n python-%{name} -Summary: Python Bindings for Google Protocol Buffers +%package -n %{python2_prefix}-%{name} +Summary: Python2 Bindings for Google Protocol Buffers Group: Development/Libraries/Python +%if 0%{?protobuf_python3} +Provides: python-%{name} = %{version} +Obsoletes: python-%{name} < %{version} +%endif %if 0%{?suse_version} %py_requires %else Requires: python %endif -%description -n python-%{name} +%description -n %{python2_prefix}-%{name} +This package contains the Python bindings for Google Protocol Buffers. + +%if 0%{?protobuf_python3} +%package -n python3-%{name} +Summary: Python3 Bindings for Google Protocol Buffers +Group: Development/Libraries/Python +Requires: python3 + +%description -n python3-%{name} This package contains the Python bindings for Google Protocol Buffers. %endif +%endif %prep @@ -161,11 +192,21 @@ %endif %if %{with protobuf_python} -pushd python -python setup.py build +cp -Ra python python2 +pushd python2 +python2 setup.py build # setup.py seems to be broken, some files are only installed on the second invocation -python setup.py build +python2 setup.py build popd + +%if 0%{?protobuf_python3} +cp -Ra python python3 +pushd python3 +python3 setup.py build +# setup.py seems to be broken, some files are only installed on the second invocation +python3 setup.py build +popd +%endif %endif %if %{with check} @@ -188,17 +229,28 @@ %endif %if %{with protobuf_python} -pushd python -python setup.py install --skip-build \ +pushd python2 +python2 setup.py install --skip-build \ --prefix=%{_prefix} \ --root %{buildroot} \ - --install-lib=%{py_sitedir} \ + --install-lib=%{python_sitearch} \ --install-data=%{_datadir} \ --record-rpm=INSTALLED_FILES popd -%endif +%fdupes -s %{buildroot}%{python_sitearch} -%fdupes -s %{buildroot}%{py_sitedir} +%if 0%{?protobuf_python3} +pushd python3 +python3 setup.py install --skip-build \ + --prefix=%{_prefix} \ + --root %{buildroot} \ + --install-lib=%{python3_sitearch} \ + --install-data=%{_datadir} \ + --record-rpm=INSTALLED_FILES +popd +%fdupes -s %{buildroot}%{python3_sitearch} +%endif +%endif %post -n libprotobuf%{soname} -p /sbin/ldconfig @@ -214,6 +266,7 @@ %files -n libprotobuf%{soname} %defattr(-, root, root) +%doc LICENSE %{_libdir}/libprotobuf.so.%{soname}* %files -n libprotoc%{soname} @@ -240,8 +293,13 @@ %endif %if %{with protobuf_python} -%files -n python-%{name} -f python/INSTALLED_FILES +%files -n %{python2_prefix}-%{name} -f python2/INSTALLED_FILES %defattr(-,root,root) + +%if 0%{?protobuf_python3} +%files -n python3-%{name} -f python3/INSTALLED_FILES +%defattr(-,root,root) +%endif %endif %changelog ++++++ baselibs.conf ++++++ --- /var/tmp/diff_new_pack.adxSUs/_old 2017-06-23 09:16:31.630014697 +0200 +++ /var/tmp/diff_new_pack.adxSUs/_new 2017-06-23 09:16:31.630014697 +0200 @@ -1,3 +1,3 @@ -libprotobuf11 -libprotoc11 -libprotobuf-lite11 +libprotobuf13 +libprotoc13 +libprotobuf-lite13 ++++++ protobuf-3.1.0.tar.gz -> protobuf-3.3.0.tar.gz ++++++ ++++ 178235 lines of diff (skipped)