diff mbox

protobuf: bump to 2.6.1

Message ID 1446626241-25745-1-git-send-email-steven@uplinklabs.net
State Accepted
Headers show

Commit Message

Steven Noonan Nov. 4, 2015, 8:37 a.m. UTC
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
---
 package/protobuf/protobuf.hash | 2 ++
 package/protobuf/protobuf.mk   | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
 create mode 100644 package/protobuf/protobuf.hash

Comments

Thomas Petazzoni Nov. 4, 2015, 11:03 a.m. UTC | #1
Dear Steven Noonan,

On Wed,  4 Nov 2015 00:37:21 -0800, Steven Noonan wrote:
> Signed-off-by: Steven Noonan <steven@uplinklabs.net>
> ---
>  package/protobuf/protobuf.hash | 2 ++
>  package/protobuf/protobuf.mk   | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
>  create mode 100644 package/protobuf/protobuf.hash

There have already been several attempts at bumping protobuf to 2.6.x,
but each time there were some issues.

Search for:

Subject: [Buildroot] [PATCH 1/1] protobuf: bump version to 2.6.1
Date: Mon, 22 Jun 2015 14:58:59 -0300

Subject: [Buildroot] [PATCH 1/1] protobuf/protobuf-c: bump versions
Date: Thu, 13 Aug 2015 21:41:21 -0400

Can you look into these threads and check that your bump takes into
account those problems ?

Most notably, make sure that protobuf-c builds fine, and
python-protobuf builds fine. But look at the threads for other
potential issues.

Thanks,

Thomas
Steven Noonan Nov. 4, 2015, 3:28 p.m. UTC | #2
On Wed, Nov 4, 2015 at 3:03 AM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Dear Steven Noonan,
>
> On Wed,  4 Nov 2015 00:37:21 -0800, Steven Noonan wrote:
>> Signed-off-by: Steven Noonan <steven@uplinklabs.net>
>> ---
>>  package/protobuf/protobuf.hash | 2 ++
>>  package/protobuf/protobuf.mk   | 2 +-
>>  2 files changed, 3 insertions(+), 1 deletion(-)
>>  create mode 100644 package/protobuf/protobuf.hash
>
> There have already been several attempts at bumping protobuf to 2.6.x,
> but each time there were some issues.
>
> Search for:
>
> Subject: [Buildroot] [PATCH 1/1] protobuf: bump version to 2.6.1
> Date: Mon, 22 Jun 2015 14:58:59 -0300
>
> Subject: [Buildroot] [PATCH 1/1] protobuf/protobuf-c: bump versions
> Date: Thu, 13 Aug 2015 21:41:21 -0400
>
> Can you look into these threads and check that your bump takes into
> account those problems ?

Thanks for pointing those out. I'll take a look.

> Most notably, make sure that protobuf-c builds fine, and
> python-protobuf builds fine. But look at the threads for other
> potential issues.
>
> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
Steven Noonan Nov. 4, 2015, 4:58 p.m. UTC | #3
On Wed, Nov 4, 2015 at 7:28 AM, Steven Noonan <steven@uplinklabs.net> wrote:
> On Wed, Nov 4, 2015 at 3:03 AM, Thomas Petazzoni
> <thomas.petazzoni@free-electrons.com> wrote:
>> Dear Steven Noonan,
>>
>> On Wed,  4 Nov 2015 00:37:21 -0800, Steven Noonan wrote:
>>> Signed-off-by: Steven Noonan <steven@uplinklabs.net>
>>> ---
>>>  package/protobuf/protobuf.hash | 2 ++
>>>  package/protobuf/protobuf.mk   | 2 +-
>>>  2 files changed, 3 insertions(+), 1 deletion(-)
>>>  create mode 100644 package/protobuf/protobuf.hash
>>
>> There have already been several attempts at bumping protobuf to 2.6.x,
>> but each time there were some issues.
>>
>> Search for:
>>
>> Subject: [Buildroot] [PATCH 1/1] protobuf: bump version to 2.6.1
>> Date: Mon, 22 Jun 2015 14:58:59 -0300
>>
>> Subject: [Buildroot] [PATCH 1/1] protobuf/protobuf-c: bump versions
>> Date: Thu, 13 Aug 2015 21:41:21 -0400
>>
>> Can you look into these threads and check that your bump takes into
>> account those problems ?
>
> Thanks for pointing those out. I'll take a look.

One of the threads I found is confusing. It bumped protobuf to 2.6.1
but also enabled building for PowerPC. But I see no indication in the
protobuf 2.6.1 sources that PowerPC is a supported architecture, so I
wouldn't have expected it to work -- and the patch was presumably not
applied for that reason. This issue should not affect my patch, as I
didn't touch the architecture requirements in
package/protobuf/Config.in (or in anything depending on protobuf).

I also saw threads talking about compile problems on pre-GCC 4.7
toolchains, but I successfully built on x86_64 with as old as GCC 4.4
(but didn't try older than that).

>> Most notably, make sure that protobuf-c builds fine, and
>> python-protobuf builds fine. But look at the threads for other
>> potential issues.

I'll submit a separate patch upgrading protobuf-c to v1.1.1.

With the protobuf 2.6.1 patch and my [unsubmitted] protobuf-c v1.1.1
patch, I successfully built with this defconfig (basically
qemu_x86_64_defconfig + protobuf and any packages using it):

BR2_x86_64=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="4.2"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_2=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TARGET_GENERIC_GETTY_PORT="tty1"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.2"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux-4.2.config"
BR2_PACKAGE_OLA=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PROTOBUF=y
BR2_PACKAGE_PROTOBUF_C=y
BR2_PACKAGE_COLLECTD=y
BR2_PACKAGE_MOSH=y
BR2_TARGET_ROOTFS_EXT2=y
# BR2_TARGET_ROOTFS_TAR is not set


And to cover all my bases I also tried the same with a similarly
modified qemu_mipsel_malta_defconfig:

BR2_mipsel=y
BR2_mips_32r2=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="4.2"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_2=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.2"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mipsel-malta/linux-4.2.config"
BR2_LINUX_KERNEL_VMLINUX=y
BR2_PACKAGE_OLA=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PROTOBUF=y
BR2_PACKAGE_PROTOBUF_C=y
BR2_PACKAGE_COLLECTD=y
BR2_PACKAGE_MOSH=y
BR2_TARGET_ROOTFS_EXT2=y
# BR2_TARGET_ROOTFS_TAR is not set


Didn't run into any build problems with either one.
Thomas Petazzoni Nov. 4, 2015, 5:34 p.m. UTC | #4
Steven,

On Wed, 4 Nov 2015 08:58:16 -0800, Steven Noonan wrote:

> > Thanks for pointing those out. I'll take a look.
> 
> One of the threads I found is confusing. It bumped protobuf to 2.6.1
> but also enabled building for PowerPC. But I see no indication in the
> protobuf 2.6.1 sources that PowerPC is a supported architecture, so I
> wouldn't have expected it to work -- and the patch was presumably not
> applied for that reason. This issue should not affect my patch, as I
> didn't touch the architecture requirements in
> package/protobuf/Config.in (or in anything depending on protobuf).

Right.

> >> Most notably, make sure that protobuf-c builds fine, and
> >> python-protobuf builds fine. But look at the threads for other
> >> potential issues.
> 
> I'll submit a separate patch upgrading protobuf-c to v1.1.1.

Perfect.

> With the protobuf 2.6.1 patch and my [unsubmitted] protobuf-c v1.1.1
> patch, I successfully built with this defconfig (basically
> qemu_x86_64_defconfig + protobuf and any packages using it):

[...]

Excellent, thanks for your testing. I'll wait for your protobuf-c patch
then, and apply both the protobuf and protobuf-c patches.

If some people want to look at enabling PowerPC later, they can do it
as follow-up patches.

Thanks!

Thomas
Thomas Petazzoni Nov. 4, 2015, 5:56 p.m. UTC | #5
Dear Steven Noonan,

On Wed,  4 Nov 2015 00:37:21 -0800, Steven Noonan wrote:
> Signed-off-by: Steven Noonan <steven@uplinklabs.net>
> ---
>  package/protobuf/protobuf.hash | 2 ++
>  package/protobuf/protobuf.mk   | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
>  create mode 100644 package/protobuf/protobuf.hash

Applied, thanks. We'll see what the autobuilders have to say :-)

Thomas
Thomas Petazzoni Nov. 8, 2015, 3:49 p.m. UTC | #6
Dear Steven Noonan,

On Wed,  4 Nov 2015 00:37:21 -0800, Steven Noonan wrote:
> Signed-off-by: Steven Noonan <steven@uplinklabs.net>
> ---
>  package/protobuf/protobuf.hash | 2 ++
>  package/protobuf/protobuf.mk   | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
>  create mode 100644 package/protobuf/protobuf.hash

This is breaking the build of python-protobuf:
http://autobuild.buildroot.net/results/16e/16e8c41f3b6627ecee96fcf5ab3b22f1b7513ba4/build-end.log.

The problem is that python-protobuf now has some additional
dependencies, which setuptools tries to download automatically. You
probably haven't seen this on your machine because it automatically
downloads the needed dependencies. It appears on the autobuilders
because https:// downloads fail.

This should be fixed by:

 1/ Ensuring that setuptools does not download dependencies
    automatically

 2/ Packaging the appropriate python-protobuf dependencies.

Thanks,

Thomas
Steven Noonan Nov. 8, 2015, 4:57 p.m. UTC | #7
On Sun, Nov 8, 2015 at 7:49 AM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Dear Steven Noonan,

You can just call me "Steven"...

>
> On Wed,  4 Nov 2015 00:37:21 -0800, Steven Noonan wrote:
>> Signed-off-by: Steven Noonan <steven@uplinklabs.net>
>> ---
>>  package/protobuf/protobuf.hash | 2 ++
>>  package/protobuf/protobuf.mk   | 2 +-
>>  2 files changed, 3 insertions(+), 1 deletion(-)
>>  create mode 100644 package/protobuf/protobuf.hash
>
> This is breaking the build of python-protobuf:
> http://autobuild.buildroot.net/results/16e/16e8c41f3b6627ecee96fcf5ab3b22f1b7513ba4/build-end.log.
>
> The problem is that python-protobuf now has some additional
> dependencies, which setuptools tries to download automatically. You
> probably haven't seen this on your machine because it automatically
> downloads the needed dependencies. It appears on the autobuilders
> because https:// downloads fail.

I just looked at this. Nasty. These "dependencies" are only needed at
'setup.py build' time, and not runtime. I have trouble believing it
really needs these at all. Might be able to simply gut the build-time
dependencies.

> This should be fixed by:
>
>  1/ Ensuring that setuptools does not download dependencies
>     automatically
>
>  2/ Packaging the appropriate python-protobuf dependencies.
>
> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
diff mbox

Patch

diff --git a/package/protobuf/protobuf.hash b/package/protobuf/protobuf.hash
new file mode 100644
index 0000000..78285b7
--- /dev/null
+++ b/package/protobuf/protobuf.hash
@@ -0,0 +1,2 @@ 
+# Locally calculated
+sha256 2667b7cda4a6bc8a09e5463adf3b5984e08d94e72338277affa8594d8b6e5cd1 protobuf-v2.6.1.tar.gz
diff --git a/package/protobuf/protobuf.mk b/package/protobuf/protobuf.mk
index 0426fce..144e5fb 100644
--- a/package/protobuf/protobuf.mk
+++ b/package/protobuf/protobuf.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-PROTOBUF_VERSION = v2.5.0
+PROTOBUF_VERSION = v2.6.1
 PROTOBUF_SITE = $(call github,google,protobuf,$(PROTOBUF_VERSION))
 PROTOBUF_LICENSE = BSD-3c
 PROTOBUF_LICENSE_FILES = COPYING.txt