Accepting request 504018 from devel:tools:building

- Install LICENSE 

- 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

OBS-URL: https://build.opensuse.org/request/show/504018
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/protobuf?expand=0&rev=28
This commit is contained in:
Dominique Leuenberger 2017-06-23 07:16:24 +00:00 committed by Git OBS Bridge
commit 0d0163ef4e
5 changed files with 159 additions and 25 deletions

View File

@ -1,3 +1,3 @@
libprotobuf11
libprotoc11
libprotobuf-lite11
libprotobuf13
libprotoc13
libprotobuf-lite13

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0a0ae63cbffc274efb573bdde9a253e3f32e458c41261df51c5dbc5ad541e8f7
size 4051503

3
protobuf-3.3.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:94c414775f275d876e5e0e4a276527d155ab2d0da45eed6b7734301c330be36e
size 4336596

View File

@ -1,3 +1,79 @@
-------------------------------------------------------------------
Fri Jun 16 07:57:00 UTC 2017 - mpluskal@suse.com
- Install LICENSE
-------------------------------------------------------------------
Sun Jun 11 17:15:13 UTC 2017 - alarrosa@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() thats 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 doesnt 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
-------------------------------------------------------------------
Sun Jan 22 00:47:42 UTC 2017 - stefan.bruens@rwth-aachen.de

View File

@ -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: pkg-config
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,17 +130,31 @@ This package contains the Java bindings for Google Protocol Buffers.
%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 @@ popd
%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 @@ popd
%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 @@ popd
%files -n libprotobuf%{soname}
%defattr(-, root, root)
%doc LICENSE
%{_libdir}/libprotobuf.so.%{soname}*
%files -n libprotoc%{soname}
@ -240,8 +293,13 @@ popd
%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