[Buildroot] [PATCH] package/{python-}protobuf: bump to version 21.3

Arnout Vandecappelle arnout at mind.be
Sun Jul 24 10:40:33 UTC 2022



On 24/07/2022 12:17, Michael Nosthoff wrote:
> Hi Arnoud,
> hi Julien,
> 
> (julien, i added you as the ola maintainer as this patch might break it)
> 
> On Saturday, July 23, 2022 00:33 CEST, Arnout Vandecappelle <arnout at mind.be> wrote:
> 
>>
>>
>> On 21/07/2022 12:47, Michael Nosthoff via buildroot wrote:
>>> protobuf changed its versioning scheme [1]. The Release version is now only
>>> the Minor.Patch version of the language specific version.
>>>
>>> C++ stays on version 3, but python got bumped to 4. So the handling in the .mk
>>> files changed to reflect that.
>>
>>    I think that the crazy stuff that was done upstream warrants a bit more
>> consideration on our side...
>>
>>    They are basically trying to encode two separate things in the version number:
>>
>> - the version of protobuf itself (i.e. the protocol definition) - this is 21.3;
>>
>> - the version of the language-specific API - this is 3 for all languages, except
>> for python where it was bumped to 4 because it has breaking changes in the 21.0
>> release.
>>
>>    First remark: due to this breaking change, I expect that an update of ola (our
>> only in-tree consumer of python-protobuf) may be needed as well.
> 
> The "breaking changes" according to
> https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
> don't actually sound "too breaking" to me.
> 
> I tried compiling ola with the bumped version. But it is beyond my knowledge how to test this.
> @Julien could you check if this version bump of python-protobuf affects ola?

  A runtime test for ola would be nice!

> 
>>
>>    The version of the language-specific API is basically just there to to
>> indicate breaking changes. In the context of Buildroot, I think it's the protoc
>> version which is more relevant.
>>
>>    Then there's release-monitoring. For protobuf, it says 21.3. For
>> python-protobuf, we have a mapping to the same protobuf package [1].
>>
> I'm not quite sure what you mean here. should we got with
> PYTHON_PROTOBUF_VERSION = 4.x.x or do the same as with the cpp version and
> just add -4. to the SOURCE?

  Yes, that's what I meant, prepend the 4. in the SOURCE definition.

> Where do I see the release-monitoring mapping?

  The URL that I referred to before:
[snip]
>> [1] https://release-monitoring.org/project/3715/


  Regards,
  Arnout

>>
>>> -PROTOBUF_SITE = https://github.com/protocolbuffers/protobuf/releases/download/v$(PROTOBUF_VERSION)
>>> +PROTOBUF_SITE = https://github.com/protocolbuffers/protobuf/releases/download/v$(PROTOBUF_VERSION_MINOR)
>>>    PROTOBUF_LICENSE = BSD-3-Clause
>>>    PROTOBUF_LICENSE_FILES = LICENSE
>>>    PROTOBUF_CPE_ID_VENDOR = google
>>> diff --git a/package/python-protobuf/python-protobuf.hash b/package/python-protobuf/python-protobuf.hash
>>> index ddfa48b491..06ec32c5b5 100644
>>> --- a/package/python-protobuf/python-protobuf.hash
>>> +++ b/package/python-protobuf/python-protobuf.hash
>>> @@ -1,3 +1,3 @@
>>>    # Locally calculated
>>> -sha256  d3449b4df32ca155f8cd71051db916b2bf74cc925760e269c0acf09b48ec1cb8  protobuf-python-3.20.1.tar.gz
>>> +sha256  ab5cda843c1fa2a34c5cdd30b65ae8bd148d8063e7f1b2bfe7daf23e763b0ff2  protobuf-python-4.21.3.tar.gz
>>>    sha256  6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d  LICENSE
>>> diff --git a/package/python-protobuf/python-protobuf.mk b/package/python-protobuf/python-protobuf.mk
>>> index b91ba49339..8c21779faf 100644
>>> --- a/package/python-protobuf/python-protobuf.mk
>>> +++ b/package/python-protobuf/python-protobuf.mk
>>> @@ -4,7 +4,8 @@
>>>    #
>>>    ################################################################################
>>>    
>>> -PYTHON_PROTOBUF_VERSION = $(PROTOBUF_VERSION)
>>> +PYTHON_PROTOBUF_VERSION_MAJOR = 4
>>> +PYTHON_PROTOBUF_VERSION = $(PYTHON_PROTOBUF_VERSION_MAJOR).$(PROTOBUF_VERSION_MINOR)
>>>    PYTHON_PROTOBUF_SOURCE = protobuf-python-$(PYTHON_PROTOBUF_VERSION).tar.gz
>>>    PYTHON_PROTOBUF_SITE = $(PROTOBUF_SITE)
>>>    PYTHON_PROTOBUF_LICENSE = BSD-3-Clause
> 



More information about the buildroot mailing list